дисперсия линейной панельной модели первой разницы в R и Stata

Я хотел бы, чтобы мой коллега воспроизвел модель линейных панельных данных первого различия, которую я оцениваю с помощью Stata, с пакетом plm в R (или другом пакете).

В Stata у xtreg нет первого варианта отличия, поэтому вместо этого я запускаю:

reg D.(y x), nocons cluster(ID)

В R я делаю:

plm(formula = y ~ -1 + x, data = data, model = "fd", index = c("ID","Period"))

Коэффициенты совпадают, но стандартные ошибки в R больше, чем в Stata. Я просмотрел plm справку и документацию в формате pdf, но мне что-то не хватает.


person Dimitriy V. Masterov    schedule 26.09.2013    source источник


Ответы (1)


Стандартные ошибки отличаются, потому что вы используете параметр cluster в Stata.

R:

data(Grunfeld)
library(plm)
grun.re <- plm(inv~-1+value+capital,data=Grunfeld,model="fd")
> summary(grun.re)
Oneway (individual) effect First-Difference Model

Call:
plm(formula = inv ~ -1 + value + capital, data = Grunfeld, model = "fd")

Balanced Panel: n=10, T=20, N=200

Residuals :
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
-202.00  -15.20   -1.76   -1.39    7.95  199.00 

Coefficients :
         Estimate Std. Error t-value  Pr(>|t|)    
value   0.0890628  0.0082341  10.816 < 2.2e-16 ***
capital 0.2786940  0.0471564   5.910  1.58e-08 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Статистика

 reg D.(inv value capital), nocons

      Source |       SS       df       MS              Number of obs =     190
-------------+------------------------------           F(  2,   188) =   70.58
       Model |   259740.92     2   129870.46           Prob > F      =  0.0000
    Residual |  345936.615   188  1840.08838           R-squared     =  0.4288
-------------+------------------------------           Adj R-squared =  0.4228
       Total |  605677.536   190   3187.7765           Root MSE      =  42.896

------------------------------------------------------------------------------
       D.inv |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
       value |
         D1. |   .0890628   .0082341    10.82   0.000     .0728197    .1053059
             |
     capital |
         D1. |    .278694   .0471564     5.91   0.000     .1856703    .3717177

Если вы хотите группировать по группе, вот решение:

R:

library(lmtest) # for coeftest function
coeftest(grun.re,vcov=vcovHC(grun.re,type="HC0",cluster="group"))

t test of coefficients:

        Estimate Std. Error t value  Pr(>|t|)    
value   0.089063   0.013728  6.4878 7.512e-10 ***
capital 0.278694   0.130954  2.1282   0.03462 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Статистика:

. reg D.(inv value capital), nocons cluster(firm)

Linear regression                                      Number of obs =     190
                                                       F(  2,     9) =   47.80
                                                       Prob > F      =  0.0000
                                                       R-squared     =  0.4288
                                                       Root MSE      =  42.896

                                  (Std. Err. adjusted for 10 clusters in firm)
------------------------------------------------------------------------------
             |               Robust
       D.inv |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
       value |
         D1. |   .0890628   .0145088     6.14   0.000     .0562416    .1218841
             |
     capital |
         D1. |    .278694    .138404     2.01   0.075    -.0343976    .5917857
------------------------------------------------------------------------------

Вы можете видеть небольшую разницу. Подробнее о R см. В руководстве по plm стр. 39, а также в здесь плюс здесь

person Metrics    schedule 27.09.2013
comment
Спасибо. Я должен был понять, что plm просто запускает OLS для разностных данных без корректировки структуры панели. Есть ли способ получить кластер по идентификатору (или что-то более подходящее)? - person Dimitriy V. Masterov; 27.09.2013
comment
Я обновил ответ. Но есть небольшая разница. Вы можете проверить ссылки. - person Metrics; 27.09.2013
comment
Это все еще на plm manual странице 39? Или это раздел про vcovHC Robust Covariance Matrix Estimators на странице 65 (версия 1.4-0)? Спасибо - person Konstantinos; 27.04.2014