cov()
函数在计算协方差矩阵时是否考虑了模型的自由度和模型中数据点的数量。
更新:我正在尝试做一个优化过程,以最小化OLS回归的残差。通常,无偏OLS残留方差由下式给出:E(RSS / N-p-1)=σ²。其中RSS是残差平方和,N是观察数,p是系数。我正在尝试查看是否需要这样的校正才能计算协方差矩阵,如果需要,R中是否有一个函数可以做到这一点?
答案 0 :(得分:1)
使用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)