Method of Moments & Maximum Likelihood Estimate
간단하게 적률추정법(MOM)과 최대우도추정법(MLE)를 설명하고 비교해보자.
Notation
공통되는 notation 정리
$\theta$: parameter, 모수. 일반적으로 알 수 없다(unknown). $\mu, \ \sigma^2$은 모평균, 모분산으로 population이기 때문에 일반적으로 알 수 없다.
$\hat{\theta}$: estimator, 모수 추정량.
$X$: 확률변수
$x$, $x_1, x_2, \dots, x_n$: data, observation, 실제 관찰(관측)된 값
$\bar{X}$: 확률변수로의 표본평균
$\bar{x}$: 실제 관측 값의 표분평균
$S^2$: 확률변수로의 표본분산
$s^2$: 실제 관측 값의 표본분산
$p(x), \ f(x)$: 확률 질량/밀도 함수(pmf, pdf)
Method of Moments (MOM, MME)
관측된 데이터셋 $x_1, \dots, x_n$가 unknown parameter $\theta$에 의해 생성되었다고 하자.
이때 parameter 개수에 따라 $E(X^k)=\cfrac{1}{n}\displaystyle\sum_{i=1}^{n} x_i^k$를 계산하여 parameter를 계산한다.
일반적으로 일변수의 경우 $E(X)=\bar{x}$만 계산해도 충분하며, parameter가 2개인 경우 $E(X)=\bar{x}$와 $Var(X)=s^2$을 연립하여 parameter를 추정한다.
Example: Uniform distribution
$U(0, \theta)$에서 8개의 데이터 $2.0,\ 2.4,\ 3.1,\ 3.9,\ 4.5,\ 4.8,\ 5.7,\ 9.9$를 얻었다고 하자.
적률추정법을 이용하여 $\theta$를 추정해보자.
$E(X) = \frac{\theta}{2}=4.5375$이므로 우리가 추정한 모수는 $\hat{\theta}=9.075$이다.
그러나 우리가 추정한 $\hat{\theta}=9.075$로는 생성된 데이터 $9.9$를 얻을 수 없다!
적률추정법은 쉽고 합리적(sensible)이지만, 항상 적절한 값으로 추정하는 것은 아니다.
Maximum Likelihood Estimate (MLE)
관측된 데이터셋 $x_1, \dots, x_n$가 $k$개의 unknown parameter $\mathbf{\theta}=(\theta_1, \dots, \theta_k)$에 의해 생성되었다고 하자. 이때 jointly likelihood function은 다음과 같다.
\[ L(x_1, \dots, x_n; \theta_1, \dots, \theta_k) = \prod_{i=1}^{n} f(x_i; \theta_1, \dots, \theta_k) \]
이때 $L(\theta)$의 값이 최대가 되는 $\theta$로 parameter를 추정한다.
Example: Normal distribution
정규분포는 parameter가 2개인 분포함수다.
likelihood를 구하면
\[ L(x_1, \dots, x_n; \mu, \sigma^2)=(2 \pi \sigma^2)^{-n/2} \exp \left( -\cfrac{\sum_{i=1}^{n}(x_i - \mu)^2 }{2\sigma^2} \right) \]
일반적으로 미분이 가능한 경우, log-likelihood를 이용하여 미분 계산을 쉽게 한다.
\[ l(x_1, \dots, x_n;\mu, \sigma^2) = \ln L(\mu, \sigma^2) = -\cfrac{n}{2}\ln(2\pi \sigma^2) - \cfrac{\sum_{i=1}^{n}(x_i - \mu)^2}{2\sigma^2} \]
$\cfrac{\partial l(\mu, \sigma^2)}{\partial \mu} = \cfrac{\sum_{i=1}^{n}(x_i - \mu)}{2\sigma^2}$
원래 식이 이차식이므로 위 식이 최솟값이 되는 $\hat{\mu}=\frac{1}{n}\sum_i x_i = \bar{x}$이다.
$\cfrac{\partial l(\mu, \sigma^2)}{\partial \sigma^2} = - \cfrac{n}{2\sigma^2} + \cfrac{\sum_{i=1}^{n}(x_i - \mu)^2}{\sigma^4}$
위에서 구한 $\hat{\mu}=\bar{x}$을 대입하고(식 연립) 위 편미분 식이 $0$이 되는 지점을 구하면 $\hat{\sigma}^2 = \cfrac{1}{n}\sum_i (x_i - \bar{x})^2$
Example: Uniform distribution
위에 적률추정법으로 추정한 $\theta$는 실제론 불가능한 parameter였다.
MLE로 추정한 값은 $\hat{\theta} = \max(x_1, \dots, x_n)=9.9$이다. (참고: https://trivia-starage.tistory.com/144)
따라서 MLE로 추정한 값은 reasonable하다고 할 수 있다.
Does MLE always win?
그러면 MLE만 사용하면 되는 것 아닌가?
그렇지 않다.
Example: Beta distribution
$Beta(\alpha, \beta)$에서 추출된 데이터가 다음과 같다고 하자.
\[ 0.28 \ 0.32 \ 0.09 \ 0.35 \ 0.45 \ 0.41 \ 0.06 \]
\[ 0.16 \ 0.16 \ 0.46 \ 0.35 \ 0.52 \ 0.29 \ 0.31 \]
MLE로 두 parameter $\alpha, \beta$를 추정해보자.
\begin{align} L(\alpha, \beta) &= \prod_{i=1}^{n} \cfrac{\Gamma(\alpha + \beta)}{\Gamma(\alpha) \Gamma(\beta)}x^{\alpha - 1} (1-x)^{\beta - 1} \\ &= \left( \cfrac{\Gamma(\alpha + \beta)}{\Gamma(\alpha) \Gamma(\beta)} \right)^n (x_1 \cdots x_n)^{\alpha - 1} ((1-x_1) \cdots (1-x_n))^{\beta-1} \end{align}
log-likelihood를 구하면
\[ l(\alpha, \beta) = n \ln\Gamma(\alpha + \beta) - n\ln\Gamma(\alpha) - n\ln\Gamma(\beta) +(\alpha-1)\sum_i \ln x_i + (\beta-1)\sum_i \ln(1-x_i) \]
여기서 $l(\cdot)$ 값이 최대가 되는 지점을 찾기 위해 $\Gamma(x)$를 미분해야하는 상황에 만난다.
일반적으로 감마함수를 직접 미분하는것은 불가능하고, 특별한 방법을 이용하여 구할 수 있다.
($\psi(x)=\cfrac{d}{dx}\ln \Gamma(x)$로 새로 정의하고, $\Gamma(x)' = \Gamma(x) \psi(x)$ 성질을 이용한다.)
(그리고 $\psi(x) = -\gamma + \sum_{n=0}^{\infty}(\frac{1}{n+1} - \frac{1}{n+x})$라는 성질도 이용한다. 여기서 $\gamma$는 Euler-Mascheroni constant이다.)
실제로는 gradient descent와 같은 별도의 최적화를 통해 parameter $\alpha, \beta$를 구한다.
(그래서 통계 연습문제의 베타분포의 추정은 $Beta(\alpha, 1)$과 같이 한쪽이 상수이다)
method of moments를 이용해서 베타분포의 parameter를 추정해보자.
\[ E(X) = \cfrac{\alpha}{\alpha + \beta} , \quad Var(X) = \cfrac{\alpha \beta}{(\alpha + \beta)^2 (\alpha + \beta + 1)} \]
임을 알고 있으니 이를 이용한다.
주어진 데이터를 통해 $\bar{x}=0.3007$이고 $s^2=0.01966$이므로 $E(X)$와 $Var(X)$를 연립하면
\[ \hat{\alpha}=2.92, \quad \hat{\beta}=6.78 \]
이라는 추정량을 (비교적 쉽게) 얻을 수 있다.