- 오차 분산 의 OLS 추정 , :σ2
에스2= ε^⊤ε^n - p
이것은 실제 회귀 및 Anova (21 페이지의 Julian J. Faraway의 R 사용
)에 포함되어 있습니다 .
mtcars
데이터베이스에 포함 된 여러 자동차 모델 사양에서 회귀 된 갤런 당 마일의 선형 모델을 기반으로 한 R에서의 계산 예 : ols = lm(mpg ~ disp + drat + wt, mtcars)
. 다음은 수동 계산 및 lm()
함수 출력입니다 .
> rdf = nrow(X) - ncol(X) # Residual degrees of freedom
> s.sq = as.vector((t(ols$residuals) %*% ols$residuals) / rdf)
> # s square (OLS estimate of sigma square)
> (sigma = sqrt(s.sq)) # Residual standar error
[1] 2.950507
> summary(ols)
Call:
lm(formula = mpg ~ disp + drat + wt, data = mtcars)
...
Residual standard error: 2.951 on 28 degrees of freedom
- 차이 - 추정 된 계수의 공분산 행렬 , β :β^
V a r [ β^∣ X] = σ2( X⊤엑스)− 1
이 온라인 문서의 8 페이지에서 와 같이
V 는 r^[ β^∣ X] = s2( X⊤엑스)− 1
> X = model.matrix(ols) # Model matrix X
> XtX = t(X) %*% X # X transpose X
> Sigma = solve(XtX) * s.sq # Variance - covariance matrix
> all.equal(Sigma, vcov(ols)) # Same as built-in formula
[1] TRUE
> sqrt(diag(Sigma)) # Calculated Std. Errors of coef's
(Intercept) disp drat wt
7.099791769 0.009578313 1.455050731 1.217156605
> summary(ols)[[4]][,2] # Output of lm() function
(Intercept) disp drat wt
7.099791769 0.009578313 1.455050731 1.217156605