我有一个平衡的面板数据集 df ,它基本上包含三个变量, A , B 和 Y < / em>,随着时间的推移,对于一堆唯一标识的区域而言会有所不同。我想进行回归,包括区域(下面的等式中的区域)和时间(年)的固定效应。如果我没弄错的话,我可以通过不同的方式实现这一目标:
lm(Y ~ A + B + factor(region) + factor(year), data = df)
或
library(plm)
plm(Y ~ A + B,
data = df, index = c('region', 'year'), model = 'within',
effect = 'twoways')
在第二个等式中,我指定了索引( region 和 year ),模型类型('within',FE)和FE的性质('twoways' ,这意味着我包括区域和时间FE)。
尽管我似乎正确地做事,但我的结果却截然不同。当我不考虑时间固定效果时,问题就消失了 - 并使用参数 effect ='individual'。 这是什么交易?我错过了什么吗?是否有其他R包可以运行相同的分析?
答案 0 :(得分:7)
也许发布您的数据示例有助于回答这个问题。对于某些组成的数据,我得到相同的系数。您还可以使用包felm
中的lfe
执行相同的操作:
N <- 10000
df <- data.frame(a = rnorm(N), b = rnorm(N),
region = rep(1:100, each = 100), year = rep(1:100, 100))
df$y <- 2 * df$a - 1.5 * df$b + rnorm(N)
model.a <- lm(y ~ a + b + factor(year) + factor(region), data = df)
summary(model.a)
# (Intercept) -0.0522691 0.1422052 -0.368 0.7132
# a 1.9982165 0.0101501 196.866 <2e-16 ***
# b -1.4787359 0.0101666 -145.450 <2e-16 ***
library(plm)
pdf <- pdata.frame(df, index = c("region", "year"))
model.b <- plm(y ~ a + b, data = pdf, model = "within", effect = "twoways")
summary(model.b)
# Coefficients :
# Estimate Std. Error t-value Pr(>|t|)
# a 1.998217 0.010150 196.87 < 2.2e-16 ***
# b -1.478736 0.010167 -145.45 < 2.2e-16 ***
library(lfe)
model.c <- felm(y ~ a + b | factor(region) + factor(year), data = df)
summary(model.c)
# Coefficients:
# Estimate Std. Error t value Pr(>|t|)
# a 1.99822 0.01015 196.9 <2e-16 ***
# b -1.47874 0.01017 -145.4 <2e-16 ***
答案 1 :(得分:0)
这似乎不是数据问题。
我在Wooldridge(2012)计量经济学的计算机练习中做过计算机练习。具体而言,第14章CE.1(数据是租赁文件:https://www.cengage.com/cgi-wadsworth/course_products_wp.pl?fid=M20b&product_isbn_issn=9781111531041)
我在差异中计算了模型(在Python中)
==============================================================================
Dep. Variable: diff_lrent R-squared: 0.322
Model: OLS Adj. R-squared: 0.288
Method: Least Squares F-statistic: 9.510
Date: Sun, 05 Nov 2017 Prob (F-statistic): 3.14e-05
Time: 00:46:55 Log-Likelihood: 65.272
No. Observations: 64 AIC: -122.5
Df Residuals: 60 BIC: -113.9
Df Model: 3
Covariance Type: nonrobust
================================================================================
coef std err t P>|t| [0.025 0.975]
--------------------------------------------------------------------------------
Intercept 0.3855 0.037 10.469 0.000 0.312 0.459
diff_lpop 0.0722 0.088 0.818 0.417 -0.104 0.249
diff_lavginc 0.3100 0.066 4.663 0.000 0.177 0.443
diff_pctstu 0.0112 0.004 2.711 0.009 0.003 0.019
==============================================================================
Omnibus: 2.653 Durbin-Watson: 1.655
Prob(Omnibus): 0.265 Jarque-Bera (JB): 2.335
Skew: 0.467 Prob(JB): 0.311
Kurtosis: 2.934 Cond. No. 23.0
==============================================================================
OLS回归结果
(iv) Estimate the model by fixed effects to verify that you get identical estimates and standard errors to those in part (iii).
现在,R中的PLM包为第一个差异模型提供了相同的结果:
library(plm)modelfd&lt; - plm(lrent~lpop + lavginc + pctstu, data = data,model =&#34; fd&#34;)
到目前为止没问题。但是,固定效应会报告不同的估计值。
modelfx&lt; - plm(lrent~lpop + lavginc + pctstu,data = data,model = &#34;在&#34;,效果=&#34;时间&#34;)摘要(modelfx)
FE结果应该没有任何不同。事实上,计算机练习的问题是:
jQuery('#wpfront-notification-bar > table').replaceWith( jQuery('#wpfront-notification-bar > table').html()
.replace(/<tbody/gi, "<div id='table'")
.replace(/<tr/gi, "<div")
.replace(/<\/tr>/gi, "</div>")
.replace(/<td/gi, "<span")
.replace(/<\/td>/gi, "</span>")
.replace(/<\/tbody/gi, "<\/div")
);
我最好的客人是我很想理解R包装上的东西。