R (plm) 和 Stata (xtreg) 中的固定效应模型之间的差异

机器算法验证 r 面板数据 状态 固定效应模型 plm
2022-03-26 17:14:45

我正在尝试使用package重新创建使用Statafunction xtreg(尽管我没有代码)完成的分析,并且在两者之间进行转换时遇到了麻烦。我试图估计的模型的一个最小示例如下:Rplm

Dependenti,t=β0+γi+δt+β1Dependenti,t1+β2Independenti,t+ϵi,t

在哪里γi是对横截面因子(状态)的控制,δt是每个时间段(年)的控制,Dependenti,t是比例形式的因变量,并且Independenti,t是记录的一个属性,它随数据的横截面和时间分量而变化。

我尝试使用R以下(通用)代码来估计模型的系数:

model <- plm(Dependent_it ~ Independent_it + lag(Dependent_it,1), 
             data   = data, 
             method = "within", #fixed effects model
             effect = "twoway", #does the gamma_i and delta_t parts (I think)
             index  = c("State", "Year")
             )

我尝试Stata使用以下方法重新创建它(当然在运行xtset State Year, yearly之后)

xtreg Dependent Independent l.Dependent i.Year, fe

xtreg我得到了不同的结果,所以我必须在其中一个或两个方面都做错plm了。有人能告诉我我是否用任何一种语言适当地编码了上述模型吗?

1个回答

欢迎来到该网站,@gwatson!设置effect = "twoways"“个人”和“年份”效果是对的。

我用包中的Produc数据进行了测试,发现主要结果是相同的(参见下面的代码和输出)。我发现的唯一明显差异是效果,这是由对比引起的(以第一年为参考,而直接估计每年的效果)。Rplmyearxtregplm

## R code
data("Produc", package = "plm")
zz <- plm(gsp ~ unemp + lag(gsp), data = Produc, index = c("state","year"), method = "within", effect = "twoways")
summary(zz)

## plm output
Coefficients :
            Estimate  Std. Error  t-value  Pr(>|t|)    
unemp    -5.4525e+02  6.8611e+01  -7.9469 7.614e-15 ***
lag(gsp)  1.0125e+00  9.1789e-03 110.3029 < 2.2e-16 ***


## Stata code
use Produc, clear
xtset state year, yearly
xtreg gsp unemp l.gsp i.year, fe

## xtreg output
------------------------------------------------------------------------------
         gsp |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
       unemp |   -545.246   68.61136    -7.95   0.000    -679.9537   -410.5383
      gsp L1.|   1.012464   .0091789   110.30   0.000     .9944422    1.030485
-------------+----------------------------------------------------------------