12.6 회귀모형의 통계적 관점

실습 · 연습문제 2개

leverage와 Cook's distance로 영향점 찾기 cooks-distance

선형회귀에서 관측 하나가 적합 결과를 얼마나 바꾸는지 재는 두 함수를 완성한다.

  1. leverage(X): hat 행렬 H=X(X⊤X)−1X⊤\mathbf{H} = \mathbf{X}(\mathbf{X}^\top\mathbf{X})^{-1}\mathbf{X}^\top의 대각 성분 hiih_{ii}, shape (n,). hiih_{ii}는 관측 ii의 yiy_i가 자기 적합값 y^i\hat{y}_i에 주는 가중치다. 입력 xi\mathbf{x}_i가 다른 점들에서 멀수록 크다.
  2. cooks_distance(X, y): 각 관측의 Cook's distance, shape (n,). Di=ei2p σ^2⋅hii(1−hii)2D_i = \frac{e_i^2}{p\,\hat\sigma^2}\cdot\frac{h_{ii}}{(1 - h_{ii})^2} eie_i는 최소제곱 잔차, pp는 계수의 수, σ^2=∑iei2/(n−p)\hat\sigma^2 = \sum_i e_i^2 / (n - p)다.

Cook's distance는 "관측 ii를 빼고 다시 적합하면 적합값 전체가 얼마나 움직이는가"를 한 숫자로 요약한 것이다. 위 식은 실제로 nn번 다시 적합하지 않고 같은 값을 주는 닫힌 꼴이다. 테스트가 이 사실을 확인한다.

Di=∥y^−y^(i)∥2p σ^2D_i = \frac{\lVert \hat{\mathbf{y}} - \hat{\mathbf{y}}_{(i)} \rVert^2}{p\,\hat\sigma^2}

여기서 y^(i)\hat{\mathbf{y}}_{(i)}는 관측 ii를 빼고 적합한 계수로 모든 점에서 계산한 적합값이다.

최소제곱 계수의 표준오차 ols-standard-errors

선형모형 y=Xβ+ε\mathbf{y} = \mathbf{X}\boldsymbol\beta + \boldsymbol\varepsilon, ε∼N(0,σ2I)\boldsymbol\varepsilon \sim \mathcal{N}(\mathbf{0}, \sigma^2\mathbf{I})에서

β^=(X⊤X)−1X⊤y,σ^2=∥y−Xβ^∥2n−p,Cov⁡^(β^)=σ^2(X⊤X)−1\hat{\boldsymbol\beta} = (\mathbf{X}^\top\mathbf{X})^{-1}\mathbf{X}^\top\mathbf{y}, \qquad \hat\sigma^2 = \frac{\lVert \mathbf{y} - \mathbf{X}\hat{\boldsymbol\beta} \rVert^2}{n - p}, \qquad \widehat{\operatorname{Cov}}(\hat{\boldsymbol\beta}) = \hat\sigma^2 (\mathbf{X}^\top\mathbf{X})^{-1}

이다. nn은 관측 수, pp는 X\mathbf{X}의 열 수(절편 포함)다.

ols_fit(X, y)를 완성한다. 사전 {"beta", "se", "sigma2"}를 반환한다.

  • beta: shape (p,) 계수
  • se: shape (p,) 표준오차, 즉 공분산 행렬 대각 성분의 제곱근
  • sigma2: 잔차 분산 추정값 σ^2\hat\sigma^2 (n−pn - p로 나눈다)

테스트는 손으로 풀 수 있는 예, np.linalg.lstsq와의 일치, 그리고 반복 실험에서 보고된 표준오차가 계수의 실제 퍼짐과 맞는지를 확인한다.