선형 회귀 분석에서 오차의 분산 공분산 행렬


12

통계 분석 패키지에 의해 실제로 var / cov 에러 매트릭스는 어떻게 계산됩니까?

이 아이디어는 이론상 분명하다. 그러나 실제로는 아닙니다. I는 확률 변수의 벡터가있는 경우 I는 평균 엑스=(엑스1,엑스2,,엑스) , 본인은 분산 / 공분산 행렬 일탈로부터 -의 외부 제품 설명한다 -평균 벡터 : .ΣΣ=이자형[(엑스이자형(엑스))(엑스이자형(엑스))]

그러나 표본이 있으면 관측치의 오차가 임의 변수가 아닙니다. 또는 더 낫습니다.하지만 동일한 모집단에서 동일한 샘플을 여러 개 채취 한 경우에만 가능합니다. 그렇지 않으면, 그들은 주어집니다. 다시 한 번, 제 질문은 통계 패키지가 어떻게 연구원이 제공 한 관찰 목록 (예 : 샘플)에서 var / cov 행렬을 생성 할 수 있습니까?


관측치의 오차는 랜덤 변수 (y)의 함수이므로 그 자체가 랜덤입니다. X에서만 조건부로 제공되지 않습니다.
user603

1
네, 전적으로 동의합니다. 그러나 당신이 말하는 것은 이론적으로 작동합니다. 예를 들어 같은 모집단에서 동일한 크기의 무작위 표본 100 개를 추출하면 각 관측 오류는 (0, sigma ^ 2)의 임의 변수가됩니다. 대신 하나의 샘플 만 그리면 어떻게됩니까? 이 경우 각 관측치의 오차 평균은 오차 자체입니다. 내가 말하고있는 것이 분명합니까? 내가 이해하려고하는 것은 Stata와 같은 패키지가 모집단에서 추출한 하나의 샘플 만 사용하여 분산 공분산 행렬을 어떻게 계산합니까?
리카르도

답변:


7

유형의 모델에 대한 공분산 행렬 보통 계산 등 ( X t X ) - 1 σ 2와이=엑스β+ϵ σ(2), 제곱의 합 잔류σ2=ΣI(YI-X β )(2)(D)는자유도 (통상 관찰의 수를 뺀 파라미터의 수)이다.

(엑스엑스)1σ2
σ2σ2=나는(와이나는엑스나는β^)2

강력하고 클러스터 된 표준 오류의 경우 제품 가 약간 수정됩니다. 공분산 행렬을 계산하는 다른 방법이있을 수도 있습니다 (예 : 외부 제품의 기대에서 제안한대로).엑스엑스


3
  1. 오차 분산OLS 추정 , :σ2

에스2=ε^ε^

이것은 실제 회귀 및 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
  1. 차이 - 추정 된 계수의 공분산 행렬 , β :β^

V아르 자형[β^엑스]=σ2(엑스엑스)1

이 온라인 문서의 8 페이지에서 와 같이

V아르 자형^[β^엑스]=에스2(엑스엑스)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 

2

와이=β엑스+ε와이엑스β엑스와이


안녕 Rajiv, 정정 주셔서 감사합니다. 따라서 Y (및 엡실론)에서 시작하여 Stata (또는 다른 통계 패키지)가 분산 공분산 행렬 시그마를 도출하는 방법을 설명 할 수 있습니까?
리카르도

계산함으로써이자형^이자형^'

user603에 동의하십시오. cran.r-project.org/doc/contrib/Faraway-PRA.pdf의 21 페이지를 확인하십시오 . 이것은 R에 기초하지만 선형 회귀의 이론에 대한 좋은 토론을 포함합니다.
Rajiv Sambasivan 2016 년

안녕 둘 다, 먼저 감사합니다. 나는 또한 user603에 동의 하며이 답변을 기대하고있었습니다. 그러나 var / cov 행렬이 오류 벡터의 외부 곱을 계산하여 계산하면 독립성 가설이 암시하는 것처럼 대부분의 경우 오류 구성 요소 중 cov가 0이 아닙니다. 권리? 이것이 내 의심의 중심이다. Rajiv, 나는 당신이 제안한 좋은 가이드를 보았지만 답을 찾을 수 없었습니다. 향후 회신에 미리 감사드립니다.
리카르도
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.