1 개요
추정량 탐색 방법에서 적률법, MLE, 베이즈, EM의 네 가지 방법을 비교했다. 이 포스트에서는 그 중 최대우도추정법(Maximum Likelihood Estimation) 을 심층적으로 다룬다 (Casella & Berger, 2002, Ch.7.2.2).
MLE는 가장 널리 사용되는 추정 방법이다. 그 이유는 (1) 직관이 명확하고, (2) 점근적으로 최적이며, (3) 불변성이 성립하고, (4) 수치적으로 구현 가능하기 때문이다. 그러나 전역 최대를 보장하기 어렵고, 소표본에서 편향이 있으며, 수치적으로 불안정할 수 있다는 한계도 있다.
2 정의
\(X_1, \ldots, X_n\) 이 pdf 또는 pmf \(f(x|\theta_1, \ldots, \theta_k)\) 를 따르는 모집단에서 iid로 추출되었다고 하자. 우도함수는
\[ L(\boldsymbol{\theta}|\mathbf{x}) = \prod_{i=1}^n f(x_i|\theta_1, \ldots, \theta_k) \]
이다. 각 표본점 \(\mathbf{x}\) 에 대해, \(L(\boldsymbol{\theta}|\mathbf{x})\) 를 \(\boldsymbol{\theta}\) 의 함수로서 최대화하는 값 \(\hat{\boldsymbol{\theta}}(\mathbf{x})\) 를 최대우도추정량(MLE) 이라 한다.
핵심 직관: MLE는 “관측된 데이터를 가장 높은 확률(밀도)로 생성하는 모수값”이다. 모든 가능한 \(\boldsymbol{\theta}\) 를 비교하여, 현재 데이터가 나올 가능성이 가장 큰 \(\boldsymbol{\theta}\) 를 선택한다.
MLE의 치역은 모수 공간 \(\Theta\) 와 일치한다 — 정의상 \(\Theta\) 위에서 최대화하기 때문이다. 이것은 적률법과 달리 모수 범위를 벗어나는 추정값이 나오지 않는다는 것을 의미한다.
3 MLE 찾기: 미분법
3.1 스코어 방정식
우도함수가 \(\theta_i\) 에 대해 미분 가능하면, MLE 후보는 다음 연립방정식의 해이다:
\[ \frac{\partial}{\partial \theta_i} L(\boldsymbol{\theta}|\mathbf{x}) = 0, \quad i = 1, \ldots, k \]
스코어 방정식의 해는 MLE의 후보일 뿐이다. 1도 미분이 0인 것은 극값의 필요조건이지 충분조건이 아니다:
- 극소점, 변곡점, 국소 극대점이 모두 만족할 수 있다
- 경계(boundary) 에서의 극값은 1도 미분이 0이 아닐 수 있다
- 전역 최대인지 확인하는 추가 작업이 필요하다
3.2 로그우도 (Log-Likelihood)
실무에서는 \(L(\boldsymbol{\theta}|\mathbf{x})\) 대신 로그우도 \(\ell(\boldsymbol{\theta}|\mathbf{x}) = \log L(\boldsymbol{\theta}|\mathbf{x})\) 를 최대화한다.
\[ \ell(\boldsymbol{\theta}|\mathbf{x}) = \sum_{i=1}^n \log f(x_i|\boldsymbol{\theta}) \]
\(\log\) 가 \((0, \infty)\) 에서 순증가(strictly increasing) 함수이므로, \(L\) 과 \(\ell\) 의 극값은 정확히 일치한다. 로그를 취하면:
| 로그 이전 | 로그 이후 | 이점 |
|---|---|---|
| 곱 \(\prod f(x_i)\) | 합 \(\sum \log f(x_i)\) | 미분이 쉬움 |
| 매우 작은 수의 곱 | 음수의 합 | 수치적 언더플로 방지 |
| 지수함수 포함 | 지수가 사라짐 | 대수적으로 단순화 |
4 예시: 1차원 모수
4.1 예시 1: 정규분포 ( \(\theta\) 만 미지, \(\sigma^2 = 1\) )
\(X_1, \ldots, X_n \overset{\text{iid}}{\sim} N(\theta, 1)\)
우도함수:
\[ L(\theta|\mathbf{x}) = (2\pi)^{-n/2} \exp\!\left(-\frac{1}{2}\sum_{i=1}^n (x_i - \theta)^2\right) \]
스코어 방정식: \(\frac{d}{d\theta}L(\theta|\mathbf{x}) = 0\) 은
\[ \sum_{i=1}^n (x_i - \theta) = 0 \quad \Longrightarrow \quad \hat{\theta} = \bar{x} \]
전역 최대 확인 — 방법 1 (2도 미분):
\[ \frac{d^2}{d\theta^2} L(\theta|\mathbf{x})\bigg|_{\theta=\bar{x}} < 0 \]
\(\bar{x}\) 는 유일한 내부 극값이고 극대이다. 경계(\(\pm \infty\))에서 \(L \to 0\) 이므로, \(\bar{x}\) 가 전역 최대이다.
전역 최대 확인 — 방법 2 (직접 부등식):
\[ \sum_{i=1}^n (x_i - a)^2 \geq \sum_{i=1}^n (x_i - \bar{x})^2 \quad \text{for all } a \]
등호는 \(a = \bar{x}\) 일 때만 성립한다. 따라서
\[ \exp\!\left(-\frac{1}{2}\sum(x_i - \theta)^2\right) \leq \exp\!\left(-\frac{1}{2}\sum(x_i - \bar{x})^2\right) \]
\(\theta = \bar{x}\) 에서 우도가 최대이다. 이 방법은 미분 없이 직접 부등식으로 전역 최대를 보이므로, 2도 미분 조건을 확인할 필요가 없다.
4.2 예시 2: 베르누이 분포
\(X_1, \ldots, X_n \overset{\text{iid}}{\sim} \text{Bernoulli}(p)\), \(y = \sum x_i\) 로 놓으면
\[ \ell(p|\mathbf{x}) = y\log p + (n - y)\log(1-p) \]
\(0 < y < n\) 인 경우: 미분하면
\[ \frac{d\ell}{dp} = \frac{y}{p} - \frac{n-y}{1-p} = 0 \quad \Longrightarrow \quad \hat{p} = \frac{y}{n} \]
\(d^2\ell/dp^2 = -y/p^2 - (n-y)/(1-p)^2 < 0\) 이므로 극대이다.
\(y = 0\) 인 경우: \(\ell = n\log(1-p)\) 은 \(p\) 에 대해 순감소 → \(\hat{p} = 0\)
\(y = n\) 인 경우: \(\ell = n\log p\) 은 \(p\) 에 대해 순증가 → \(\hat{p} = 1\)
모든 경우 \(\hat{p} = y/n = \sum X_i / n\) 이다.
모수 공간의 중요성: \(\hat{p} = y/n\) 이 \(y=0, n\) 에서도 MLE가 되려면 모수 공간이 \(0 \leq p \leq 1\) (닫힌 구간)이어야 한다. 지수족 정의에서 사용하는 \(0 < p < 1\) (열린 구간)과의 차이에 주의한다.
4.3 예시 3: 균등분포 ( \(\text{Uniform}(0, \theta)\) )
\(X_1, \ldots, X_n \overset{\text{iid}}{\sim} \text{Uniform}(0, \theta)\), \(\theta > 0\) 에서
\[ L(\theta|\mathbf{x}) = \prod_{i=1}^n \frac{1}{\theta} I_{(0, \theta)}(x_i) = \theta^{-n} I_{(x_{(n)}, \infty)}(\theta) \prod_{i=1}^n I_{(0, \infty)}(x_i) \]
\(\theta \geq x_{(n)}\) 일 때 \(L(\theta|\mathbf{x}) = \theta^{-n}\) 이고, 이것은 \(\theta\) 에 대해 순감소한다. 따라서 \(\hat{\theta} = x_{(n)} = \max_i X_i\) (최대 순서통계량).
이 예시는 미분법이 작동하지 않는 경우이다 — 우도함수의 지지(support)가 \(\theta\) 에 의존하고, 최대점이 경계에서 발생한다. 직접 분석이 필요하다.
4.4 예시 4: 모수 범위 제한
\(X_1, \ldots, X_n \overset{\text{iid}}{\sim} N(\theta, 1)\) 에서 \(\theta \geq 0\) 이 알려져 있다면
- \(\bar{x} \geq 0\): \(\hat{\theta} = \bar{x}\) (내부 극대)
- \(\bar{x} < 0\): \(L(\theta|\mathbf{x})\) 는 \(\theta \geq 0\) 에서 순감소 → \(\hat{\theta} = 0\) (경계 극대)
따라서
\[ \hat{\theta} = \max(\bar{X}, 0) \]
이 추정량은 양수 범위만 허용하는 모수에 대해 자연스러운 형태이다.
5 예시: 다변량 모수
5.1 정규분포 ( \(\mu, \sigma^2\) 모두 미지)
\(X_1, \ldots, X_n \overset{\text{iid}}{\sim} N(\mu, \sigma^2)\) 에서
\[ \ell(\mu, \sigma^2|\mathbf{x}) = -\frac{n}{2}\log(2\pi) - \frac{n}{2}\log\sigma^2 - \frac{1}{2\sigma^2}\sum_{i=1}^n (x_i - \mu)^2 \]
편미분:
\[ \frac{\partial \ell}{\partial \mu} = \frac{1}{\sigma^2}\sum(x_i - \mu) = 0 \quad \Longrightarrow \quad \hat{\mu} = \bar{x} \]
\[ \frac{\partial \ell}{\partial \sigma^2} = -\frac{n}{2\sigma^2} + \frac{1}{2\sigma^4}\sum(x_i - \mu)^2 = 0 \quad \Longrightarrow \quad \hat{\sigma}^2 = \frac{1}{n}\sum(x_i - \hat{\mu})^2 \]
5.2 프로파일 우도 (Profile Likelihood)
다변량 MLE에서 2도 편미분 조건(헤시안 행렬의 음정치성)을 직접 확인하는 것은 번거롭다. 프로파일 우도 기법이 더 효율적이다.
절차: 일부 모수를 먼저 최대화하고, 남은 모수에 대한 1차원 문제로 축소한다.
정규분포 예시에서:
1단계: \(\sigma^2\) 를 고정하고 \(\mu\) 에 대해 최대화 → \(\hat{\mu}(\sigma^2) = \bar{x}\) (모든 \(\sigma^2\) 에 대해 동일)
이것은 \(\sum(x_i - a)^2 \geq \sum(x_i - \bar{x})^2\) 부등식에서 직접 나온다. 따라서 모든 \(\sigma^2\) 에 대해
\[ L(\bar{x}, \sigma^2|\mathbf{x}) \geq L(\mu, \sigma^2|\mathbf{x}) \]
2단계: \(\hat{\mu} = \bar{x}\) 를 대입한 프로파일 우도
\[ L_{\text{prof}}(\sigma^2|\mathbf{x}) = (\sigma^2)^{-n/2} \exp\!\left(-\frac{\sum(x_i - \bar{x})^2}{2\sigma^2}\right) \]
를 \(\sigma^2\) 에 대해 1차원 최대화 → \(\hat{\sigma}^2 = n^{-1}\sum(x_i - \bar{x})^2\)
프로파일 우도는 다변량 문제를 순차적 1차원 문제로 분해한다. 모수가 3개 이상인 경우 특히 유용하다.
5.3 2도 편미분 조건 (참고)
2변량 칼큘러스로 직접 확인할 수도 있다. \(H(\theta_1, \theta_2) = \ell(\mu, \sigma^2|\mathbf{x})\) 에 대해:
- 1도 편미분이 모두 0
- 적어도 하나의 2도 편미분이 음수
- 헤시안 행렬식(Jacobian)이 양수
정규분포에서 \((\hat{\mu}, \hat{\sigma}^2)\) 에서의 헤시안은
\[ \frac{\partial^2 \ell}{\partial \mu^2} = -\frac{n}{\sigma^2}, \quad \frac{\partial^2 \ell}{\partial(\sigma^2)^2} = \frac{n}{2\sigma^4} - \frac{\sum(x_i - \mu)^2}{\sigma^6}, \quad \frac{\partial^2 \ell}{\partial \mu \partial \sigma^2} = -\frac{\sum(x_i - \mu)}{\sigma^4} \]
\((\hat{\mu}, \hat{\sigma}^2)\) 에서 교차항이 0이 되고, 행렬식은 \(n^2/(2\hat{\sigma}^6) > 0\) 이다. 그러나 이 계산은 프로파일 우도 방법보다 훨씬 번거롭다.
6 MLE의 편향
MLE가 반드시 비편향인 것은 아니다.
6.1 정규분포 \(\sigma^2\) 의 예시
\[ \hat{\sigma}^2_{\text{MLE}} = \frac{1}{n}\sum(X_i - \bar{X})^2 \]
6.1.1 \(E[\hat{\sigma}^2_{\text{MLE}}]\) 의 유도
\[ \begin{aligned} E\!\left[\frac{1}{n}\sum_{i=1}^n (X_i - \bar{X})^2\right] &= \frac{1}{n}\sum_{i=1}^n E\!\left[X_i^2 - 2X_i\bar{X} + \bar{X}^2\right] \\ &= \frac{1}{n}\left(\sum_{i=1}^n E[X_i^2] - 2\sum_{i=1}^n E[X_i\bar{X}] + nE[\bar{X}^2]\right) \end{aligned} \]
각 항을 계산한다. \(E[X_i^2] = \mu^2 + \sigma^2\) 이고, \(E[\bar{X}^2] = \mu^2 + \sigma^2/n\) 이다.
\(E[X_i \bar{X}]\) 는 \(\bar{X} = \frac{1}{n}\sum_j X_j\) 를 대입하면
\[ E[X_i \bar{X}] = \frac{1}{n}\sum_{j=1}^n E[X_i X_j] = \frac{1}{n}\!\left(E[X_i^2] + \sum_{j \neq i} E[X_i]E[X_j]\right) = \frac{1}{n}(\mu^2 + \sigma^2 + (n-1)\mu^2) = \mu^2 + \frac{\sigma^2}{n} \]
여기서 \(i \neq j\) 일 때 독립이므로 \(E[X_i X_j] = E[X_i]E[X_j] = \mu^2\) 을 사용했다. 대입하면
\[ \begin{aligned} E\!\left[\sum(X_i - \bar{X})^2\right] &= n(\mu^2 + \sigma^2) - 2n\!\left(\mu^2 + \frac{\sigma^2}{n}\right) + n\!\left(\mu^2 + \frac{\sigma^2}{n}\right) \\ &= n\sigma^2 - 2\sigma^2 + \sigma^2 = (n-1)\sigma^2 \end{aligned} \]
따라서
\[ E[\hat{\sigma}^2_{\text{MLE}}] = \frac{(n-1)\sigma^2}{n} = \frac{n-1}{n}\sigma^2 \neq \sigma^2 \]
편향은 \(\text{Bias} = -\sigma^2/n\) 으로, \(n\) 이 커지면 0에 수렴하지만 유한 표본에서는 과소추정한다.
비편향 추정량은 \(S^2 = \frac{1}{n-1}\sum(X_i - \bar{X})^2\) 이다. MLE에 \(n/(n-1)\) 을 곱하면 비편향 버전이 된다.
왜 MLE가 편향인가: MLE는 우도를 최대화하도록 설계되었지, 비편향이 되도록 설계되지 않았다. \(\bar{X}\) 를 \(\mu\) 대신 사용하면 \(\sum(X_i - \bar{X})^2\) 는 \(\sum(X_i - \mu)^2\) 보다 항상 작거나 같으므로 (\(\bar{X}\) 가 편차 제곱합을 최소화하는 값이기 때문), 분산이 체계적으로 과소추정된다. 이것이 자유도 보정 \(n-1\) 의 직관적 근거이다.
7 MLE의 불변성 원리
MLE의 가장 강력한 성질 중 하나이다.
\(\hat{\boldsymbol{\theta}}\) 가 \(\boldsymbol{\theta}\) 의 MLE이면, 임의의 함수 \(\tau(\boldsymbol{\theta})\) 에 대해 \(\tau(\hat{\boldsymbol{\theta}})\) 가 \(\tau(\boldsymbol{\theta})\) 의 MLE이다.
7.1 일대일 함수의 경우
\(\eta = \tau(\theta)\) 가 일대일이면, 역함수 \(\tau^{-1}\) 이 존재하고
\[ L^*(\eta|\mathbf{x}) = \prod_{i=1}^n f(x_i|\tau^{-1}(\eta)) = L(\tau^{-1}(\eta)|\mathbf{x}) \]
\(L^*\) 의 최대화와 \(L\) 의 최대화가 동일하므로, \(\hat{\eta} = \tau(\hat{\theta})\) 이다.
7.2 일반적인 함수의 경우 (일대일이 아닌 경우)
\(\tau(\theta)\) 가 일대일이 아니면, \(\eta = \tau(\theta_1) = \tau(\theta_2)\) (\(\theta_1 \neq \theta_2\))인 경우가 있다. 유도 우도(induced likelihood) 를 정의한다:
\[ L^*(\eta|\mathbf{x}) = \sup_{\{\theta : \tau(\theta) = \eta\}} L(\theta|\mathbf{x}) \]
7.3 증명
\(\hat{\eta}\) 가 \(L^*(\eta|\mathbf{x})\) 의 최대점이라 하자.
\[ \begin{aligned} L^*(\hat{\eta}|\mathbf{x}) &= \sup_\eta \sup_{\{\theta:\tau(\theta)=\eta\}} L(\theta|\mathbf{x}) \quad &&\text{(유도 우도 정의)} \\ &= \sup_\theta L(\theta|\mathbf{x}) \quad &&\text{(반복 최대화 = 무조건부 최대화)} \\ &= L(\hat{\theta}|\mathbf{x}) \quad &&\text{($\hat{\theta}$ 는 MLE)} \end{aligned} \]
또한
\[ L(\hat{\theta}|\mathbf{x}) = \sup_{\{\theta:\tau(\theta)=\tau(\hat{\theta})\}} L(\theta|\mathbf{x}) = L^*(\tau(\hat{\theta})|\mathbf{x}) \]
첫 번째 등호는 \(\hat{\theta}\) 가 \(\{\theta:\tau(\theta)=\tau(\hat{\theta})\}\) 안에서 (그리고 전체에서) \(L\) 을 최대화하기 때문이다.
따라서 \(L^*(\hat{\eta}|\mathbf{x}) = L^*(\tau(\hat{\theta})|\mathbf{x})\) 이고, \(\tau(\hat{\theta})\) 가 \(\tau(\theta)\) 의 MLE이다. \(\square\)
7.4 응용 예시
| 원래 모수 | MLE | 관심 함수 \(\tau\) | \(\tau\) 의 MLE |
|---|---|---|---|
| \(\mu\) (정규 평균) | \(\bar{X}\) | \(\mu^2\) | \(\bar{X}^2\) |
| \(p\) (베르누이) | \(\sum X_i / n\) | \(\sqrt{p(1-p)}\) | \(\sqrt{\hat{p}(1-\hat{p})}\) |
| \((\mu, \sigma^2)\) (정규) | \((\bar{X}, \hat{\sigma}^2)\) | \(\sigma\) | \(\sqrt{\hat{\sigma}^2}\) |
| \(\theta\) (지수 평균) | \(\bar{X}\) | \(P(X > t) = e^{-t/\theta}\) | \(e^{-t/\bar{X}}\) |
불변성은 다변량 경우에도 성립한다.
8 이항분포 MLE: 미지의 시행 횟수
이 예시는 MLE의 미분법이 작동하지 않는 상황과 수치적 해법의 필요성을 보여준다.
\(X_1, \ldots, X_n \overset{\text{iid}}{\sim} \text{Binomial}(k, p)\) 에서 \(p\) 는 기지이고 \(k\) 는 미지인 양의 정수이다. 예를 들어, 공정한 동전을 던져 앞면 수를 관측했지만, 몇 번 던졌는지 모르는 상황이다.
\[ L(k|\mathbf{x}, p) = \prod_{i=1}^n \binom{k}{x_i} p^{x_i}(1-p)^{k-x_i} \]
\(k\) 가 정수이고 팩토리얼이 포함되어 있어 미분이 어렵다. 대신 우도비를 사용한다.
\(k < \max_i x_i\) 이면 \(L = 0\) 이다. \(k \geq \max_i x_i\) 에서
\[ \frac{L(k|\mathbf{x}, p)}{L(k-1|\mathbf{x}, p)} = \frac{(k(1-p))^n}{\prod_{i=1}^n (k - x_i)} \]
이 비가 \(\geq 1\) 이면 \(k\) 방향으로 이동, \(< 1\) 이면 멈춘다. \(z = 1/k\) 로 치환하면
\[ (1-p)^n = \prod_{i=1}^n (1 - x_i z) \]
우변은 \(z\) 에 대해 순감소하므로 유일한 해 \(\hat{z}\) 가 존재한다. MLE는 \(\hat{k} = \lfloor 1/\hat{z} \rfloor\) 이다. 수치적으로 \(n\) 차 다항식을 풀어야 한다 (Feldman & Fox, 1968).
9 지수족에서의 MLE
지수족에서는 MLE를 체계적으로 구할 수 있다.
\[ f(x|\boldsymbol{\theta}) = h(x)\,c(\boldsymbol{\theta})\exp\!\left(\sum_{j=1}^k w_j(\boldsymbol{\theta})\,t_j(x)\right) \]
iid 표본의 로그우도는
\[ \ell(\boldsymbol{\theta}|\mathbf{x}) = \sum_{i=1}^n \log h(x_i) + n\log c(\boldsymbol{\theta}) + \sum_{j=1}^k w_j(\boldsymbol{\theta}) \sum_{i=1}^n t_j(x_i) \]
\(\boldsymbol{\theta}\) 에 대한 미분은 \(\sum_{i=1}^n t_j(x_i)\) (충분통계량)만을 포함한다. 자연 모수(natural parameter) \(\boldsymbol{\eta} = (w_1(\boldsymbol{\theta}), \ldots, w_k(\boldsymbol{\theta}))\) 로 표현하면, 스코어 방정식은
\[ E_{\boldsymbol{\eta}}[T_j(\mathbf{X})] = \sum_{i=1}^n t_j(x_i), \quad j = 1, \ldots, k \]
형태가 된다. 이것은 적률법과 유사한 구조이다 — 지수족에서는 자연 충분통계량의 적률법 추정량과 MLE가 같은 형태를 가진다.
10 응용: 선형 회귀에서 MLE = OLS
MLE가 익숙한 추정량을 자연스럽게 산출하는 대표적 사례이다.
10.1 설정
\(Y_i = \mathbf{x}_i^T\boldsymbol{\beta} + \varepsilon_i\), \(\varepsilon_i \overset{\text{iid}}{\sim} N(0, \sigma^2)\) 인 선형 회귀 모형에서 \(\boldsymbol{\beta}\) 와 \(\sigma^2\) 의 MLE를 구한다.
10.2 우도함수와 로그우도
\[ L(\boldsymbol{\beta}, \sigma^2|\mathbf{y}) = (2\pi\sigma^2)^{-n/2} \exp\!\left(-\frac{1}{2\sigma^2}\sum_{i=1}^n (y_i - \mathbf{x}_i^T\boldsymbol{\beta})^2\right) \]
\[ \ell(\boldsymbol{\beta}, \sigma^2|\mathbf{y}) = -\frac{n}{2}\log(2\pi) - \frac{n}{2}\log\sigma^2 - \frac{1}{2\sigma^2}\sum_{i=1}^n (y_i - \mathbf{x}_i^T\boldsymbol{\beta})^2 \]
10.3 \(\boldsymbol{\beta}\) 의 MLE
\(\boldsymbol{\beta}\) 에 대해 편미분하면
\[ \frac{\partial\ell}{\partial\boldsymbol{\beta}} = \frac{1}{\sigma^2}\sum_{i=1}^n \mathbf{x}_i(y_i - \mathbf{x}_i^T\boldsymbol{\beta}) = \frac{1}{\sigma^2}\mathbf{X}^T(\mathbf{y} - \mathbf{X}\boldsymbol{\beta}) = \mathbf{0} \]
\[ \hat{\boldsymbol{\beta}}_{\text{MLE}} = (\mathbf{X}^T\mathbf{X})^{-1}\mathbf{X}^T\mathbf{y} \]
이것은 OLS(최소제곱) 추정량과 정확히 동일하다. 정규 오차 가정 하에서 MLE = OLS 이다.
10.4 \(\sigma^2\) 의 MLE
\(\sigma^2\) 에 대해 편미분하면
\[ \frac{\partial\ell}{\partial\sigma^2} = -\frac{n}{2\sigma^2} + \frac{1}{2\sigma^4}\sum(y_i - \mathbf{x}_i^T\boldsymbol{\beta})^2 = 0 \]
\[ \hat{\sigma}^2_{\text{MLE}} = \frac{1}{n}\sum_{i=1}^n (y_i - \mathbf{x}_i^T\hat{\boldsymbol{\beta}})^2 = \frac{\text{RSS}}{n} \]
OLS에서 사용하는 비편향 추정량은 \(S^2 = \text{RSS}/(n-p)\) (\(p\) 는 모수 수)이다. MLE는 \(n\) 으로 나누므로 편향이 있다 — 앞서 유도한 \(E[\hat{\sigma}^2] = \frac{n-1}{n}\sigma^2\) 의 회귀 버전이다.
실무적 의미: 회귀 분석에서 summary(lm(...)) 의 잔차 표준오차는 \(\sqrt{S^2}\) (비편향)이고, MLE 기반 소프트웨어(예: statsmodels 의 loglike)는 \(\hat{\sigma}^2_{\text{MLE}}\) 를 사용한다. 혼합 모형에서는 이 차이가 더 커지며, 이를 보정하는 것이 REML(Restricted MLE)이다 — REML에 대해서는 LMM 추정과 모델 선택에서 상세히 다룬다.
11 수치적 불안정성
MLE는 최대화 문제의 해이므로, 수치적 민감도(numerical sensitivity) 문제에 취약할 수 있다.
11.1 우도 곡면이 평탄한 경우
우도함수가 최대점 근방에서 매우 평탄하면, 데이터의 작은 변화가 MLE를 크게 바꿀 수 있다.
예시 (Olkin, Petkau, & Zidek, 1981): \(X_1, \ldots, X_5 \overset{\text{iid}}{\sim} \text{Binomial}(k, p)\), \(k\) 와 \(p\) 모두 미지
| 데이터 | \(\hat{k}\) | \(\hat{p}\) |
|---|---|---|
| \((16, 18, 22, 25, 27)\) | \(99\) | \(\approx 0.22\) |
| \((16, 18, 22, 25, 28)\) | \(190\) | \(\approx 0.11\) |
27을 28로 바꾸었을 뿐인데 \(\hat{k}\) 가 거의 두 배로 변한다. 이런 경우 MLE의 신뢰성이 의심된다.
11.2 대응 전략
| 전략 | 설명 |
|---|---|
| 우도 곡면 시각화 | 최대점 근방의 곡률을 확인 |
| 프로파일 우도 | 관심 모수의 프로파일 우도 형태 검사 |
| 부트스트랩 | 리샘플링으로 MLE의 변동성 평가 |
| 정규화(regularization) | 벌점 우도(penalized likelihood) 사용 |
| 사전분포 도입 | 베이즈 접근으로 안정화 |
12 MLE의 점근적 성질
정칙 조건(regularity conditions) 하에서, MLE는 대표본에서 우수한 성질을 가진다.
12.1 일치성 (Consistency)
\[ \hat{\theta}_n \xrightarrow{P} \theta_0 \quad (n \to \infty) \]
표본 크기가 커지면 MLE는 참값에 확률적으로 수렴한다.
12.2 점근 정규성 (Asymptotic Normality)
\[ \sqrt{n}(\hat{\theta}_n - \theta_0) \xrightarrow{d} N\!\left(0, \frac{1}{I(\theta_0)}\right) \]
여기서 \(I(\theta)\) 는 피셔 정보(Fisher information) 이다:
\[ I(\theta) = E_\theta\!\left[\left(\frac{\partial}{\partial\theta}\log f(X|\theta)\right)^2\right] = -E_\theta\!\left[\frac{\partial^2}{\partial\theta^2}\log f(X|\theta)\right] \]
피셔 정보는 하나의 관측값이 \(\theta\) 에 대해 제공하는 정보량을 측정한다. MLE의 점근 분산은 이 정보의 역수이다.
12.3 점근 효율 (Asymptotic Efficiency)
MLE의 점근 분산 \(1/(nI(\theta))\) 은 Cramer-Rao 하한과 일치한다. 즉, MLE는 대표본에서 비편향 추정량이 달성할 수 있는 최소 분산에 도달한다.
12.4 정칙 조건
점근적 성질이 성립하려면 다음 조건이 필요하다:
- 모수 공간 \(\Theta\) 가 열린 집합이다
- \(f(x|\theta)\) 의 지지(support)가 \(\theta\) 에 무관하다
- \(\log f(x|\theta)\) 가 \(\theta\) 에 대해 3회 미분 가능하다
- 피셔 정보 \(I(\theta)\) 가 유한하고 양수이다
\(\text{Uniform}(0, \theta)\) 는 지지가 \(\theta\) 에 의존하므로 정칙 조건을 만족하지 않는다. 이 경우 MLE \(X_{(n)}\) 의 수렴 속도는 \(O(1/n)\) 으로, 정칙 경우의 \(O(1/\sqrt{n})\) 보다 빠르다 — 정칙 조건 위반이 반드시 나쁜 것은 아니다.
13 코드 예시
13.1 Step 1: 순수 Python 구현 (정규분포 MLE 유도)
정규분포에서 MLE를 직접 구현하고, 비편향 추정량과 비교한다.
import math
# 데이터 생성 (정규분포 N(mu=5, sigma^2=4))
data = [4.2, 6.1, 3.8, 7.3, 5.5, 2.9, 8.1, 4.7, 6.8, 3.2,
5.1, 7.9, 4.4, 6.3, 3.6, 5.8, 7.1, 4.0, 6.5, 3.4]
n = len(data)
# MLE 계산
mu_mle = sum(data) / n
sigma2_mle = sum((x - mu_mle)**2 for x in data) / n # n으로 나눔
# 비편향 추정량
sigma2_unbiased = sum((x - mu_mle)**2 for x in data) / (n - 1) # n-1로 나눔
# 로그우도 계산
def log_likelihood(data, mu, sigma2):
n = len(data)
return -n/2 * math.log(2 * math.pi * sigma2) \
- sum((x - mu)**2 for x in data) / (2 * sigma2)
ll_mle = log_likelihood(data, mu_mle, sigma2_mle)
print("=== 정규분포 MLE ===")
print(f" mu_MLE = {mu_mle:.4f}")
print(f" sigma2_MLE = {sigma2_mle:.4f} (n으로 나눔, 편향)")
print(f" sigma2_unbiased = {sigma2_unbiased:.4f} (n-1로 나눔)")
print(f" 편향 비율: E[MLE]/sigma2 = {(n-1)/n:.4f}")
print(f" 로그우도(MLE): {ll_mle:.4f}")
# 전역 최대 확인: 다른 mu 값에서의 로그우도
print("\n 전역 최대 확인:")
for mu_test in [mu_mle - 1, mu_mle, mu_mle + 1]:
ll_test = log_likelihood(data, mu_test, sigma2_mle)
print(f" mu={mu_test:.4f}: log L = {ll_test:.4f}"
f" {'<-- 최대' if abs(mu_test - mu_mle) < 0.01 else ''}")
# 불변성 원리 확인
print(f"\n=== 불변성 원리 ===")
print(f" mu의 MLE: {mu_mle:.4f}")
print(f" mu^2의 MLE (불변성): {mu_mle**2:.4f}")
print(f" sin(mu)의 MLE (불변성): {math.sin(mu_mle):.4f}")
print(f" sigma의 MLE (불변성): {math.sqrt(sigma2_mle):.4f}")13.2 Step 2: scipy 구현 (수치적 MLE와 점근 신뢰구간)
감마분포에서 수치적 MLE를 구하고, 점근 정규성을 활용한 신뢰구간을 계산한다.
import numpy as np
from scipy.optimize import minimize
from scipy.stats import gamma
from scipy.special import digamma, polygamma
np.random.seed(42)
# 감마분포 Gamma(alpha=3, beta=2)에서 표본 생성
alpha_true, beta_true = 3.0, 2.0
n = 100
data = gamma.rvs(a=alpha_true, scale=beta_true, size=n)
# 음의 로그우도 (최소화 대상)
def neg_log_lik(params, data):
alpha, beta = params
if alpha <= 0 or beta <= 0:
return 1e10
return -np.sum(gamma.logpdf(data, a=alpha, scale=beta))
# 적률법 초기값
x_bar = np.mean(data)
x_var = np.var(data)
beta_init = x_var / x_bar
alpha_init = x_bar / beta_init
# 수치적 최대화
result = minimize(neg_log_lik, [alpha_init, beta_init],
args=(data,), method='Nelder-Mead')
alpha_mle, beta_mle = result.x
print("=== 감마분포 수치적 MLE ===")
print(f" 참값: alpha={alpha_true:.4f}, beta={beta_true:.4f}")
print(f" 적률법 초기값: alpha={alpha_init:.4f}, beta={beta_init:.4f}")
print(f" MLE: alpha={alpha_mle:.4f}, beta={beta_mle:.4f}")
print(f" 로그우도: {-result.fun:.4f}")
# 관측 피셔 정보 행렬 (헤시안의 음수)
from scipy.optimize import approx_fprime
def score(params, data):
eps = 1e-5
return approx_fprime(params, neg_log_lik, eps, data)
# 헤시안 수치 근사
eps = 1e-5
hessian = np.zeros((2, 2))
for i in range(2):
params_plus = result.x.copy()
params_minus = result.x.copy()
params_plus[i] += eps
params_minus[i] -= eps
hessian[i] = (score(params_plus, data) - score(params_minus, data)) / (2*eps)
# 관측 정보 행렬 = 헤시안 (이미 음의 로그우도의 헤시안)
obs_info = hessian
cov_matrix = np.linalg.inv(obs_info)
se = np.sqrt(np.diag(cov_matrix))
print(f"\n=== 점근 신뢰구간 (95%) ===")
print(f" alpha: {alpha_mle:.4f} +/- {1.96*se[0]:.4f}"
f" -> ({alpha_mle-1.96*se[0]:.4f}, {alpha_mle+1.96*se[0]:.4f})")
print(f" beta: {beta_mle:.4f} +/- {1.96*se[1]:.4f}"
f" -> ({beta_mle-1.96*se[1]:.4f}, {beta_mle+1.96*se[1]:.4f})")
# 시뮬레이션으로 점근 정규성 확인
n_sim = 5000
alpha_mles = []
for _ in range(n_sim):
sim_data = gamma.rvs(a=alpha_true, scale=beta_true, size=n)
x_bar_s = np.mean(sim_data)
x_var_s = np.var(sim_data)
beta_s = x_var_s / x_bar_s
alpha_s = x_bar_s / beta_s
res = minimize(neg_log_lik, [alpha_s, beta_s],
args=(sim_data,), method='Nelder-Mead')
alpha_mles.append(res.x[0])
alpha_mles = np.array(alpha_mles)
print(f"\n=== 점근 정규성 시뮬레이션 (n={n}, {n_sim}회) ===")
print(f" E[alpha_MLE] = {np.mean(alpha_mles):.4f} (참: {alpha_true})")
print(f" Std[alpha_MLE] = {np.std(alpha_mles):.4f} (이론: {se[0]:.4f})")
print(f" 편향: {np.mean(alpha_mles) - alpha_true:.4f}")14 응용 분야
| 분야 | MLE 활용 | 구체적 예시 |
|---|---|---|
| 회귀 분석 | 정규 오차 하 OLS = MLE | \(\hat{\beta} = (X^TX)^{-1}X^TY\) |
| 로지스틱 회귀 | 이항 우도의 MLE | 반복적 재가중 최소제곱 (IRLS) |
| 생존 분석 | 절단/중도절단 우도의 MLE | Cox 비례위험 모형의 부분 우도 |
| 혼합 모형 | EM을 통한 MLE | 가우시안 혼합, LDA |
| 시계열 | ARMA 모형의 조건부 MLE | 조건부/정확 우도 |
| 딥러닝 | 크로스엔트로피 = 음의 로그우도 | SGD로 MLE 근사 |
마지막 항목은 주목할 만하다. 딥러닝의 학습 과정은 사실상 확률적 경사하강법(SGD)을 이용한 MLE 근사이다. 분류 문제의 크로스엔트로피 손실은 베르누이/다항 분포의 음의 로그우도이고, 회귀 문제의 MSE 손실은 정규분포의 음의 로그우도(상수 제외)이다.
15 관련 주제
선행 지식
상위 주제
기존 관련 포스트
- Maximum Likelihood Estimation & Statistical Bias — MLE 기초와 OLS와의 연결 (영문)
- BLUE (Best Linear Unbiased Estimator) — MSE와 편향-분산 트레이드오프
후속 주제
- 추정량 평가: Cramer-Rao 하한과 효율성 — MLE의 점근 효율 근거
- 점근 이론 (Ch.10) — MLE의 일치성, 점근 정규성 증명
16 참고 문헌
- Casella, G. & Berger, R. L. (2002). Statistical Inference (2nd ed.). Duxbury. Chapter 7, Section 7.2.2.
- Feldman, D. & Fox, M. (1968). Estimation of the parameter \(n\) in the binomial distribution. JASA, 63, 150-158.
- Olkin, I., Petkau, A. J. & Zidek, J. V. (1981). A comparison of \(n\) estimators for the binomial distribution. JASA, 76, 637-642.
- Zehna, P. W. (1966). Invariance of maximum likelihood estimators. Annals of Mathematical Statistics, 37, 744.
- Fisher, R. A. (1922). On the mathematical foundations of theoretical statistics. Phil. Trans. Royal Society A, 222, 309-368.