R中的协方差函数用于残差的协方差矩阵

问题描述

我正在R中寻找一个函数来计算OLS回归残差的协方差矩阵。我找不到cov()函数在计算协方差矩阵时是否考虑了模型的自由度和模型中数据点的数量。

更新:我正在尝试做一个优化过程,以最小化OLS回归的残差。通常,无偏OLS残留方差由下式给出:E(RSS / N-p-1)=σ²。其中RSS是残差平方和,N是观察数,p是系数。我正在尝试查看是否需要这样的校正才能计算协方差矩阵,如果需要,R中是否有一个函数可以做到这一点?

解决方法

使用vcov()函数运行回归后,可以将lm函数用于摘要对象。

下面是使用mtcars数据集的示例:

 vcov(summary(lm(mpg ~ disp + wt + cyl + carb,data = mtcars)))

            (Intercept)          disp          wt          cyl        carb
(Intercept)  8.55669203  0.0293259201 -2.08615285 -1.491482503  0.29243798
disp         0.02932592  0.0001528819 -0.00919016 -0.006308583  0.00142303
wt          -2.08615285 -0.0091901600  1.12326190  0.137990642 -0.09283828
cyl         -1.49148250 -0.0063085825  0.13799064  0.454163264 -0.10918226
carb         0.29243798  0.0014230298 -0.09283828 -0.109182256  0.12568429

这是另一种编写语法的方式:

model <- lm(mpg ~ disp + wt + cyl + carb,data = mtcars)

modelsum <- summary(model)

vcov(modelsum)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...