![](/img/trans.png)
[英]How to run the predicted probabilities (or average marginal effects) for individuals fixed effects in panel data using R?
[英]How to get individual coefficients and residuals in panel data using fixed effects
我有一個面板數據,其中包括多年以來個人的收入,並且我對個人的收入趨勢感興趣,例如,個人多年來的收入系數以及每年每個人的殘差(根據我的模型,收入的意外變化) 。 但是,我有很多觀測值至少在一年或一年以上都缺少收入數據,因此使用線性回歸時,我失去了大部分觀測值。 數據結構如下:
caseid<-c(1,1,1,1,1,1,2,2,2,2,2,2,3,3,3,3,3,3,4,4,4,4,4,4)
years<-c(1998,2000,2002,2004,2006,2008,1998,2000,2002,2004,2006,2008,
1998,2000,2002,2004,2006,2008,1998,2000,2002,2004,2006,2008)
income<-c(1100,NA,NA,NA,NA,1300,1500,1900,2000,NA,2200,NA,
NA,NA,NA,NA,NA,NA, 2300,2500,2000,1800,NA, 1900)
df<-data.frame(caseid, years, income)
我決定使用隨機效應模型,我認為仍然可以通過使用最大似然法來預測未來幾年的收入。 但是,由於Hausman測試給出了顯着的結果,因此我決定使用固定效果模型。 我使用plm包運行以下代碼:
inc.fe<-plm(income~years, data=df, model="within", effect="individual")
但是,我只獲得數年而不是個人的系數。 而且我無法得到殘差。 為了給出一個想法,Stata中的代碼應該是
xtest caseid
xtest income year
predict resid, resid
然后,我嘗試從同一庫運行pvcm函數,該函數用於可變系數。
inc.wi<-pvcm(Income~Year, data=ldf, model="within", effect="individual")
但是,我收到以下錯誤消息:“ FUN(X [[i]],...)中的錯誤:觀察次數不足”。
如何通過解決此錯誤或使用其他功能來獲得pvcm的各個系數和殘差?
我的原始長格式數據具有202976觀察值和15年的時間。
我也非常感謝對我選擇的分析方法的任何評論或建議。 非常感謝你。
plm
軟件包中的fixef
函數是否可以為您提供所需的東西? 繼續您的示例:
fixef(inc.fe)
殘留物通過以下方式提取:
residuals(inc.fe)
您有一個具有隨機斜率和截距的隨機效應模型。 這也稱為隨機系數回歸模型。 缺少部分是棘手的部分,(我猜是這樣)您必須選擇想要的方式后才能編寫自定義代碼來解決。
但是據我所知,您還沒有明確/正確地指定模型(至少在您的問題中)。 讓我們定義一些術語:
令Y_it = in t(t = 1,...,T)中ind i(i = 1,...,N)的收入。 當我閱讀您的問題時,您尚未指定要使用的以下兩個模型中的哪個:
Y_it ~ N(\mu_i + B T + \gamma_i I T, \sigma^2)
\mu_i ~ N(\phi_0, \tau_0^2)
\gamma_i ~ N(\phi_1, tau_1^2)
Y_it ~ N(\mu_i + \gamma_i I T, \sigma^2)
\mu_i ~ N(\phi_0, \tau_0^2)
\gamma_i ~ N(\phi_1, tau_1^2)
另外,您的示例數據是無意義的(請參見下文)。 如您所見,您沒有足夠的觀測值來估計所有參數。 我不熟悉library(plm)
但是可以在lme4
輕松估算上述模型(無缺失)。 沒有實際的示例數據集,我將不會花心思提供代碼。
R> table(df$caseid, is.na(df$income))
FALSE TRUE
1 2 4
2 4 2
3 0 6
4 5 1
考慮到您確實有缺失,您應該能夠通過諸如EM之類的典型方法為這兩個層次模型生成估計值。 但我確實認為您必須自己編寫代碼來進行估算。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.