Score Test
Score Test (점수 검정)
1. 개요
Score Test(점수 검정)는 통계적 가설 검정 방법의 하나로, 가능도 함수(Likelihood function)의 기울기인 스코어 함수(Score function)를 이용하여 모수(Parameter)의 특정 값에 대한 귀무가설을 검정하는 방법입니다. 이 검정법은 라그랑주 승수 검정(Lagrange Multiplier Test, LM Test)이라고도 불립니다. Score Test의 가장 큰 특징은 최대 가능도 추정치(MLE)를 직접 계산하지 않고도, 귀무가설 하에서의 가능도 함수의 곡률과 기울기만을 이용하여 가설의 유의성을 판단할 수 있다는 점입니다.
2. 가설 설정
Score Test를 수행하기 위해서는 먼저 검정하고자 하는 모수 $\theta$에 대해 다음과 같이 가설을 설정합니다.
- 귀무가설 ($H_0$): $\theta = \theta_0$ (모수가 특정 값 $\theta_0$와 같다.)
- 대립가설 ($H_1$): $\theta \neq \theta_0$ (모수가 특정 값 $\theta_0$와 다르다.)
여기서 $\theta_0$는 일반적으로 분석가가 설정한 기준값이나, 제약 조건이 있는 모델의 파라미터 값을 의미합니다.
3. 수학적 원리 및 도출
3.1 스코어 함수 (Score Function)
가능도 함수 $L(\theta)$에 로그를 취한 로그 가능도 함수(Log-likelihood function)를 $\ell(\theta) = \log L(\theta)$라고 할 때, 이를 $\theta$에 대해 미분한 함수를 스코어 함수 $U(\theta)$라고 정의합니다.
$$U(\theta) = \frac{\partial}{\partial \theta} \ell(\theta)$$
스코어 함수는 가능도 함수의 기울기를 나타내며, 최대 가능도 추정치(MLE) $\hat{\theta}$에서는 $U(\hat{\theta}) = 0$이 됩니다.
3.2 피셔 정보 (Fisher Information)
피셔 정보 $I(\theta)$는 로그 가능도 함수의 곡률(Curvature)을 측정하는 값으로, 스코어 함수의 분산과 같습니다.
- 단일 관측치에 대한 정보량: $$I(\theta) = E\left[ \left( \frac{\partial \log f(X;\theta)}{\partial \theta} \right)^2 \right] = -E\left[ \frac{\partial^2 \log f(X;\theta)}{\partial \theta^2} \right]$$
- 전체 표본 $n$개에 대한 정보량 (Total Information): $$\mathcal{I}(\theta) = n I(\theta) = -E\left[ \frac{\partial^2 \ell(\theta)}{\partial \theta^2} \right]$$
- 관측 피셔 정보 (Observed Fisher Information): 실제 데이터에서 기댓값 대신 2차 미분값 자체를 사용하는 관측 정보량은 다음과 같이 계산됩니다. $$\mathcal{J}(\theta) = -\frac{\partial^2 \ell(\theta)}{\partial \theta^2}$$
3.3 검정 통계량의 도출
Score Test의 핵심은 귀무가설 $\theta = \theta_0$가 참일 때, $U(\theta_0)$가 0에 얼마나 가까운지를 측정하는 것입니다.
단일 모수의 경우: 검정 통계량 $S$는 다음과 같이 정의됩니다. $$S = \frac{U(\theta_0)^2}{\mathcal{I}(\theta_0)}$$
다변수 모수 벡터 $\boldsymbol{\theta}$의 경우: 모수가 여러 개인 경우, 스코어 함수는 그라디언트 벡터가 되고 피셔 정보는 헤세 행렬의 기댓값인 정보 행렬(Information Matrix)이 됩니다. 이때 통계량 $S$는 다음과 같은 이차 형식(Quadratic form)으로 일반화됩니다. $$S = U(\theta_0)^T \mathcal{I}(\theta_0)^{-1} U(\theta_0)$$
4. 점근적 성질 및 분포
표본 크기 $n$이 충분히 클 때, 중심극한정리에 의해 스코어 함수 $U(\theta_0)$는 정규분포를 따르게 됩니다. 이에 따라 Score Test 통계량 $S$는 점근적으로 카이제곱 분포(Asymptotic $\chi^2$ distribution)를 따릅니다.
$$S \xrightarrow{d} \chi^2(df)$$
여기서 $df$는 검정하는 파라미터의 수(자유도)입니다. 만약 단일 파라미터를 검정한다면 $df=1$이 되며, 계산된 $S$ 값이 임계치보다 크면 귀무가설을 기각합니다.
5. 다른 가능도 기반 검정과의 비교
Score Test는 가능도비 검정(LRT) 및 왈드 검정(Wald Test)과 함께 '삼위일체(Trinity)' 검정법으로 불립니다.
| 비교 항목 | Score Test (점수 검정) | Wald Test (왈드 검정) | Likelihood Ratio Test (LRT) |
|---|---|---|---|
| 계산 방식 | $U(\theta_0)^T \mathcal{I}(\theta_0)^{-1} U(\theta_0)$ | $(\hat{\theta} - \theta_0)^T \text{Var}(\hat{\theta})^{-1} (\hat{\theta} - \theta_0)$ | $2(\ell(\hat{\theta}) - \ell(\theta_0))$ |
| 필요 추정치 | $\theta_0$ (귀무가설 값)만 필요 | $\hat{\theta}$ (MLE) 필요 | $\theta_0$와 $\hat{\theta}$ 모두 필요 |
| 계산 비용 | 매우 낮음 (가장 효율적) | 중간 | 높음 (두 모델 모두 추정) |
| 수렴 특성 | $\theta_0$ 근처에서 정확함 | $\hat{\theta}$ 근처에서 정확함 | 전반적으로 가장 안정적 |
| 장점 | MLE 계산 없이 검정 가능 | 계산이 직관적임 | 가장 강력한 검정력 보유 |
유한 표본에서의 수렴 특성 및 편향
세 검정법은 표본 크기가 무한대로 갈 때 동일한 값으로 수렴하지만, 표본이 적은 경우 다음과 같은 특성을 보입니다. * LRT: 일반적으로 점근적 분포에 가장 빠르게 도달하며, 유한 표본에서도 가장 안정적인 성능을 보입니다. * Score Test: 귀무가설 $\theta_0$가 참일 가능성이 높을 때 매우 효율적이며, $\theta_0$ 근처에서 빠르게 수렴하는 경향이 있습니다. * Wald Test: MLE $\hat{\theta}$의 추정치와 그 분산 추정치에 전적으로 의존합니다. 따라서 표본 크기가 작아 $\hat{\theta}$의 편향(Bias)이 크거나 분산 추정이 불안정할 경우, 신뢰도가 가장 낮고 수렴 속도가 느립니다.
6. Score Test의 특징 및 장점
- 계산적 효율성: 가장 큰 장점은 최대 가능도 추정치(MLE)를 구할 필요가 없다는 점입니다. 복잡한 비선형 모델에서 MLE를 찾는 과정은 반복적인 수치 최적화(Numerical Optimization)를 필요로 하며 시간이 많이 걸리지만, Score Test는 $\theta_0$에서의 미분값만 계산하면 됩니다.
- 사전 스크리닝: 수많은 변수 중 유의미한 변수를 찾기 위해 여러 번의 검정을 수행해야 할 때, 모든 변수에 대해 MLE를 구하는 대신 Score Test로 빠르게 후보를 추려낼 수 있습니다.
- 점근적 동등성: 표본 크기가 충분히 크다면 LRT, Wald Test와 통계적으로 동일한 결론에 도달하며, 특히 귀무가설이 참인 영역에서 매우 강력한 효율성을 가집니다.
7. 주요 활용 사례
- 모델 선택 (Model Selection): 새로운 파라미터를 모델에 추가했을 때, 모델의 적합도가 유의미하게 개선되는지 확인하는 '라그랑주 승수 검정(LM Test)'으로 사용됩니다.
- 로지스틱 회귀 (Logistic Regression): 특정 독립 변수가 종속 변수에 유의미한 영향을 미치는지 검정할 때, 전체 모델을 다시 추정하지 않고 해당 변수의 계수가 0이라는 귀무가설 하에서 Score Test를 수행하여 빠르게 유의성을 판단합니다.
- 경제학 및 계량경제학: 대규모 데이터셋에서 구조적 변화(Structural Break) 지점을 찾거나, 특정 제약 조건이 타당한지 검정할 때 사용합니다.
- 생물 통계학: 생존 분석(Survival Analysis)에서 공변량(Covariate)의 유의성을 빠르게 검정하는 데 활용됩니다.
8. 구현 예제
8.1 시나리오
정규분포 $N(\mu, \sigma^2)$에서 $\sigma^2$이 알려져 있을 때, 평균 $\mu$에 대한 귀무가설 $H_0: \mu = \mu_0$를 검정하는 과정을 살펴봅니다.
- 로그 가능도 함수: $\ell(\mu) = -\frac{n}{2}\log(2\pi\sigma^2) - \frac{1}{2\sigma^2}\sum(x_i - \mu)^2$
- 스코어 함수: $U(\mu) = \frac{\partial \ell}{\partial \mu} = \frac{1}{\sigma^2}\sum(x_i - \mu)$
- 피셔 정보: $\mathcal{I}(\mu) = -E[\frac{\partial^2 \ell}{\partial \mu^2}] = -E[-\frac{n}{\sigma^2}] = \frac{n}{\sigma^2}$
- 통계량: $S = \frac{U(\mu_0)^2}{\mathcal{I}(\mu_0)} = \frac{(\frac{1}{\sigma^2}\sum(x_i - \mu_0))^2}{n/\sigma^2} = \frac{(\sum(x_i - \mu_0))^2}{n\sigma^2}$
8.2 Python 구현 코드
import numpy as np
from scipy import stats
def score_test_mean(data, mu_0, sigma):
"""
정규분포 평균에 대한 Score Test 수행
"""
n = len(data)
# 1. Score function U(mu_0) 계산: 로그 가능도 함수의 1차 미분값
score = np.sum(data - mu_0) / (sigma**2)
# 2. Fisher Information I(mu_0) 계산: 로그 가능도 함수의 2차 미분값의 기댓값
fisher_info = n / (sigma**2)
# 3. Score Statistic S 계산: S = U^2 / I
s_stat = (score**2) / fisher_info
# 4. p-value 계산 (자유도 1인 카이제곱 분포)
p_value = 1 - stats.chi2.cdf(s_stat, df=1)
return s_stat, p_value
# 데이터 생성 및 검정
np.random.seed(42)
sample_data = np.random.normal(loc=5.5, scale=1.0, size=100) # 실제 평균 5.5
mu_null = 5.0 # 귀무가설: 평균은 5.0이다
sigma_known = 1.0
s_stat, p_val = score_test_mean(sample_data, mu_null, sigma_known)
print(f"Score Statistic: {s_stat:.4f}")
print(f"P-value: {p_val:.4f}")
if p_val < 0.05:
print("결과: 귀무가설을 기각합니다. (유의미한 차이 있음)")
else:
print("결과: 귀무가설을 기각하지 못합니다.")
이 문서는 AI 모델(gemma-4-31b)에 의해 생성된 콘텐츠입니다.
주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.