下面我们介绍三种检验组间系数差异的方法:
这里主要介绍方法2:似无相关模型(seemingly unrelated regression)在 stata 中执行步骤为:
数据准备:
复制代码
- sysuse "nlsw88.dta", clear
- gen agesq = age*age
- *-分组虚拟变量
- drop if race==3
- gen black = 2.race
- tab black
- *-删除缺漏值
- global xx "ttl_exp married south hours tenure age* i.industry"
- reg wage $xx i.race
- keep if e(sample)
- *-分组回归
- global xx "ttl_exp married south hours tenure age* i.industry"
- *-Step1: 分别针对两个样本组执行估计
- reg wage $xx if black==0
- est store w //white
- reg wage $xx if black==1
- est store b //black
- *-Step 2: SUR
- suest w b
- *-Step 3: 检验系数差异
- test [w_mean]ttl_exp = [b_mean]ttl_exp
- test [w_mean]married = [b_mean]married
- test [w_mean]south = [b_mean]south
注意:面板数据的处理方法
- suest - 不支持 -xtreg- 命令,因此无法直接将该方法直接应用于面板数据模型,如 FE 或 RE。此时,可以预先手动去除个体效应,继而对变换后的数据执行 OLS 估计,步骤如下:
- step 1: 对于固定效应模型而言,可以使用 - center - 或 - xtdata - 命令去除个体效应;对于随机效应模型而言,可以使用 - xtdata - 命令去除个体效应。
- step 2:按照截面数据的方法对处理后的数据进行分组估计,并执行 suest 估计和组间系数检验。
- *-SUEST test for panel data
- *-数据概况
- webuse "nlswork", clear
- xtset idcode year
- xtdes
- *-对核心变量执行组内去心:去除个体效应
- help center //外部命令, 下载命令为 ssc install center, replace
- local y "ln_wage"
- local x "hours tenure ttl_exp south"
- bysort id: center `y', prefix(cy_) //组内去心
- bysort id: center `x', prefix(cx_)
- *-分组回归分析
- reg cy_* cx_* i.year if collgrad==0 // 非大学组
- est store Yes
- reg cy_* cx_* i.year if collgrad==1 // 大学组
- est store No
- *-列示分组估计结果
- esttab Yes No, nogap mtitle(Yes_Coll No_Coll) ///
- star(* 0.1 ** 0.05 *** 0.01) s(r2 N)
- *-似无相关估计
- suest Yes No
- *-组间差异检验
- test [Yes_mean]cx_ttl_exp = [No_mean]cx_ttl_exp
- test [Yes_mean]cx_hours = [No_mean]cx_hours
ref: https://zhuanlan.zhihu.com/p/28502370