r - 用于测试来自一个面板回归的回归系数之间差异的 R 代码
问题描述
我试图比较两个不同时间段内使用的同一面板回归的两个回归系数,以确认差异的统计显着性。因此,首先使用 2007-2009 年的观察结果运行我的面板回归,我得到一个我感兴趣的系数的估计值,以便与从 2010-2017 年期间应用的相同面板模型获得的相同系数的估计值进行比较。
基于R 代码来测试一个回归的回归系数之间的差异,我尝试计算似然比检验。在链接的讨论中,他们使用了一个简单的线性方程。如果我在 R 中使用与答案中描述的相同的命令,我会得到基于卡方分布的结果,我不明白我是否以及如何解释它。
在r中,我做了以下事情:
linearHypothesis(reg.pannel.recession.fe, "Exp_Fri=0.311576")
其中reg.pannel.recession.fe
是 2007-2009 年期间的面板回归,Exp_Fri
是我要比较的回归系数,0.311576
是 2010-2017 年期间的估计系数。
我使用以下结果linearHypothesis()
:
我该如何解释呢?我应该使用另一个函数,因为它是plm对象吗?非常感谢您的帮助。
解决方案
在该示例中,您得到了 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
推荐阅读
- google-sheets - 谷歌表格,总结一个公式?
- java - 在 libGDX 中移动玩家时,附加到玩家的 BroadSword 会向前跳 2 个像素
- python - 如何修复 ValueError:分类指标无法处理二进制和连续目标的混合以获得 F1_score
- android - 为什么我的寻呼机适配器不显示任何内容?
- locust - 蝗虫-如何传递不同的主机地址
- batch-file - 有没有办法从批处理文件中制作混淆的批处理文件?
- opengl - 顶点缓冲区绑定索引和统一缓冲区绑定点?
- python - 为什么我的程序会被评论干扰?
- amazon-web-services - AWS CDK:将 SecurityGroup 构造与 CfnVpc 一起使用?
- excel - Google 表格相当于对转置进行排序但适用于 Excel?还是替代方案?