oaxaca-blinder在stata命令
时间: 2023-05-14 08:01:49 浏览: 314
oaxaca-blinder是一种经济学模型,可以用来解释两个群体的收入差异。在stata命令中,oaxaca-blinder命令会利用回归模型来估计两组人员之间的平均收入差异,并将其分解为两组人员自身特征与市场因素对收入的影响贡献。
具体来说,oaxaca-blinder命令要求用户提供两个数据集,一个包含第一组人员的收入和自身特征,另一个包含第二组人员的收入和自身特征。这些特征可能包括年龄、性别、种族、教育水平等因素。
oaxaca-blinder命令会运用回归模型来估计不同因素对两组人员收入差异的影响,这可以通过分析平均收入和自身特征之间的关系来实现。这个命令还可以在分解收入差异时,考虑不同自身特征因素对收入的影响力,比如,不同性别、年龄、族群等的影响。
总之,oaxaca-blinder命令可以为经济学家提供分析和解释两个群体收入差异的工具,同时也可以为决策者提供有关如何减少收入差异的建议。
相关问题
Blinder-Oaxaca分解 stata代码
Blinder-Oaxaca分解是一种经济学统计分析方法,用于探究工资差距中性别歧视的部分和非歧视部分,通常在研究中用于确定哪些因素造成了工资差异。Stata是一款流行的统计软件,提供了一系列内置函数和命令来执行此类分解。
在Stata中,你可以使用`regress`命令进行线性回归,并结合`by`子句对数据集进行分组处理,然后利用` margins` 和 `hettest` 或 `forvalues` 循环来进行Blinder-Oaxaca分解。以下是基本步骤:
1. **加载数据并运行基础回归**:
```
use your_data.dta
reg wage gender education years_of_experience
```
这里假设`wage`是工资变量,`gender`是性别变量,其他变量代表教育程度和工作年限。
2. **Blinder-Oaxaca分解**:
- 计算男性和女性的平均值:
```
by gender, egen(mean_wage = mean(wage), mean_other_factors = rowmean(education years_of_experience))
```
- 创建虚拟变量表示性别差异:
```
gen female_diff = (gender == "female")*1
```
- 对每个组分别运行回归并计算残差:
```
foreach i in mean_wage mean_other_factors {
quietly regress wage i' if gender == "male"
local male_coef = e(b)
quietly regress wage i' if gender == "female"
local female_coef = e(b)
// 接下来可以计算性别效应和结构效应
}
```
3. **性别效应(Selection Effect)**:
- 性别效应等于男性和女性回归系数之差:
```
gen selection_effect = male_coef - 结构效应(Efficiency Wage)则需要手动计算:
4. **异方差检验**:
```
hettest resid_regress_wage, by(gender) robust
```
记得根据实际数据调整上述代码。
阅读全文
相关推荐



















