【问题标题】:plm vs lm - different results?plm vs lm - 不同的结果?
【发布时间】:2018-03-01 20:22:51
【问题描述】:

我多次尝试使用 lm 和 plm 进行回归。我得到不同的结果。

首先,我使用lm如下:

fixed.Region1 <- lm(CapNormChange ~ Policychanges + factor(Region), 
    data=Panel)

我还以下列方式使用了 plm:

fixed.Region2 <- plm(CapNormChange ~ Policychanges+ factor(Region), 
    data=Panel, index=c("Region", "Year"), model="within", effect="individual")

我认为 plm 有问题,因为我在结果中看不到截距(见下文)。 此外,我不完全确定 + factor (Region) 是否是必要的,但是,如果它不存在,我看不到假人的系数(和重要性)。

所以,我的问题是:

  1. 我用错了plm函数? (或有什么问题)
  2. 如果不是,结果怎么会不一样?

如果有人能给我一个提示,我将不胜感激。

LM 的结果:

Call:
lm(formula = CapNormChange ~ Policychanges + factor(Region), 
    data = Panel)

Residuals:
    Min      1Q  Median      3Q     Max 
-31.141  -4.856  -0.642   1.262 192.803 

Coefficients:
                                Estimate Std. Error t value Pr(>|t|)    
(Intercept)                      17.3488     4.9134   3.531 0.000558 ***
Policychanges                     0.6412     0.1215   5.277 4.77e-07 ***
factor(Region)Asia              -19.3377     6.7804  -2.852 0.004989 ** 
factor(Region)C America + Carib   0.1147     6.8049   0.017 0.986578    
factor(Region)Eurasia           -17.6476     6.8294  -2.584 0.010767 *  
factor(Region)Europe            -20.7759     8.8993  -2.335 0.020959 *  
factor(Region)Middle East       -17.3348     6.8285  -2.539 0.012200 *  
factor(Region)N America         -17.5932     6.8064  -2.585 0.010745 *  
factor(Region)Oceania           -14.0440     6.8417  -2.053 0.041925 *  
factor(Region)S America         -14.3580     6.7781  -2.118 0.035878 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 19.72 on 143 degrees of freedom
Multiple R-squared:  0.3455,    Adjusted R-squared:  0.3043 
F-statistic: 8.386 on 9 and 143 DF,  p-value: 5.444e-10`

PLM 的结果:

 Call:
plm(formula = CapNormChange ~ Policychanges, data = Panel, effect = "individual", 
    model = "within", index = c("Region", "Year"))

Balanced Panel: n = 9, T = 17, N = 153

Residuals:
     Min.   1st Qu.    Median   3rd Qu.      Max. 
-31.14147  -4.85551  -0.64177   1.26236 192.80277 

Coefficients:
              Estimate Std. Error t-value  Pr(>|t|)    
Policychanges  0.64118    0.12150   5.277 4.769e-07 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Total Sum of Squares:    66459
Residual Sum of Squares: 55627
R-Squared:      0.16299
Adj. R-Squared: 0.11031
F-statistic: 27.8465 on 1 and 143 DF, p-value: 4.7687e-07`

【问题讨论】:

  • 我实际上没有在您的问题中看到问题
  • 我现在试图让它更清楚。谢谢。
  • 我不明白你的问题。为什么您期望线性回归(又名池化 OLS)产生与固定效应面板回归相同的结果?您是在严格谈论“拦截与不拦截”的区别吗?如果是这种情况,则单个固定效应模型没有有一个截距,它有多个,因此没有这样报告。
  • 我假设由于固定效应(“个体”)与引入虚拟变量(据我所知)相同,因此结果应包括 n-1 个虚拟变量 + 截距报告,或所有虚拟变量变量。在这种情况下,PLM 函数(第二种情况)报告 n-1 个虚拟变量,但没有截距。因此,这是我不明白的。或者也许我不明白其他的东西。
  • 好的,我发现了这个问题,如果你感兴趣的话。我基本上在指数制定上有一个错误。我用

标签: r plm


【解决方案1】:

您需要在公式中省略 + factor(Region),以便使用 plm 的内部模型获得您想要的。

模型内部没有截距,但某些软件包(尤其是 Stata 和 Gretl)报告了截距。您可以通过在您估计的模型上运行 within_intercept 来使用 plm 进行估计。帮助页面上有关于这种有点人为的拦截的详细信息。

如果您想要单个效果及其意义,请使用summary(fixef(&lt;your_plm_model&gt;))。使用pFtest 检查是否符合规范。

lm 模型和 plm 模型之间的 R 平方发散。这是由于 lm 模型(如果像这样与假人一起使用,它通常被称为 LSDV 模型(最小二乘虚拟变量))给出了有时被称为整体 R 平方的值,而 plm 会给出被贬低的 R 平方回归,有时称为 R 内平方。 Stata 的文档对此有一些详细信息:https://www.stata.com/manuals/xtxtreg.pdf

【讨论】:

  • 是和否!我这样做了->查看我更新的问题。但是,R 平方和调整后仍然不同!你知道为什么吗?
  • 另外,非常感谢您的总结(fixef.code!非常有帮助
猜你喜欢
  • 2021-11-27
  • 2017-01-26
  • 1970-01-01
  • 2017-09-24
  • 1970-01-01
  • 1970-01-01
  • 2016-12-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多