首页 > 解决方案 > 用于测试来自一个面板回归的回归系数之间差异的 R 代码

问题描述

我试图比较两个不同时间段内使用的同一面板回归的两个因此,首先使用 2007-2009 年的观察结果运行我的面板回归,我得到一个我感兴趣的系数的估计值,以便与从 2010-2017 年期间应用的相同面板模型获得的相同系数的估计值进行比较。

基于R 代码来测试一个回归的回归系数之间的差异,我尝试计算似然比检验。在链接的讨论中,他们使用了一个简单的线性方程。如果我在 R 中使用与答案中描述的相同的命令,我会得到基于分布的结果,我不明白我是否以及如何解释它。

中,我做了以下事情:

linearHypothesis(reg.pannel.recession.fe, "Exp_Fri=0.311576")

其中reg.pannel.recession.fe是 2007-2009 年期间的面板回归,Exp_Fri是我要比较的回归系数,0.311576是 2010-2017 年期间的估计系数。

我使用以下结果linearHypothesis()

结果似然比检验

我该如何解释呢?我应该使用另一个函数,因为它是对象吗?非常感谢您的帮助。

标签: rpanelchi-squaredplmregression-testing

解决方案


在该示例中,您得到了 F 检验,因为如小插图中所述:

“lm”对象的方法调用默认方法,但它将默认测试更改为“F”[...]

您也可以将测试设置为 F,但只要可以从方差 - 协方差矩阵估计系数的标准误差,基本上 linearHypothesis 就可以工作,正如小插图中所说:

默认方法适用于可以通过“coef”检索系数向量和通过“vcov”检索系数-协方差矩阵的任何模型对象(否则必须明确设置参数“vcov.”)

所以使用包中的一个例子:

library(plm)

data(Grunfeld)
wi <- plm(inv ~ value + capital,
data = Grunfeld, model = "within", effect = "twoways")

linearHypothesis(wi,"capital=0.3",test="F")
Linear hypothesis test

Hypothesis:
capital = 0.3

Model 1: restricted model
Model 2: inv ~ value + capital

  Res.Df Df      F  Pr(>F)  
1    170                    
2    169  1 6.4986 0.01169 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

linearHypothesis(wi,"capital=0.3")
Linear hypothesis test

Hypothesis:
capital = 0.3

Model 1: restricted model
Model 2: inv ~ value + capital

  Res.Df Df  Chisq Pr(>Chisq)  
1    170                       
2    169  1 6.4986     0.0108 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

您还可以使用 t.test:

tested_value = 0.3
BETA = coefficients(wi)["capital"]
SE = coefficients(summary(wi))["capital",2]
tstat =  (BETA- tested_value)/SE
pvalue = as.numeric(2*pt(-tstat,wi$df.residual))
pvalue
[1] 0.01168515

推荐阅读