首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >plm对lm -不同的结果?

plm对lm -不同的结果?
EN

Stack Overflow用户
提问于 2018-03-01 20:22:51
回答 1查看 6.4K关注 0票数 1

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

首先,我使用了如下的lm:

代码语言:javascript
复制
fixed.Region1 <- lm(CapNormChange ~ Policychanges + factor(Region), 
    data=Panel)

此外,我以以下方式使用plm:

代码语言:javascript
复制
fixed.Region2 <- plm(CapNormChange ~ Policychanges+ factor(Region), 
    data=Panel, index=c("Region", "Year"), model="within", effect="individual")

我认为plm有问题,因为我没有在结果中看到拦截(见下文)。此外,我不完全确定是否有必要使用+ factor (Region),但是,如果没有,我就看不到虚拟模型的系数(和意义)。

所以,我的问题是:

  1. 我使用plm功能出错了吗?(或者它有什么问题)
  2. 如果没有,结果又怎会有所不同呢?

如果有人能给我个提示,我会非常感激的。

LM的结果:

代码语言:javascript
复制
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`

巴勒斯坦解放运动的成果:

代码语言:javascript
复制
 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`
EN

回答 1

Stack Overflow用户

发布于 2018-03-01 22:39:31

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

在模型中没有拦截,但一些软件包(尤指。Stata和Gretl)第一次报告。您可以通过在您估计的模型上运行within_intercept来使用plm来估计它。“帮助”页面提供了有关这种人为拦截的详细信息。

如果您想要单个效果及其重要性,请使用summary(fixef(<your_plm_model>))。使用pFtest检查内部规范是否值得。

R平方在lm模型和plm模型之间发散。这是由于lm模型(如果与假人一起使用,通常被称为LSDV模型(最小二乘虚拟变量))给出有时称为总体R平方,而plm会给出降级回归的R平方,有时称为内R平方。Stata的文档中有一些关于以下内容的详细信息:https://www.stata.com/manuals/xtxtreg.pdf

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49058092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档