주변 우도와 조건부 우도 — 장해 모수를 다루는 세 가지 전략

Marginal, Conditional, Profile Likelihood의 정의, 직관, 수식, 그리고 베이지안 모형 증거와의 관계

통계 모형에 관심 모수와 장해 모수가 공존할 때, 전체 우도 대신 축약 우도를 사용하는 세 가지 전략 — 주변 우도(적분), 조건부 우도(조건부화), 프로파일 우도(플러그인) — 의 정의, 수학적 구조, 직관적 해석, 정보 손실 비교를 다룬다. 베이지안 맥락에서의 주변 우도(모형 증거)와 REML의 연결도 함께 정리한다.

Statistics
저자

Kwangmin Kim

공개

2026년 04월 18일

1 개요

통계 모형은 대부분 하나의 모수만으로 구성되지 않는다. 회귀 분석에서 기울기 \(\beta\) 를 추정하고 싶지만, 절편과 오차 분산 \(\sigma^2\) 도 모형에 포함된다. 로지스틱 회귀에서 처치 효과 \(\psi\) 에 관심이 있지만, 층별 절편 \(\theta_1, \ldots, \theta_{k-1}\) 이 함께 존재한다. 이때 관심 없는 모수를 장해 모수(nuisance parameter) 라 한다.

전체 우도(full likelihood) \(L(\psi, \lambda \mid \mathbf{y})\) 에서 \(\lambda\) 를 함께 추정하면 두 가지 문제가 발생한다.

  1. 일관성 실패: 장해 모수의 수가 표본 크기에 비례하여 증가하면, MLE가 수렴하지 않을 수 있다 (Neyman-Scott 문제).
  2. 수치적 부담: 고차원 최적화와 역행렬 계산이 비현실적으로 커진다.

이 문제를 해결하기 위해 전체 우도를 축약(reduced) 하는 세 가지 전략이 있다.

전략 핵심 아이디어 장해 모수 처리 방식
주변 우도(Marginal Likelihood) 데이터의 부분집합의 분포를 이용 \(\lambda\) 가 분포에 관여하지 않는 부분만 사용
조건부 우도(Conditional Likelihood) 충분통계량에 조건부화 \(S_\lambda\) 에 조건을 걸어 \(\lambda\) 를 소거
프로파일 우도(Profile Likelihood) \(\lambda\)\(\psi\) 의 함수로 플러그인 \(\hat{\lambda}(\psi)\) 를 대입하여 \(\psi\) 만의 함수로 축약

이 포스트에서는 각 전략의 정의, 수식, 직관, 정보 손실, 실무 적용을 비교하고, 베이지안 맥락에서의 주변 우도(모형 증거)와 REML과의 연결까지 다룬다 (McCullagh & Nelder, 1989, Ch.7).


2 전체 우도 — 출발점

전체 우도를 먼저 명확히 정의한다. 관측 데이터 \(\mathbf{y} = (y_1, \ldots, y_n)\) 에 대해 모수를 \(\theta = (\psi, \lambda)\) 로 분할하자. \(\psi\) 는 관심 모수(parameter of interest), \(\lambda\) 는 장해 모수이다.

정의: 전체 우도 (Full Likelihood)

\[ L(\psi, \lambda \mid \mathbf{y}) = \prod_{i=1}^n f(y_i \mid \psi, \lambda) \]

로그 우도는 \(\ell(\psi, \lambda) = \sum_{i=1}^n \log f(y_i \mid \psi, \lambda)\) 이다.

전체 우도의 MLE \((\hat{\psi}, \hat{\lambda})\)\(\ell(\psi, \lambda)\) 를 동시에 최대화하여 구한다. 이것이 가장 직접적인 접근이지만, 앞서 언급한 두 가지 문제 — 일관성 실패와 수치적 부담 — 가 발생할 수 있다.

Neyman-Scott 문제의 직관: 정규 분포 \(Y_{ij} \sim N(\mu_i, \sigma^2)\) 에서 \(n\) 개 그룹에 각 2개 관측치가 있다고 하자. 관심 모수는 \(\sigma^2\) 이고, \(\mu_1, \ldots, \mu_n\) 은 장해 모수이다. 전체 우도의 MLE는 \(\hat{\sigma}^2_{\text{MLE}} = \frac{1}{2n}\sum_{i=1}^n (y_{i1} - y_{i2})^2\) 로, 이는 \(\sigma^2/2\) 로 수렴한다 — 참값이 아니라 그 절반이다. 장해 모수가 \(n\) 개이므로, \(n \to \infty\) 에서도 편향이 사라지지 않는다.


3 주변 우도 (Marginal Likelihood)

3.1 정의

주변 우도는 데이터의 부분집합 또는 선형 변환의 분포가 장해 모수에 의존하지 않을 때, 그 부분의 우도만을 사용하는 방법이다.

정의: 주변 우도 (Marginal Likelihood)

데이터 \(\mathbf{Y}\) 의 함수 \(\mathbf{T} = g(\mathbf{Y})\) 가 존재하여, \(\mathbf{T}\) 의 분포가 \(\psi\) 에만 의존하고 \(\lambda\) 에 의존하지 않으면:

\[ L_M(\psi \mid \mathbf{t}) = f_{\mathbf{T}}(\mathbf{t} \mid \psi) \]

\(\psi\) 에 대한 주변 우도라 한다.

직관적으로, 전체 데이터에서 장해 모수가 영향을 미치는 “성분”을 제거하고, 관심 모수만 남긴 부분의 우도를 사용하는 것이다. 비유하자면, 오케스트라 녹음에서 특정 악기(관심 모수)의 소리만 듣기 위해 다른 악기(장해 모수)의 주파수 대역을 필터링하는 것과 같다.

3.2 REML: 주변 우도의 대표 사례

정규 선형 모형 \(\mathbf{Y} \sim N(\mathbf{X}\beta, \sigma^2 \mathbf{I})\) 에서 \(\sigma^2\) 가 관심 모수이고 \(\beta\) 가 장해 모수인 경우를 생각하자.

잔차 벡터 \(\mathbf{R} = (\mathbf{I} - \mathbf{P}_X)\mathbf{Y}\) 를 정의하면, \(\mathbf{R}\) 의 분포는 \(\beta\) 에 의존하지 않는다 (\(E[\mathbf{R}] = \mathbf{0}\)). 따라서 \(\mathbf{R}\) 에 기반한 주변 로그 우도를 쓸 수 있다:

\[ \ell_M(\sigma^2) = -\frac{n-p}{2}\log \sigma^2 - \frac{\text{RSS}}{2\sigma^2} \]

여기서 \(\text{RSS} = \mathbf{R}^T\mathbf{R}\) 은 잔차 제곱합이고, \(p\) 는 회귀 계수의 수이다.

이를 최대화하면:

\[ \hat{\sigma}^2_{\text{REML}} = \frac{\text{RSS}}{n - p} \]

이것이 바로 REML(Restricted Maximum Likelihood) 추정량이다. 전체 우도의 MLE \(\hat{\sigma}^2_{\text{MLE}} = \text{RSS}/n\) 과 달리, REML은 자유도 보정(\(n-p\))이 자동으로 이루어져 비편향이다.

왜 REML이 작동하는가: 잔차 \(\mathbf{R}\)\(\beta\) 의 추정에 사용된 자유도 \(p\) 를 이미 소비한 뒤 남은 정보만 담고 있다. 따라서 \(\sigma^2\) 의 추정에 사용할 수 있는 유효 자유도가 \(n-p\) 임을 자연스럽게 반영한다. 이것은 표본 분산에서 \(n\) 대신 \(n-1\) 로 나누는 베셀 보정(Bessel’s correction)의 일반화이다.

3.3 일반 공분산 구조에서의 주변 우도

혼합 모형처럼 \(\text{cov}(\mathbf{Y}) = \boldsymbol{\Sigma}(\theta)\) 일 때, 주변 로그 우도는 다음과 같다 (Patterson & Thompson, 1971):

\[ \ell_M(\theta; \mathbf{R}) = -\frac{1}{2}\log\det\boldsymbol{\Sigma} - \frac{1}{2}\log\det(\mathbf{X}^T\boldsymbol{\Sigma}^{-1}\mathbf{X}) - \frac{1}{2}Q_2(\mathbf{R}) \]

여기서 \(Q_2(\mathbf{R}) = \mathbf{R}^T(\boldsymbol{\Sigma}^{-1} - \boldsymbol{\Sigma}^{-1}\mathbf{X}(\mathbf{X}^T\boldsymbol{\Sigma}^{-1}\mathbf{X})^{-1}\mathbf{X}^T\boldsymbol{\Sigma}^{-1})\mathbf{R}\) 은 가중 잔차 제곱합이다 (McCullagh & Nelder, 1989, Ch.7).

이 식에서 두 번째 항 \(-\frac{1}{2}\log\det(\mathbf{X}^T\boldsymbol{\Sigma}^{-1}\mathbf{X})\) 가 전체 우도에는 없는 보정항이다. 이 항이 고정효과 \(\beta\) 를 추정하는 데 소비된 정보를 반영한다.

3.4 주변 우도의 장단점

장점 단점
장해 모수를 완전히 제거한다 적절한 \(\mathbf{T}\) 를 항상 찾을 수 있는 것은 아니다
자유도 보정이 자동이다 (REML) 정보 손실이 발생할 수 있다
정규 모형에서 이론적 정당화가 확립되어 있다 비정규 모형에서는 정의가 명확하지 않을 수 있다

4 조건부 우도 (Conditional Likelihood)

4.1 정의

조건부 우도는 장해 모수 \(\lambda\) 에 대한 충분통계량 \(S_\lambda\) 에 조건을 걸어 \(\lambda\) 를 소거하는 방법이다.

정의: 조건부 우도 (Conditional Likelihood)

\(\theta = (\psi, \lambda)\) 에서 \(S_\lambda\)\(\lambda\) 에 대한 충분통계량이고, \(\mathbf{Y} \mid S_\lambda\) 의 조건부 분포가 \(\lambda\) 에 의존하지 않으면:

\[ L_C(\psi \mid \mathbf{y}) = f(\mathbf{y} \mid S_\lambda; \psi) \]

\(\psi\) 에 대한 조건부 우도라 한다.

조건부 로그 우도는 전체 우도에서 충분통계량의 우도를 빼는 것으로 표현된다:

\[ \ell_C(\psi) = \log f(\mathbf{y}; \psi, \lambda) - \log f(S_\lambda; \psi, \lambda) \]

핵심 직관: 충분통계량 \(S_\lambda\)\(\lambda\) 에 대한 정보를 모두 담고 있다. 따라서 \(S_\lambda\) 의 값이 주어지면, 나머지 데이터의 조건부 분포에는 \(\lambda\) 가 더 이상 관여하지 않는다. 마치 시험 문제에서 정답에 영향을 주는 모든 힌트를 이미 알고 있을 때, 추가 정보가 정답에 대한 불확실성을 바꾸지 않는 것과 같다 — 다만 여기서는 \(\lambda\) (정답에 해당)가 아닌 \(\psi\) (다른 질문에 해당)에 대한 정보만 남기는 것이다.

4.2 두 가지 경우: \(S_\lambda\)\(\psi\) 에 의존하는가

McCullagh & Nelder (1989)는 두 경우를 명확히 구분한다.

경우 1: \(S_\lambda\)\(\psi\) 에 의존하지 않는 경우

이 경우 조건부 분포 \(f(\mathbf{y} \mid S_\lambda; \psi)\) 는 깔끔하게 \(\lambda\) 에서 자유로우며, 통상적인 우도 이론이 그대로 적용된다. 지수족에서 이 경우가 자연스럽게 발생한다.

경우 2: \(S_\lambda(\psi_0)\)\(\psi_0\) 에 의존하는 경우

이때 조건부 분포를 \(f(\mathbf{y} \mid S_\lambda(\psi_0); \psi, \lambda)\) 로 작성해야 하며, 이는 \(\psi = \psi_0\) 일 때만 \(\lambda\) 에서 자유롭다. 조건부 스코어 함수는 다음과 같이 정의된다:

\[ U_\psi = \frac{\partial \ell_C(\psi, \lambda; \psi_0)}{\partial \psi}\bigg|_{\psi_0 = \psi} \]

이 스코어는 조건부 기대값이 0이고, 조건부 분산이 기대 피셔 정보량의 음수와 같다 — 즉, 정규 우도 이론의 성질을 보존한다 (McCullagh & Nelder, 1989, Ch.7).

4.3 Fisher의 정확 검정: 조건부 우도의 대표 사례

\(2 \times 2\) 분할표에서 두 행의 성공 확률이 \(p_1, p_2\) 이고 관심 모수가 오즈비 \(\psi = \frac{p_1/(1-p_1)}{p_2/(1-p_2)}\) 라 하자.

성공 실패 합계
그룹 1 \(y_1\) \(n_1 - y_1\) \(n_1\)
그룹 2 \(y_2\) \(n_2 - y_2\) \(n_2\)
합계 \(m\) \(n_1 + n_2 - m\) \(n_1 + n_2\)

장해 모수는 \(\lambda = \log\frac{p_2}{1-p_2}\) (그룹 2의 로그 오즈)이다. 총 성공 수 \(m = y_1 + y_2\)\(\lambda\) 에 대한 충분통계량이 된다. \(m\) 에 조건을 걸면:

\[ P(Y_1 = y_1 \mid m; \psi) = \frac{\binom{n_1}{y_1}\binom{n_2}{m - y_1}\psi^{y_1}}{\sum_{k}\binom{n_1}{k}\binom{n_2}{m-k}\psi^{k}} \]

이것이 비중심 초기하분포(noncentral hypergeometric distribution) 이다. \(\psi = 1\) (귀무가설: 오즈비가 1)이면 중심 초기하분포(central hypergeometric distribution) 가 되며, 이것이 바로 Fisher의 정확 검정(Fisher’s exact test) 의 기반이다.

왜 조건부 우도인가: 총 성공 수 \(m\) 에 조건을 거는 순간, 두 그룹의 기저 확률(장해 모수)이 어떤 값이든 조건부 분포는 오직 오즈비 \(\psi\) 에만 의존한다. 소표본에서도 정확한 추론이 가능하고, 점근 근사에 의존하지 않는다.

4.4 매칭 쌍(Matched Pairs)과 조건부 로지스틱 회귀

조건부 우도의 또 다른 중요한 응용은 매칭된 환자-대조군 연구(matched case-control study) 이다. 각 쌍 \(i\) 에서 환자와 대조군이 공변량 \(x_i\) 에 의해 매칭되었을 때, 쌍별 절편 \(\alpha_i\) 가 장해 모수가 된다. 매칭 쌍의 수가 \(n\) 이면 장해 모수도 \(n\) 개여서 Neyman-Scott 문제가 발생한다.

조건부 로지스틱 회귀는 각 쌍 내에서의 충분통계량에 조건을 걸어 \(\alpha_i\) 를 소거한다. 결과적으로 처치 효과 \(\beta\) 에 대한 일관적 추정이 가능해진다. 이것은 Cox의 비례위험 모형에서 부분 우도(partial likelihood) 가 작동하는 원리와 동일한 논리 구조를 가진다 (McCullagh & Nelder, 1989, Ch.7).

4.5 조건부 우도의 장단점

장점 단점
소표본에서 정확한 추론이 가능하다 충분통계량이 항상 존재하는 것은 아니다
장해 모수 수가 증가해도 일관성이 유지된다 조건부화로 인한 정보 손실이 있을 수 있다
점근 근사에 의존하지 않는다 계산이 복잡할 수 있다 (초기하분포 합산)

5 프로파일 우도 (Profile Likelihood)

5.1 정의

프로파일 우도는 장해 모수 \(\lambda\)\(\psi\) 의 함수로서 MLE를 대입(플러그인)하는 방법이다.

정의: 프로파일 우도 (Profile Likelihood)

\(\psi\) 에 대해 \(\hat{\lambda}(\psi) = \arg\max_\lambda \ell(\psi, \lambda)\) 를 구하고:

\[ \ell_P(\psi) = \ell(\psi, \hat{\lambda}(\psi)) \]

\(\psi\) 에 대한 프로파일 로그 우도라 한다.

직관적으로, 프로파일 우도는 “만약 \(\psi\) 가 이 값이라면, \(\lambda\) 는 무엇이 최선인가”를 묻고, 그 최선의 \(\lambda\) 를 대입한 뒤의 우도를 보는 것이다. 등산에 비유하면, 각 경도(longitude, \(\psi\))에서 가장 높은 능선의 고도를 이은 능선선(ridgeline) 을 그리는 것과 같다.

5.2 프로파일 우도의 한계

프로파일 우도는 구현이 간단하지만 이론적으로 완전한 우도가 아니다.

  1. 편향: \(\ell_P(\psi)\) 의 곡률(curvature)은 관심 모수의 정보량을 과대평가하는 경향이 있다. 장해 모수의 추정 불확실성이 반영되지 않기 때문이다.
  2. 비일관성: Neyman-Scott 문제처럼 장해 모수가 표본 크기에 비례하여 증가하면, 프로파일 우도의 최대화점도 편향된다.
  3. 분포적 성질의 결여: 프로파일 우도비 \(\ell_P(\psi) - \ell_P(\hat{\psi})\) 는 정확히 \(\chi^2\) 분포를 따르지 않을 수 있다 — 대표본에서는 근사적으로 성립하지만, 소표본에서는 보정이 필요하다.

이러한 한계를 개선하기 위해 Barndorff-Nielsen (1983, 1985)의 수정 프로파일 우도(modified profile likelihood) 와 Cox & Reid (1987)의 직교 모수화(orthogonal parameterization) 가 제안되었다.

5.3 세 전략의 비교

기준 주변 우도 조건부 우도 프로파일 우도
장해 모수 제거 방식 데이터 변환 (적분) 충분통계량 조건부화 MLE 플러그인
적용 가능 조건 \(\lambda\)-free 부분집합 존재 \(\lambda\) 의 충분통계량 존재 항상 가능
정보 손실 있을 수 있음 있을 수 있음 없음 (과대평가 위험)
편향 보정 자동 (REML) 자동 수동 보정 필요
소표본 성능 우수 (정규 모형) 우수 (정확 추론) 보통
대표본 성능 우수 우수 우수
계산 난이도 중간 높음 낮음

6 베이지안 주변 우도 — 모형 증거 (Model Evidence)

지금까지 다룬 주변 우도는 빈도주의 맥락에서 “데이터의 부분집합”을 사용하는 것이었다. 베이지안 통계학에서 주변 우도(marginal likelihood) 라는 용어는 전혀 다른 의미로 사용된다 — 모수를 적분하여 제거한 뒤의 데이터 확률이다.

정의: 베이지안 주변 우도 (Bayesian Marginal Likelihood, Model Evidence)

모형 \(\mathcal{M}\) 하에서 모수 \(\theta\) 의 사전분포를 \(\pi(\theta)\) 라 하면:

\[ p(\mathbf{y} \mid \mathcal{M}) = \int L(\theta \mid \mathbf{y})\, \pi(\theta)\, d\theta \]

를 모형 \(\mathcal{M}\)주변 우도 또는 모형 증거(model evidence) 라 한다.

이 양은 모수 공간 전체에 걸친 우도의 가중 평균이다. 사전분포 \(\pi(\theta)\) 가 가중치 역할을 한다.

6.1 직관: 왜 모형 증거가 모형 선택에 유용한가

모형 증거 \(p(\mathbf{y} \mid \mathcal{M})\) 은 “이 모형이 이 데이터를 생성했을 확률”을 나타낸다. 복잡한 모형은 넓은 모수 공간에 사전확률을 분산시키므로, 데이터와 잘 맞는 모수값에 사전확률이 적게 배정된다. 반면 단순한 모형은 좁은 모수 공간에 사전확률을 집중시킨다. 데이터와 잘 맞으면 높은 증거값을 얻고, 맞지 않으면 낮은 증거값을 얻는다.

이것이 자동 오컴의 면도날(automatic Occam’s razor) 이다. 모형 증거는 적합도(fit)와 복잡도(complexity) 사이의 균형을 자동으로 반영한다 (Gelman et al., 2013, Ch.7).

6.2 베이즈 인자 (Bayes Factor)

두 모형 \(\mathcal{M}_1, \mathcal{M}_2\) 를 비교할 때, 모형 증거의 비가 베이즈 인자(Bayes factor) 이다:

\[ \text{BF}_{12} = \frac{p(\mathbf{y} \mid \mathcal{M}_1)}{p(\mathbf{y} \mid \mathcal{M}_2)} \]

\(\text{BF}_{12} > 1\) 이면 데이터가 \(\mathcal{M}_1\) 을 더 지지하고, \(\text{BF}_{12} < 1\) 이면 \(\mathcal{M}_2\) 를 더 지지한다.

Kass & Raftery (1995)의 해석 기준:

\(\log_{10}(\text{BF}_{12})\) 증거 강도
0 ~ 0.5 무시할 수준
0.5 ~ 1 상당한 (substantial)
1 ~ 2 강함 (strong)
> 2 결정적 (decisive)

6.3 빈도주의 vs 베이지안 주변 우도 — 용어 충돌에 주의

빈도주의 주변 우도 베이지안 주변 우도
제거 대상 장해 모수 \(\lambda\) 모든 모수 \(\theta\)
제거 방법 데이터 부분집합 선택 사전분포로 적분
결과 \(\psi\) 의 함수 스칼라 (모형의 점수)
용도 \(\psi\) 추정 모형 비교
사전분포 필요 여부 불필요 필수

같은 “marginal likelihood”라는 용어를 사용하지만, 의미와 용도가 근본적으로 다르다. 맥락을 확인하지 않으면 혼란이 생길 수 있다.


7 연결 고리들

7.1 주변 우도와 조건부 우도의 관계

전체 우도를 인수분해하면:

\[ L(\psi, \lambda \mid \mathbf{y}) = L_C(\psi \mid \mathbf{y}) \times L(S_\lambda \mid \psi, \lambda) \]

여기서 \(L_C\) 는 조건부 우도, \(L(S_\lambda \mid \psi, \lambda)\) 는 충분통계량의 주변 우도이다. 조건부 우도를 사용한다는 것은 \(L(S_\lambda \mid \psi, \lambda)\) 에 담긴 \(\psi\) 에 대한 정보를 버린다는 뜻이다. 충분통계량이 \(\psi\) 에 대한 정보도 일부 담고 있을 수 있으므로, 조건부 우도는 일반적으로 전체 우도보다 정보량이 적다.

그러나 이 정보 손실은 장해 모수를 완전히 제거하는 것의 대가이며, Neyman-Scott 문제에서 볼 수 있듯이 전체 우도의 편향보다 작은 비용일 때가 많다.

7.2 REML과 베이지안 주변 우도의 관계

혼합 모형에서 REML 추정량은 \(\beta\) 에 균등 사전분포(improper flat prior)를 부여한 뒤 적분하여 제거한 것과 동일한 결과를 준다:

\[ \ell_{\text{REML}}(\theta) = \log \int L(\theta, \beta \mid \mathbf{y})\, d\beta \]

즉, 빈도주의적 REML은 형식적으로 베이지안 주변 우도의 특수 사례이다. 이 연결은 Harville (1974)이 처음 밝혔으며, 빈도주의와 베이지안이 특정 문제에서 수렴하는 아름다운 예이다.

7.3 프로파일 우도와 라플라스 근사

베이지안 주변 우도를 라플라스 근사(Laplace approximation)로 계산하면 프로파일 우도와 관련된다:

\[ \log p(\mathbf{y} \mid \mathcal{M}) \approx \ell(\hat{\theta}) + \frac{d}{2}\log(2\pi) - \frac{1}{2}\log\det(-\mathbf{H}) \]

여기서 \(\hat{\theta}\) 는 사후 최빈값(MAP), \(\mathbf{H}\) 는 로그 사후분포의 헤시안, \(d\) 는 모수 차원이다. 첫째 항 \(\ell(\hat{\theta})\) 가 프로파일 우도와 유사하고, 나머지 항이 복잡도 보정이다. 이 근사가 BIC(Bayesian Information Criterion)의 유도 기반이기도 하다.


8 코드 예시

8.1 Step 1: 순수 Python 구현 (원리 이해)

\(2 \times 2\) 분할표에서 조건부 우도(비중심 초기하분포)를 직접 구현한다.

코드
import math
from functools import lru_cache

def log_binom(n, k):
    """로그 이항계수 계산"""
    if k < 0 or k > n:
        return -float('inf')
    return math.lgamma(n + 1) - math.lgamma(k + 1) - math.lgamma(n - k + 1)

def conditional_pmf(y1, n1, n2, m, psi):
    """
    비중심 초기하분포의 PMF
    P(Y1 = y1 | m; psi) — 조건부 우도의 핵심

    y1: 그룹1 성공 수
    n1, n2: 각 그룹 크기
    m: 총 성공 수 (= y1 + y2)
    psi: 오즈비
    """
    # 유효 범위
    lo = max(0, m - n2)
    hi = min(n1, m)

    # 수치 안정성을 위해 로그 스케일에서 계산
    log_numerator = log_binom(n1, y1) + log_binom(n2, m - y1) + y1 * math.log(psi)

    # 분모: 모든 가능한 k에 대한 합
    log_terms = []
    for k in range(lo, hi + 1):
        log_terms.append(log_binom(n1, k) + log_binom(n2, m - k) + k * math.log(psi))

    # 로그-합-지수 트릭
    max_log = max(log_terms)
    log_denominator = max_log + math.log(sum(math.exp(t - max_log) for t in log_terms))

    return math.exp(log_numerator - log_denominator)

def conditional_log_likelihood(y1, n1, n2, m, psi):
    """조건부 로그 우도"""
    return math.log(conditional_pmf(y1, n1, n2, m, psi))

# 예시: 임상시험 데이터
# 처치군 30명 중 12명 성공, 대조군 30명 중 6명 성공
n1, n2 = 30, 30
y1, y2 = 12, 6
m = y1 + y2  # 총 성공 수 = 18

# 다양한 오즈비에서 조건부 로그 우도 계산
import numpy as np

psi_grid = np.linspace(0.5, 8.0, 200)
cll_values = [conditional_log_likelihood(y1, n1, n2, m, psi) for psi in psi_grid]

# 조건부 MLE 찾기
psi_mle_idx = np.argmax(cll_values)
psi_mle = psi_grid[psi_mle_idx]

print(f"조건부 MLE of 오즈비: {psi_mle:.3f}")
print(f"표본 오즈비: {(y1/(n1-y1)) / (y2/(n2-y2)):.3f}")

위 코드는 \(P(Y_1 = y_1 \mid m; \psi)\) 를 직접 계산한다. 로그 스케일에서 계산하여 수치적 언더플로를 방지한다. 조건부 MLE가 표본 오즈비 \(\frac{y_1(n_2 - y_2)}{y_2(n_1 - y_1)}\) 와 유사하지만 정확히 같지는 않다는 점에 주목하라 — 조건부 우도가 비선형 함수이기 때문이다.

8.2 Step 2: scipy/statsmodels 구현 (실무 활용)

코드
import numpy as np
from scipy.stats import fisher_exact
from scipy.optimize import minimize_scalar
import statsmodels.api as sm

# === Fisher의 정확 검정 (조건부 우도 기반) ===
table = np.array([[12, 18],   # 처치군: 성공 12, 실패 18
                  [6, 24]])   # 대조군: 성공 6, 실패 24

odds_ratio, p_value = fisher_exact(table)
print("=== Fisher's Exact Test ===")
print(f"조건부 MLE 오즈비: {odds_ratio:.3f}")
print(f"p-value: {p_value:.4f}")

# === 프로파일 우도 vs REML 비교: 분산 추정 ===
# Neyman-Scott 문제를 시뮬레이션으로 확인
np.random.seed(42)
n_groups = 50
n_per_group = 2
sigma_true = 3.0

# 각 그룹에 고유한 평균 (장해 모수)
mu_true = np.random.normal(0, 10, n_groups)
data = np.array([
    np.random.normal(mu_true[i], sigma_true, n_per_group)
    for i in range(n_groups)
])

# 전체 MLE: sigma^2 = (1/2n) * sum(y_i1 - y_i2)^2
within_ss = np.sum((data[:, 0] - data[:, 1])**2)
sigma2_mle = within_ss / (2 * n_groups)         # 편향된 추정 (sigma^2/2에 수렴)
sigma2_reml = within_ss / n_groups               # REML (비편향)

print(f"\n=== Neyman-Scott 문제: 분산 추정 ===")
print(f"참값 sigma^2     = {sigma_true**2:.2f}")
print(f"전체 MLE sigma^2 = {sigma2_mle:.2f}  (편향: sigma^2/2에 수렴)")
print(f"REML sigma^2     = {sigma2_reml:.2f}  (비편향)")

# === 베이지안 주변 우도 (모형 증거) — 정규 모형 ===
from scipy.stats import norm

# 두 모형 비교: M1(평균=0), M2(평균 자유, 사전분포 N(0, tau^2))
y_obs = np.array([1.2, 0.8, 1.5, 0.9, 1.1])
n = len(y_obs)
sigma_known = 1.0
tau = 5.0  # 사전분포 표준편차

# M1: 평균 = 0 (모수 없음)
log_evidence_m1 = np.sum(norm.logpdf(y_obs, loc=0, scale=sigma_known))

# M2: 평균 ~ N(0, tau^2), 해석적 주변 우도 계산
# p(y|M2) = integral N(y|mu, sigma^2) * N(mu|0, tau^2) dmu
# = N(y_bar | 0, sigma^2/n + tau^2) * (나머지 항)
# 정확한 공식: product of N(yi | 0, sigma^2 + tau^2) 가 아니라,
# 결합 분포를 적분해야 한다
sigma2_marginal = sigma_known**2 + tau**2  # 주변 분산
# 독립이면: p(y|M2) = prod N(yi | 0, sigma^2 + tau^2)... 이는 근사
# 정확: 공통 mu를 적분하면 y는 교환 가능(exchangeable)
# p(y|M2) = (2*pi*sigma^2)^(-n/2) * sqrt(2*pi * V) * exp(-Q/2)
# V = 1/(n/sigma^2 + 1/tau^2), Q = sum(yi^2)/sigma^2 - V*(sum(yi)/sigma^2)^2
V = 1.0 / (n / sigma_known**2 + 1.0 / tau**2)
S = np.sum(y_obs)
Q_sum = np.sum(y_obs**2)
log_evidence_m2 = (
    -n/2 * np.log(2 * np.pi * sigma_known**2)
    + 0.5 * np.log(2 * np.pi * V)
    - 0.5 * (Q_sum / sigma_known**2 - V * (S / sigma_known**2)**2)
    - 0.5 * np.log(2 * np.pi * tau**2)  # 사전분포 정규화
)
# 더 깔끔한 공식으로 재작성
log_evidence_m2 = (
    -n/2 * np.log(2 * np.pi * sigma_known**2)
    + 0.5 * np.log(V / tau**2)
    - 0.5 * Q_sum / sigma_known**2
    + 0.5 * V * (S / sigma_known**2)**2
)

log_bf = log_evidence_m1 - log_evidence_m2
print(f"\n=== 베이즈 인자 (Bayes Factor) ===")
print(f"log p(y|M1) = {log_evidence_m1:.3f}")
print(f"log p(y|M2) = {log_evidence_m2:.3f}")
print(f"log BF(M1/M2) = {log_bf:.3f}")
print(f"해석: {'M1 지지 (평균=0)' if log_bf > 0 else 'M2 지지 (평균 자유)'}")

첫 번째 블록은 scipy.stats.fisher_exact를 사용한 조건부 우도 기반 검정이다. 두 번째 블록은 Neyman-Scott 문제를 시뮬레이션하여 전체 MLE와 REML의 차이를 보여준다. 세 번째 블록은 베이지안 주변 우도를 해석적으로 계산하여 두 모형을 비교한다.


9 응용 분야

분야 축약 우도 유형 구체적 예시
임상시험 조건부 우도 Fisher 정확 검정으로 소규모 \(2 \times 2\) 표에서 처치 효과 검정
역학 조건부 우도 매칭 환자-대조군 연구에서 조건부 로지스틱 회귀로 오즈비 추정
혼합 모형 주변 우도 (REML) 분산 성분 추정에서 고정효과를 제거한 REML 추정
공간 통계 주변 우도 공분산 함수 \(\boldsymbol{\Sigma}(\theta)\) 의 모수를 추정할 때 평균 구조 \(\beta\) 제거
베이지안 모형 선택 베이지안 주변 우도 베이즈 인자로 경쟁 모형 비교, BIC 근사
생존 분석 부분 우도 Cox 비례위험 모형에서 기저 위험함수(장해 모수)를 소거하고 공변량 효과 추정
계량경제학 프로파일 우도 패널 데이터의 고정효과 모형에서 개체별 절편을 프로파일링

10 요약과 판단 기준

어떤 축약 우도를 사용할지는 다음 기준으로 판단한다.

  1. 충분통계량이 존재하는가? 존재하면 조건부 우도가 가장 깔끔하다. 특히 소표본에서 정확 추론이 필요할 때 강력하다.
  2. 데이터의 \(\lambda\)-free 부분집합을 찾을 수 있는가? 찾을 수 있으면 주변 우도를 사용한다. REML이 대표적이다.
  3. 위 두 가지가 불가능한가? 그러면 프로파일 우도를 사용하되, 소표본에서의 편향에 주의한다. 수정 프로파일 우도를 고려한다.
  4. 모형 자체를 비교하고 싶은가? 베이지안 주변 우도(모형 증거)를 사용하되, 사전분포에 대한 민감도를 확인한다.

장해 모수는 “관심 없는 모수”이지만, 이를 제대로 처리하지 않으면 관심 모수의 추론이 왜곡된다. Neyman-Scott 문제가 보여주듯, 장해 모수를 무시하는 것이 아니라 올바르게 제거하는 것이 핵심이다.


11 관련 주제

선행 지식

후속 주제

관련 개념

Subscribe

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