1

我想对面板数据使用 Heckman 选择模型。我用谷歌搜索,似乎 Stata 中的 gllamm 能够做到这一点。

但是,我找不到有关如何使用它的适当教程。我尝试按照Sophia Rabe-Hesketh 的方法进行操作,但无法理解这些步骤。

我目前仅限于横截面数据。它应该相当于Stata中的内置heckman命令。那是,

use http://www.stata-press.com/data/r13/womenwk
gen gotowork=1
replace gotowork=0 if wage==.
heckman wage educ age, select(gotowork=married children educ age)

但是,我很难将这些变量映射到 gllamm 教程。具体来说,在幻灯片 10 中,在 heckman 命令中有y1and 。y2但是 gllamm 中只有一个 y。如果gotoworkisy1wageis y2,如何定义这个y变量?应该是wage吗?

当我尝试执行以下步骤时,

reshape long y, i(id) j(var)

作为

reshape long wage, i(id) j(var)

我有一个错误说

variable var contains all missing values

为什么?

目前我通过执行以下步骤来解决这个问题

tab gotowork, gen(i)

我在估计步骤中遇到了另一个错误

gen married_i1 = married*i1
gen children_i1 = children*i1
gen educ_i1 = educ*i1
gen age_i1 = age*i1

gen wage_i2 = wage*i2
gen educ_i2 = educa*i2
gen age_i2 = age*i2

eq load: i1 i2 
constraint define 1 [id1_1]i1 = 1 
gllamm wage married_i1 children_i1 educ_i1 age_i1 i1 wage_i2 educ_i2 age_i2 i2, i(id) eqs(load) nocons constr(1)

错误信息:

initial values not feasible
(error occurred in ML computation)
(use trace option and check correctness of initial model)

谁能帮我解释这些错误以及如何正确地将 gllamm 用于 Heckman 选择模型?

我的最终目标是实现面板 Heckman 选择模型。是否有任何其他 STATA(或 R)包能够做到这一点?

谢谢。

4

1 回答 1

0

如果您重命名工资 y1 和 gotowork y2,这将起作用。从宽到长的重塑函数将创建新的变量 var。

于 2018-02-28T21:00:54.613 回答