Checks for Isolated Departure — 레버리지·일관성·영향력의 세 측도 (McCullagh §12.7)

Fig.12.3 세 유형·\(h_i\)·\(r_i^*\)·Cook \(D_i = r_i^{\prime 2} h_i / \{p(1-h_i)\}\)·Atkinson \(C_i\)·시뮬레이션 envelope

McCullagh & Nelder (1989) §12.7 을 심화한다. 개별 이상점은 세 독립적 측도로 분석된다 — 레버리지 \(h_i\) (공변량 공간에서의 특이성), 일관성 (삭제잔차 \(r_i^*\)), 영향력 (Cook \(D_i\)). Fig.12.3 의 세 구성(a,b,c)이 레버리지 × 일관성 평면의 네 사분면과 어떻게 대응하는지 보이고, \(D_i = r_i^{\prime 2} h_i / \{p(1-h_i)\}\) 공식이 두 측도의 곱으로 분해되는 이유를 증명한다. Atkinson 수정 Cook 통계량 \(C_i = \sqrt{(n-p)/p \cdot h_i/(1-h_i)} \cdot |r_i^*|\) 의 정규화 효과, half-Normal / full-Normal 플롯과 순서통계량 근사 \(\Phi^{-1}((i - 3/8)/(n + 1/4))\), Atkinson (1981) 의 시뮬레이션 envelope 이 “다중 비교의 경험적 보정” 인 이유, 그리고 §12.7.5 의 체계적·개별 이탈 혼합 진단 \(r_{G0}^2 - r_{G1}^2\) 지표 플롯까지 직관과 수식으로 풀어낸다.

Statistics
GLM
저자

Kwangmin Kim

공개

2026년 04월 21일

1 서론 — Fig.12.3 의 세 구성과 세 측도

어떤 관측치가 “이상해 보인다” 고 해도 그 이상함에는 여러 성격 이 있다. McCullagh-Nelder §12.7 은 Fig.12.3 의 세 구성을 통해 그 차이를 드러낸다.

구성 극단점의 위치 포함/제외 효과
(a) \(x\) 값이 평균 근처 · \(y\) 값만 극단 절편에 큰 영향, 기울기는 거의 불변
(b) \(x\) 값이 극단 · 전체 추세와 일치 \(\widehat\beta\) 정확도 상승, 추정치 거의 불변
(c) \(x\) 값이 극단 · 추세에서 벗어남 기울기·이탈도 급변

세 구성을 구별하기 위해 세 독립 측도 를 도입한다.

측도 정의 무엇을 잡나 (a) (b) (c)
레버리지 (leverage) \(h_i\) \(H_{ii}\) (햇 행렬 대각) “공변량 공간에서 얼마나 외톨이인가” 낮음 높음 높음
일관성 (consistency) \(r_i^*\) 삭제잔차 “나머지 모형 예측과 얼마나 어긋나는가” 높음 낮음 높음
영향력 (influence) \(D_i, C_i\) Cook 통계량 “이 점을 빼면 적합이 얼마나 달라지나” 중간 낮음 높음

1.1 왜 세 측도 모두 필요한가

한 측도만으로는 위험을 정확히 식별할 수 없다.

  • \(h\) 만 크다: 위치는 특이하지만 추세 일치 가능 — 구성 (b) — 제거하면 오히려 손해.
  • \(|r^*|\) 만 크다: \(y\) 가 튀지만 공변량 공간에서 평범 — 구성 (a) — 절편만 약간 영향.
  • \(h\)\(|r^*|\) 둘 다 크다: 구성 (c) — 위험. 혼자서 적합을 왜곡.

영향력 은 단일 측도가 아니라 레버리지와 일관성의 결합 효과 다. 이 결합을 수학적으로 보여 주는 것이 Cook 공식 (12.9) 다.

이번 글은 다섯 소절 §12.7.1~§12.7.5 를 순서대로 심화한다.

2 §12.7.1 — 레버리지

2.1 선형 회귀의 \(h_i\)

선형 회귀의 햇 행렬

\[H = X(X^TX)^{-1}X^T, \qquad h_i = x_i^T(X^TX)^{-1}x_i.\]

\(h_i\) 의 기하 해석: “점 \(i\)\(y\) 값이 자기 적합값 \(\widehat\mu_i\) 에 기여하는 가중치”. §12.5 에서 이미 다뤘다.

2.2 직교화를 통한 해석적 공식

\(X\) 의 열을 직교화하고 첫 번째 열을 상수 1 로 유지하면 (\(H\) 는 불변):

\[h_i = \frac{1}{n} + \frac{x_{i2}^2}{\sum_j x_{j2}^2} + \cdots + \frac{x_{ip}^2}{\sum_j x_{jp}^2}.\]

2.3 해석적 함의

\(h_i - 1/n\)\(i\) 와 공변량 공간 중심 사이의 표준화 거리 제곱 이다.

  • \(x_i\) 가 중심에 있으면 \(h_i = 1/n\) — 최소 가능.
  • \(x_i\) 가 극단이면 \(h_i \to 1\) — 최대 가능.
직관: \(h_i\) 는 “공변량 공간의 고립도”

“나와 비슷한 공변량을 가진 친구가 몇 명이나 있는가” 를 측정한다고 보면 된다.

  • 친구가 많으면 (\(x_i\) 가 중심): 다른 점들이 자기를 대신 설명해 줌 → \(h_i\) 작음.
  • 친구가 없으면 (\(x_i\) 가 외톨이): 자기를 설명할 수 있는 점은 자기뿐 → \(h_i\) 큼.

이것이 \(h_i \in [1/n, 1]\) 경계와 \(\sum h_i = p\) 의 물리적 의미다.

2.4 표준화 레버리지 \(h_i'\) 와 Hoaglin-Welsch (1978) 규칙

\(\sum h_i = p\) 이므로 평균 레버리지는 \(p/n\). 비교를 위해 표준화:

\[h_i' = \frac{n h_i}{p}, \qquad \sum h_i' = n.\]

\(h_i' = 1\) 이 “평균 수준”. Hoaglin-Welsch 의 실무 규칙:

\[h_i > \frac{2p}{n}, \quad \text{즉} \quad h_i' > 2 \quad \Rightarrow \quad \text{고레버리지 의심.}\]

index plot (관측 번호 vs \(h_i'\), \(h' = 2\) 수평선) 이 표준 시각 진단 도구.

2.5 GLM 확장 — 가중치의 영향

GLM 에서 (12.3)

\[H = W^{1/2} X (X^T W X)^{-1} X^T W^{1/2}\]

\(X\) 대신 \(W^{1/2} X\) 를 사용. IRLS 가중치 \(w_i = (\partial\mu_i/\partial\eta_i)^2 / V(\mu_i)\) 가 작은 점은 공변량 공간에서 극단이더라도 \(h_i\) 가 작을 수 있다.

GLM 의 주의 — 가중치가 작으면 레버리지도 작다

포아송 GLM 에서 예측값 \(\widehat\mu_i\) 가 매우 작으면 가중치 \(w_i = \widehat\mu_i\) (로그 링크) 도 작아진다. 이 점은 공변량 공간에서 외톨이여도 모형의 실질적 영향은 미미 하다 — 정보를 거의 담지 않는다.

반대로 \(\widehat\mu\) 가 큰 점은 가중치가 커서 레버리지도 증폭된다.

실무 해석: 레버리지는 “정보 가중된 고립도” 이지, 순수 공변량 공간 거리가 아니다. GLM 진단에서 이 차이를 기억해야 한다.

2.6 레버리지의 비대칭적 역할

레버리지가 높다고 나쁜 게 아니다. Fig.12.3(b) 는 고레버리지 점이 추정을 개선 하는 경우다. 레버리지의 위험은 \(|r^*|\) 가 동시에 높을 때 드러난다. 단일 측도로는 위험 판단 불가.

3 §12.7.2 — 일관성

3.1 삭제잔차가 자연스러운 측도

일관성의 정의: “점 \(i\) 가 나머지 모형의 예측과 얼마나 어긋나는가”.

삭제잔차 (§12.5):

\[r_i^* = \frac{y_i - \widehat\mu_{(i)}}{s_{(i)}\sqrt{1 + h_{(i)}}}.\]

\(\widehat\mu_{(i)}\) 는 점 \(i\) 없이 적합한 모형으로 예측한 값. 이 잔차가 크면 “나머지가 제안하는 추세에서 점 \(i\) 가 벗어났다” 는 증거 — 비일관성.

3.2 GLM 에서의 1-step 근사

\(i\) 를 실제로 빼고 재적합하면 IRLS 가 수렴까지 돌아야 해 계산 비용이 크다. §12.5 의 Williams (1987) 1-step 공식

\[r_{D,i}^{*2} \simeq h_i \cdot {}_1 r_{P,i}^{\prime 2} + (1-h_i) \cdot {}_1 r_{D,i}^{\prime 2} \tag{12.6}\]

가 실무의 표준. 삭제 잔차의 일관성 해석 은 §12.5 의 Pierce-Schafer 결과로 확증된다 — 이탈도 기반 잔차는 귀무 하에서 대략 정규 분포를 따른다.

3.3 이상점 식별 기준

전통적 규칙: \(|r^*| > 2\) 면 의심, \(|r^*| > 3\) 이면 강한 의심. 그러나 \(n\) 개 점 중 가장 큰 \(|r^*|\) 를 선택 한 뒤의 검정은 다중 비교 보정이 필요 — §12.7.4 의 Normal 플롯 + envelope 으로 보정한다.

4 §12.7.3 — 영향력

4.1 Cook 통계량의 정의 (1977)

Cook 거리:

\[D_i = \frac{(\widehat\beta_{(i)} - \widehat\beta)^T (X^TX) (\widehat\beta_{(i)} - \widehat\beta)}{p s^2}. \tag{12.8}\]

\(\widehat\beta_{(i)}\) 는 점 \(i\) 를 뺀 계수 추정치. 분자는 계수 벡터의 변동을 Mahalanobis 거리 (\(X^TX\) 를 내적 행렬로) 로 측정. 분모 \(p s^2\) 은 스케일 정규화.

4.2 왜 Mahalanobis 거리인가

단순 유클리드 거리 \((\widehat\beta_{(i)} - \widehat\beta)^T (\widehat\beta_{(i)} - \widehat\beta)\)계수들의 스케일 차이 를 무시한다. \(\beta_1 = 1000\)\(\beta_2 = 0.001\) 의 단위 변화가 같은 거리로 취급됨.

\((X^TX)\) 를 가중치로 쓰면, 이것이 바로 \(\widehat\beta\) 의 공분산 역행렬 의 스케일이다. 즉 “계수의 \(\sigma\) 단위 변화” 를 잰다. 결과적으로 \(D_i\) 는 “점 \(i\) 제거가 추정치를 표준 오차 단위로 얼마나 움직였는가” 를 측정.

4.3 공식 유도 — (12.9)

핵심 등식 (Atkinson, 1985, p.21):

\[\widehat\beta_{(i)} - \widehat\beta = -\frac{(X^TX)^{-1} x_i r_i}{1 - h_i}.\]

이 등식은 Sherman-Morrison 으로 유도된다 (§12.5 의 잔차 업데이트 공식과 같은 기원).

대입하면

\[ D_i = \frac{1}{p s^2} \cdot \frac{r_i^2}{(1-h_i)^2} \cdot x_i^T (X^TX)^{-1} (X^TX) (X^TX)^{-1} x_i = \frac{r_i^2}{p s^2 (1-h_i)^2} \cdot x_i^T (X^TX)^{-1} x_i. \]

\(x_i^T (X^TX)^{-1} x_i = h_i\) 이므로

\[ \boxed{\;D_i = \frac{r_i^{\prime 2}}{p} \cdot \frac{h_i}{1 - h_i}\;} \tag{12.9} \]

여기서 \(r_i^\prime = r_i/\{s\sqrt{1 - h_i}\}\) 는 Studentized 표준화 잔차. \(\square\)

4.4 분해의 의미

(12.9) 는 영향력을 두 인수의 곱 으로 분해한다.

인수 측도
\(r_i^{\prime 2} / p\) 일관성 (정확히는 Studentized 잔차 제곱)
\(h_i / (1-h_i)\) 레버리지 (\(h_i \to 1\) 에서 발산)
핵심 통찰: 영향력 = 레버리지 × 일관성

\(D_i\) 가 크려면 두 측도가 모두 커야 한다. 하나라도 작으면 영향력이 작다.

  • \(r_i^\prime\) 크고 \(h_i\) 작음 (구성 a): \(D_i\) 중간 — 절편만 약간 움직임.
  • \(r_i^\prime\) 작고 \(h_i\) 큼 (구성 b): \(D_i\) 작음 — 고레버리지지만 추세 일치.
  • 둘 다 큼 (구성 c): \(D_i\) 큼 — 진짜 위험.

이 곱셈 구조가 “세 측도가 독립적인데 왜 영향력은 나머지 둘의 함수인가” 를 설명한다. 독립적으로 정의된 두 측도가 곱으로 결합해 세 번째 측도를 만든다.

4.5 Atkinson (1981) 의 수정 — \(C_i\)

Cook \(D_i\) 에 세 가지 수정:

  1. \(r_i^\prime\)삭제잔차 \(r_i^*\) 로 교체 (식 \(r_i^* = r_i' \cdot s/s_{(i)}\) 로 연결, §12.5).
  2. 스케일 인수 \((n-p)/p\) 를 곱해 평균 레버리지에서 \(C_i = r_i^{*2}\) 이 되도록 정규화.
  3. 제곱근을 취해 선형 단위 로.

결과:

\[ \boxed{\;C_i = \left\{\frac{n-p}{p} \cdot \frac{h_i}{1-h_i}\right\}^{1/2} |r_i^*|.\;} \tag{12.10} \]

4.6 왜 세 수정이 도움이 되는가

  1. \(s \to s_{(i)}\): 큰 이상점에서 \(s\) 가 오염돼 \(D_i\)과소평가. \(s_{(i)}\) 는 오염 없음.
  2. \((n-p)/p\) 인수: \(h_i = p/n\) (평균) 이면 \(h/(1-h) = (p/n)/(1-p/n) \approx p/(n-p)\). 따라서 \((n-p)/p \cdot h/(1-h) = 1\) 이 되어 \(C_i = |r_i^*|\). 즉 평균 레버리지 구성에서는 일관성 측도와 같아짐 → 비교 용이.
  3. 제곱근: 선형 단위로 해석 쉬움. 임계값 \(C_i > 2\) 또는 3 으로 이상점 식별.

4.7 GLM 확장

선형 회귀의 (12.8)(12.9)(12.10) 을 GLM 으로 확장:

\[D_i = \frac{(\widehat\beta_{(i)} - \widehat\beta)^T (X^TWX) (\widehat\beta_{(i)} - \widehat\beta)}{p \widehat\phi}.\]

  • \((X^TX) \to (X^TWX)\): IRLS 가중치 포함.
  • \(s^2 \to \widehat\phi\): 산포 모수 추정.
  • \(\widehat\beta_{(i)}\) 는 보통 1-step 근사 사용 (§12.5 Williams 공식).

수정 Cook 통계량 \(C_i\)\(r^* \to {}_1 r_D^*\) (1-step 이탈도 삭제잔차) 로 그대로 치환.

5 §12.7.4 — 비공식 진단 플롯

5.1 세 통계량의 시각화 전략

\(h_i\), \(r_i^*\), \(C_i\) 는 각각 \(n\) 개 값을 낸다. 관심 대상은 극단값 — “가장 큰 레버리지”, “가장 큰 잔차”, “가장 큰 영향력”.

그러나 \(n\) 개 중 극단을 골라 검정 하면 다중 비교 문제가 발생한다 (§12.2 의 “가장 이상한 점을 골랐다” 함정).

5.2 플롯 1: Index Plot

가로축 관측 번호 \(i = 1, \ldots, n\), 세로축 통계량 값. 임계 수평선 함께.

한계: 다중 비교 보정이 내장되지 않음. 몇 개 점이 나머지보다 극단적으로 떨어져 있으면 쉽게 보이지만, 경계 근처 점들은 판단 어려움.

5.3 플롯 2: Normal Probability Plot (Q-Q 플롯)

통계량을 순서 통계량의 이론적 기댓값 에 대해 플롯.

Full Normal plot (부호 있는 통계량, 예: \(r^*\)):

\[\Phi^{-1}\left(\frac{i - 3/8}{n + 1/4}\right), \qquad i = 1, \ldots, n.\]

Half-Normal plot (비음 통계량, 예: \(h\), \(C\), \(|r^*|\)):

\[\Phi^{-1}\left(\frac{n + i + 1/2}{2n + 9/8}\right), \qquad i = 1, \ldots, n.\]

이 수식들은 Blom (1958) 의 정규 순서통계량 기대값 근사다. 분모가 \(n + 1\) 이 아니라 \(n + 1/4\) 등의 미세 조정은 꼬리 정확도 를 위해 고안된 실무 표준.

직관: Q-Q 플롯이 다중 비교를 “내장” 하는 이유

\(n\) 개 표준 정규 표본에서 가장 큰 값\(\sim \Phi^{-1}(1 - 1/(n+1))\) 정도로 기대된다. \(n = 100\) 이면 \(\approx 2.33\), \(n = 1000\) 이면 \(\approx 3.09\).

즉 Q-Q 플롯의 가로축 극단 위치는 “이 크기의 표본에서 자연스럽게 예상되는 극단값” 을 미리 반영한다. \(r^* = 3\)\(n = 1000\) 에서는 평범하지만 \(n = 30\) 에서는 놀라운 값이라는 판단이 플롯의 대각선과의 거리 로 자연스럽게 드러난다.

이것이 단순 “모든 점에 \(|r^*| < 2\)” 규칙보다 Q-Q 플롯이 나은 이유다.

5.4 플롯 3: Atkinson (1981) 의 시뮬레이션 Envelope

Q-Q 플롯의 “대각선” 이 \(h\)\(C\) 에 대해서는 예상되지 않는다 (귀무 분포가 정규가 아니므로). Atkinson 의 해결책:

  1. 현재 적합의 \(\widehat\mu, \widehat\phi\) 에서 가상 데이터 \(y^*\)\(k\) 번 시뮬레이션.
  2. 각 시뮬레이션에서 모형을 재적합하고 \(h, r^*, C\) 를 계산.
  3. 순서 정렬 후 각 순서 위치의 \(k\) 시뮬레이션 중 최대/최소 를 envelope 으로 플롯.
  4. 관측 데이터의 통계량이 envelope 안에 들면 “정상”, 밖에 나오면 이상점.

이 envelope 은 경험적 다중 비교 보정 이다. \(k\) 를 키우면 envelope 이 더 안정적.

5.5 시뮬레이션의 속도

  • 정규 오차\(\widehat\mu\) 무관 (\(y^* = \widehat\mu + \sigma \epsilon^*\)) 이라 매우 빠름.
  • 비정규 오차 (포아송, 이항 등) 는 매 시뮬레이션마다 IRLS 재수렴 필요 — 느림.
  • 가속: 1-step 근사 를 활용. 초기값 \(\widehat\mu\) 에서 시작해 1-2 회 반복만.

5.6 Count/Proportion 데이터의 왜곡

관측치에 많은 0 (카운트) 또는 많은 0, 1 (비율) 이 있으면 Q-Q 플롯에 plateau 가 나타난다 — 작은 잔차들이 0 근처에 뭉친다.

이는 “이산 반응의 본질적 정규성 부족” 이지 이상점 신호가 아니다. 해석 시 이 plateau 를 무시.

6 §12.7.5 — 개별 이상점 × 체계적 이탈의 결합

6.1 문제 — 영향력 검정의 역설

“공변량 \(u\) 가 모형에 추가 필요한가?” 라는 체계적 이탈 질문 (§12.6) 에 답할 때, 그 결론이 몇 개의 개별 이상점 에 좌우될 수 있다. 두 문제가 엉킨다.

예: \(u\) 의 추가가 이탈도를 10 감소 시켰다. 자유도 1 이므로 유의. 그러나 이 감소의 90% 가 관측치 2 개로부터 나왔다면? 그 2 개가 단순 기록 오류라면 \(u\) 는 사실 불필요할 수도.

6.2 Williams (1987) 의 결합 진단

완전 모형 (\(u\) 포함) 의 표준화 잔차 제곱 \(r_{G1}^2\), 축약 모형 (\(u\) 제외) 의 \(r_{G0}^2\) 를 각각 계산. 차이

\[d_i = r_{G0,i}^2 - r_{G1,i}^2\]

는 “점 \(i\)\(u\) 유의성에 기여한 양” 이다. Williams 는 이 차이의 index plot 을 제안.

  • 모든 \(d_i\) 가 비슷: 체계적 이탈 증거가 분산 — 안정적 결론.
  • 몇 개 \(d_i\) 만 큼: 체계적 이탈 증거가 집중 — 이상점 의심, 분석 재검.

6.3 절차

  1. 체계적 이탈 (backward selection, §12.6.5) 로 \(u\) 의 유의성 확인.
  2. 각 관측치의 \(d_i = r_{G0,i}^2 - r_{G1,i}^2\) 계산.
  3. \(d_i\) 의 index plot 또는 Q-Q 플롯으로 극단 기여 점 식별.
  4. 의심 점들을 제외하고 재분석해 결론이 유지되는지 확인.

이 방법은 모형의 체계적 구조 주장이 얼마나 강건한가 를 측정한다. Davison & Tsai (1988) 에도 유사한 기법.

7 Python 실전 — 세 측도의 결합 진단

import numpy as np
import statsmodels.api as sm
import matplotlib.pyplot as plt
from scipy import stats

np.random.seed(42)
n = 150
x1 = np.random.randn(n)
x2 = np.random.randn(n)
X = sm.add_constant(np.column_stack([x1, x2]))
mu_true = np.exp(0.5 + 0.3 * x1 - 0.2 * x2)
y = np.random.poisson(mu_true)

# 의도적으로 세 유형의 이상점 주입
# (a) x 근처, y 극단
y[0] = 50
# (b) x 극단, 추세 일치 (정상적인 고레버리지)
X[1] = [1, 3.5, 3.0]  # 공변량 극단
y[1] = np.random.poisson(np.exp(0.5 + 0.3*3.5 - 0.2*3.0))
# (c) x 극단, y 도 어긋남
X[2] = [1, -3.5, -3.0]
y[2] = 80  # 큰 y 값

fam = sm.families.Poisson(link=sm.families.links.log())
m = sm.GLM(y, X, family=fam).fit()

p = X.shape[1]

# 레버리지
mu_hat = m.fittedvalues
w = mu_hat  # 포아송 로그 링크 가중치
W_sqrt = np.sqrt(w)
WX = W_sqrt[:, None] * X
H = WX @ np.linalg.inv(WX.T @ WX) @ WX.T
h = np.diag(H)
h_prime = n * h / p

# Pearson 표준화 잔차와 이탈도 표준화 잔차
V_mu = mu_hat  # 포아송 분산 함수
phi_hat = m.scale  # 기본 1
r_P = (y - mu_hat) / np.sqrt(phi_hat * V_mu * (1 - h))
r_D = m.resid_deviance / np.sqrt(phi_hat * (1 - h))

# 삭제잔차 (Williams 1-step 근사)
r_star = np.sign(y - mu_hat) * np.sqrt(h * r_P**2 + (1 - h) * r_D**2)

# Cook D_i (식 12.9)
D_i = (r_P ** 2 / p) * (h / (1 - h))

# Atkinson 수정 C_i (식 12.10)
C_i = np.sqrt((n - p) / p * h / (1 - h)) * np.abs(r_star)

print("주입된 이상점 3 개의 진단 지표:")
print(f"{'i':>3} {'h':>8} {'h_prime':>9} {'r_star':>8} {'D_i':>8} {'C_i':>8}")
for i in [0, 1, 2]:
    print(f"{i:3d} {h[i]:8.4f} {h_prime[i]:9.3f} {r_star[i]:8.2f} {D_i[i]:8.4f} {C_i[i]:8.2f}")

# 세 index plot
fig, axes = plt.subplots(1, 3, figsize=(14, 4))

axes[0].stem(h_prime)
axes[0].axhline(2, ls='--', color='red', label="Hoaglin-Welsch 2")
axes[0].set_title("Leverage $h_i'$"); axes[0].legend()

axes[1].stem(r_star)
axes[1].axhline(2, ls='--', color='red'); axes[1].axhline(-2, ls='--', color='red')
axes[1].set_title("Deletion residual $r_i^*$")

axes[2].stem(C_i)
axes[2].axhline(2, ls='--', color='red', label="$C_i > 2$ 의심")
axes[2].set_title("Atkinson $C_i$"); axes[2].legend()

plt.tight_layout(); plt.show()

7.1 결합 해석

주입된 이상점 결과 (기대):

  • 점 0 (구성 a): \(h\) 낮음 · \(|r^*|\) 큼 · \(C\) 중간.
  • 점 1 (구성 b): \(h\) 큼 · \(|r^*|\) 작음 · \(C\) 작음 (제거하면 안 됨).
  • 점 2 (구성 c): \(h\) 큼 · \(|r^*|\) 큼 · \(C\) 매우 큼 (제거 강한 후보).

\(C_i\) 하나만 봐도 실질적 위험 점을 구별한다. 세 측도를 동시에 봐야 (a) 와 (c) 같은 중간 케이스의 구분이 명확해진다.

7.2 Q-Q envelope 시뮬레이션

def half_normal_quantiles(n):
    i = np.arange(1, n + 1)
    return stats.norm.ppf((n + i + 0.5) / (2*n + 9/8))

k_sim = 50
C_envelope_low = np.zeros(n)
C_envelope_high = np.zeros(n)
C_sim_sorted_all = []

for _ in range(k_sim):
    y_sim = np.random.poisson(mu_hat)
    try:
        m_sim = sm.GLM(y_sim, X, family=fam).fit()
        mu_sim = m_sim.fittedvalues
        w_sim = mu_sim
        W_s = np.sqrt(w_sim)
        WX_s = W_s[:, None] * X
        H_s = WX_s @ np.linalg.inv(WX_s.T @ WX_s) @ WX_s.T
        h_s = np.diag(H_s)
        r_P_s = (y_sim - mu_sim) / np.sqrt(mu_sim * (1 - h_s))
        r_D_s = m_sim.resid_deviance / np.sqrt(1 - h_s)
        r_star_s = np.sign(y_sim - mu_sim) * np.sqrt(h_s * r_P_s**2 + (1-h_s) * r_D_s**2)
        C_s = np.sqrt((n - p) / p * h_s / (1 - h_s)) * np.abs(r_star_s)
        C_sim_sorted_all.append(np.sort(C_s))
    except:
        pass

C_sim_arr = np.array(C_sim_sorted_all)
C_lo = C_sim_arr.min(axis=0)
C_hi = C_sim_arr.max(axis=0)

# 관측 C_i 의 half-Normal 플롯
C_sorted = np.sort(C_i)
hn_quantiles = half_normal_quantiles(n)

fig, ax = plt.subplots(figsize=(7, 5))
ax.fill_between(hn_quantiles, C_lo, C_hi, alpha=0.3, color='gray', label='simulation envelope')
ax.plot(hn_quantiles, C_sorted, 'o', label='observed $C_i$')
ax.set_xlabel("Half-Normal quantile")
ax.set_ylabel("$C_i$")
ax.set_title("시뮬레이션 envelope — envelope 밖 점이 이상점")
ax.legend()
plt.show()

Envelope 밖에 놓인 점이 통계적으로 의미 있는 이상점. 점 2 가 이 밖으로 나올 가능성이 크다.

8 요약

§12.7 의 이상점 진단 체계를 한 장으로:

각 관측치 i 에 대해:
    ├── h_i 계산 (레버리지)
    ├── r_i^* 계산 (일관성, Williams 1-step)
    └── C_i = √{(n-p)/p · h/(1-h)} · |r*|  (영향력)

index plot + Q-Q plot + Atkinson envelope 로 극단 식별

의심 점 발견 시:
    ├── (a 유형: h 작고 r* 큼) → 기록 오류 가능성, 제거 검토
    ├── (b 유형: h 크고 r* 작음) → 유지 (정확도 상승)
    └── (c 유형: 둘 다 큼) → 신중 분석, 도메인 판단 필요

체계적 × 개별 혼합: §12.7.5 의 r_G0² - r_G1² 플롯으로 체계적 결론의 강건성 확인

네 가지 핵심 원칙:

  1. 세 측도는 독립 — 하나만 보면 위험 오판.
  2. 영향력은 결합\(D_i\) 가 레버리지·일관성의 곱으로 분해.
  3. 다중 비교 보정 — Q-Q 플롯 + 시뮬레이션 envelope 이 표준.
  4. 제거 전 도메인 검증 — 이상점은 단순 제거보다 이해 가 먼저.

9 관련 주제

선행 지식

관련 개념

실제 응용 — 교재 예제

후속 주제

Subscribe

Enjoy this blog? Get notified of new posts by email: