gpt4 book ai didi

r - vcovHC::sandwich () 和 coeftest::lmtest() 返回 NA 值

转载 作者:行者123 更新时间:2023-12-04 12:48:49 26 4
gpt4 key购买 nike

我目前正在构建一个回归模型,该模型有助于使用收入、温度等某些因素来解释销售额。在回归后检查残差图时,残差是异方差的。

为了说明异方差,我在 R 中使用了 vcovHC() 和 coeftest(),它们可用于在异方差假设下重新计算标准误差及其 p 值。但是这些函数返回 NA 值,因此所有相应的 p 值也是 NA。这个问题的原因可能是什么,我该如何解决?代码如下:

fit_p<-lm(formula = final_list_p, data = new_data_p)
s_p<-summary(fit_p)

输出

线性回归输出的汇总统计量是:
Residuals:                  
Min 1Q Median 3Q Max
-244190 -60770 -5759 59730 311108


Coefficients:
Estimate
(Intercept)
Std. Error t value Pr(>|t|)
var1 -3.36E+05 1.77E+05 -1.893 0.059026 .
var2 -2.90E+04 4.96E+03 -5.86 8.97E-09 ***
var3 -1.75E+05 8.93E+04 -1.958 0.050834 .
var4 -4.62E+00 2.80E+00 -1.653 0.098975 .
var5 2.39E+01 7.85E+00 3.04 0.002503 **
var6 -6.32E+04 1.08E+05 -0.588 0.556682
var7 -5.38E+03 3.69E+04 -0.146 0.884204
var8 6.03E+04 6.53E+04 0.923 0.356275
var9 3.33E-01 4.75E-02 7.011 8.76E-12 ***
var10 -7.94E+04 2.33E+05 -0.34 0.73381
var11 1.06E+05 1.08E+05 0.986 0.324424
var12 -1.06E+04 4.41E+03 -2.39 0.017275 *
var14 5.44E+03 8.80E+02 6.182 1.43E-09 ***
var16 9.12E+04 7.34E+04 1.242 0.21481
var18 1.78E+04 8.41E+04 0.211 0.832674
var19 -1.75E+05 1.18E+05 -1.487 0.137787
var20 4.19E+03 6.95E+02 6.023 3.58E-09 ***
var25 2.96E+00 4.82E-01 6.146 1.76E-09 ***


Residual standard error: 87850 on 447 degrees of freedom
Multiple R-squared: 0.6144, Adjusted R-squared:0.5958
F-statistic: 39.57 on 18 and 447 DF, p-value: <2.2e-16

当我检查残差图时,它们是异方差的。为了解决这个问题,使用稳健标准误差(vcovHC::sandwich)重新计算标准误差
执行 coeftest::lmtest 后的结果如下:
s_p$coefficients <- unclass(coeftest(fit_p, vcov. = vcovHC))
Estimate Std.Error t-value Pr(>|t|)
Intercept-3.36E+05 NA NA NA
var1 -2.90E+04 NA NA NA
var2 -1.75E+05 NA NA NA
var3 -4.62E+00 NA NA NA
var4 2.39E+01 NA NA NA
var5 -6.32E+04 NA NA NA
var6 -5.38E+03 NA NA NA
var7 6.03E+04 NA NA NA
var8 3.33E-01 NA NA NA
var9 -7.94E+04 NA NA NA
var10 1.06E+05 NA NA NA
var11 -1.06E+04 NA NA NA
var12 5.44E+03 NA NA NA
var14 9.12E+04 NA NA NA
var16 1.78E+04 NA NA NA
var18 -1.75E+05 NA NA NA
var19 4.19E+03 NA NA NA
var20 2.96E+00 NA NA NA
var25 3.29E+03 NA NA NA

最佳答案

您应该指定一种 vcovHC。例如:

coeftest(fit_p,vcov.=vcovHC(fit_p,type="HC1"))

这个特殊的变体给出了与 Eviews 相同的结果。

关于r - vcovHC::sandwich () 和 coeftest::lmtest() 返回 NA 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33351883/

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