如何参考回归模型的系数标准误?

机器算法验证 r 回归系数
2022-03-17 04:15:42
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  10.2758     0.5185  19.817  < 2e-16 ***
rprice2      -1.8581     0.5139  -3.616 0.000696 ***

我想使用标准。rprice2 进行其他计算时出错。我知道要引用模型中的任何对象,我使用语法 model$object,但是引用 std 错误的语法是什么?

4个回答

通常,您需要vcov提供完整参数协方差矩阵的函数。要获得summary您报告的常规渐近标准错误,可以使用

se <- sqrt(diag(vcov(model)))

顺便说一句,您希望 的非对角线vcov(model)得到交互项的边际效应:请参阅Brambor 等人。(2006 年)

还要注意像三明治这样的包,它们专门用于构建不同类型的标准错误,例如对各种类型的违规行为“鲁棒”的包。

要在不执行任何其他计算的情况下提取,同时使用 object$model 语法:

summary(model)$coefficients["rprice2","Std. Error"]

据我了解,您想在 R 中执行此操作:

f <- lm(speed~dist, data=cars)
coef(f)
confint(f)
sd = sqrt(diag(vcov(f)))
cbind("2.5 %"=-sd*1.96+coef(f),"97.5 %"=sd*1.96+coef(f))

给出:

> coef(f)
(Intercept)        dist 
  8.2839056   0.1655676 
> confint(f)
                2.5 %     97.5 %
(Intercept) 6.5258378 10.0419735
dist        0.1303926  0.2007426
> cbind("2.5 %"=-sd*1.96+coef(f),"97.5 %"=sd*1.96+coef(f))
                2.5 %    97.5 %
(Intercept) 6.5701120 9.9976992
dist        0.1312784 0.1998568

要获得具有线性回归结果的矩阵:

> coef(summary(f))

要从矩阵中提取特定值:

> coef(summary(f))["rprice2","Std. Error"]
[1] 0.5139