我想爲面板數據使用Heckman選擇模型。我搜索了一下,看起來Stata的gllamm能夠做到這一點。在面板設置中使用gllamm作爲Heckman選擇模型
但是,我找不到如何使用它的適當教程。我試圖按照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命令中有y1
和y2
。但是在gllamm中只有一個y。如果gotowork
是y1
和wage
是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 for Heckman選擇模型?
我的最終目標是實現面板Heckman選擇模型。有沒有其他的STATA(或R)包能夠做到這一點?
謝謝。
你看過幻燈片12的底部了嗎?那裏的STATA代碼告訴你,當你對數據進行整形時,如果'y = y1'時var = 1,'y = y2'時var = 2。假設'y2'是'wage','y1'是'gotowork',你的'y'列最終應該保持'wage'和'gotowork'的*實際值*,而你的'var'列將保存如果該行的值爲'gotowork',則爲'1';如果該行的值爲'工資',則爲'2'。 – meenaparam
該鏈接僅適用於單個演示文稿。整個網站www.gllamm.org有許多資源,並列出了其他幾個資源,包括書籍。 –