2017-07-14 43 views
1

我想爲面板數據使用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命令中有y1y2。但是在gllamm中只有一個y。如果gotoworky1wagey2,如何定義這個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)包能夠做到這一點?

謝謝。

+1

你看過幻燈片12的底部了嗎?那裏的STATA代碼告訴你,當你對數據進行整形時,如果'y = y1'時var = 1,'y = y2'時var = 2。假設'y2'是'wage','y1'是'gotowork',你的'y'列最終應該保持'wage'和'gotowork'的*實際值*,而你的'var'列將保存如果該行的值爲'gotowork',則爲'1';如果該行的值爲'工資',則爲'2'。 – meenaparam

+0

該鏈接僅適用於單個演示文稿。整個網站www.gllamm.org有許多資源,並列出了其他幾個資源,包括書籍。 –

回答

0

如果您重新命名工資y1和gotowork y2,這將工作。從寬到長的重塑函數將創建新的變量var。

相關問題