gpt4 book ai didi

r - 如何针对某些特定值对面板数据回归系数执行联合 Wald 检验?

转载 作者:行者123 更新时间:2023-11-28 20:48:38 30 4
gpt4 key购买 nike

我想对我的固定效应回归系数进行简单的联合 Wald 检验,但我想将限制设置为非零值。更具体地说,我想测试:H0: ai=0 and b=1 for every i或者基本上,是否从固定效应模型 (ai) 中提取截距(我知道固定效应模型中没有截距,但您仍然可以通过 fixef() 命令提取它们,如果固定效应模型是,它们应该接近于零正确的模型)对于每个 i 都等于零,并且我的系数 (bi) 等于 1。

这是我的:

library(plm)


form <- R_excess ~ I(beta_MKT_RF*MKT_RF) + I(beta_HML*HML) + I(beta_SMB*SMB)
reg1 <- plm(form, data=nlspd, model="within")

summary(reg1, vcov =function(x) vcovSCC(x, type="HC3", maxlag=12))

这是输出,你可以看到我的系数都接近 1:

Call:
plm(formula = form, data = nlspd, model = "within")

Balanced Panel: n = 10, T = 624, N = 6240

Residuals:
Min. 1st Qu. Median 3rd Qu. Max.
-7.8706e-02 -9.0319e-03 3.8278e-05 8.9624e-03 1.1349e-01

Coefficients:
Estimate Std. Error t-value Pr(>|t|)
I(beta_MKT_RF * MKT_RF) 1.0023818 0.0072942 137.422 < 2.2e-16 ***
I(beta_HML * HML) 0.9985867 0.0527123 18.944 < 2.2e-16 ***
I(beta_SMB * SMB) 0.9731437 0.0355880 27.345 < 2.2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Total Sum of Squares: 18.067
Residual Sum of Squares: 1.5037
R-Squared: 0.91677
Adj. R-Squared: 0.91661
F-statistic: 7808.71 on 3 and 623 DF, p-value: < 2.22e-16

我还可以使用以下方法获得固定效果截距 ai:

summary(fixef(reg1), vcov =function(x) vcovSCC(x, type="HC3", maxlag=12))
Estimate Std. Error t-value Pr(>|t|)
1 0.00127680 0.00062245 2.0512 0.040285 *
2 0.00136923 0.00062251 2.1995 0.027877 *
3 0.00104805 0.00062246 1.6837 0.092283 .
4 0.00132979 0.00062259 2.1359 0.032727 *
5 -0.00061048 0.00062252 -0.9807 0.326795
6 0.00085262 0.00062247 1.3697 0.170816
7 -0.00104724 0.00062250 -1.6823 0.092557 .
8 -0.00089731 0.00062275 -1.4409 0.149672
9 -0.00174805 0.00062292 -2.8062 0.005028 **
10 -0.00271173 0.00062343 -4.3497 1.385e-05 ***

现在我想对这些系数进行联合 wald 检验,以检验是否对于每个 i:H0:ai =0 和 b=1。

编辑:这与固定效应的 F 检验不同,因为我是针对非零假设进行检验。

最佳答案

The question @Helix123 在评论中提到的并没有完全按照您的需要进行(也不是关于测试所有系数是否为零),但它是相关的。特别是,如果您只想检验固定效应是否为零,您可以在那里找到答案。

但是,在您的情况下,除了关于固定效应的假设之外,我们还检验是否所有 其他系数都采用某个非零 值。这就是它产生问题的原因。

如果您想测试 I(beta_HML * HML) 的系数为零,则提供给 pFtest 的受限模型(请参阅已接受的答案链接的问题)将是 reg2

form <- R_excess ~ -1 + I(beta_MKT_RF * MKT_RF) + I(beta_SMB * SMB)
reg2 <- plm(form, data = nlspd, model = "pooling") # Note "pooling", which sets fixed effects to zero

如果你想测试这个变量的系数是否为1,那么你可以在

中使用 reg3
form <- R_excess - I(beta_HML * HML) ~ -1 + I(beta_MKT_RF * MKT_RF) + I(beta_SMB * SMB)
reg3 <- plm(form, data = nlspd, model = "pooling") # Note "pooling", which sets fixed effects to zero

由于您的假设是关于所有三个剩余系数的,因此我们实际上不会对右侧进行任何估计。碰巧 plm 不喜欢那样并抛出 empty model 错误。

如果我们使用 lm,还有另一个选项可以使用,比如说,在公式中使用 offset(beta_MKT_RF * MKT_RF),这会将系数固定为 1而且不会被估计。但是,plm 不允许偏移

也就是说,似乎更简单的选择是使用 lm,正如链接问题中所建议的那样。特别是,

data("Produc", package = "plm")
mU <- lm(log(gsp) ~ -1 + log(emp) + factor(state), data = Produc)
mR <- lm(log(gsp) ~ -1 + offset(log(emp)), data = Produc)
library(lmtest)
lrtest(mR, mU)
# Likelihood ratio test
#
# Model 1: log(gsp) ~ -1 + offset(log(emp))
# Model 2: log(gsp) ~ -1 + log(emp) + factor(state)
# #Df LogLik Df Chisq Pr(>Chisq)
# 1 1 -2187.9
# 2 50 1467.3 49 7310.4 < 2.2e-16 ***
# ---
# Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

因此 mU 包含固定效应并不受限制地估计 log(emp) 的影响,而 mR 不包含固定效应并固定log(emp) 的效果为 1。

你没有提供你的数据,但应该接近

mU <- lm(R_excess ~ -1 + I(beta_MKT_RF * MKT_RF) + I(beta_HML * HML) +
I(beta_SMB * SMB) + factor(var), data = nlspd)
mR <- lm(R_excess ~ -1 + offset(beta_MKT_RF * MKT_RF) + offset(beta_HML * HML) +
offset(beta_SMB * SMB), data = nlspd)
lrtest(mR, mU)

其中 var 是横截面尺寸变量。

关于r - 如何针对某些特定值对面板数据回归系数执行联合 Wald 检验?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55678466/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com