수식이 나오지 않는다면 새로고침(F5)을 해주세요
모바일은 수식이 나오지 않습니다.
앞서 포스팅에서 확률과 가능도에 대해 알아보았습니다.
마지막 글을 보시면 의미심자한 말이있죠?
오늘은 이렇게 가능도를 최대화 하는 방향으로 파라미터를 추정하는 방법에 대해 알아볼 것입니다.
이를 최대 우도 추정 혹은 최대 가능도 추정법이라고 합니다.
짧게 MLE(Maximum Likelihood Estimation)라고 하겠습니다.
📌 MLE
일반적으로 통계 모델의 매개변수를 추정하는 데 사용되는 방법입니다.
가능도의 경우 사건은 정해져있고 이때 확률분포(매개변수)가 변화하며 해당 분포에서의 사건 가능도를 추정할 수 있습니다.[이해가 되시지 않는 다면 위의 글을 읽어봐주세요.]
사건을 데이터라고 합시다. 특정 매개변수들이 주어진 데이터를 가장 잘 설명하는 값을 가진다고 할 때(가능도가 최대임), 이는 관측된 데이터 샘플이 나타날 로그-우도(가능도)[log-likelihood]를 최대화하는 매개변수라는 의미입니다.
◼️ 그럼 로그-우도는 무엇인가??
먼저 우도를 확인해보면, 우도 함수 $L(\theta | X)$는 주어진 매개변수 $\theta$에 대해 관측된 데이터 $X$가 발생활 확률을 나타냅니다.
우리는 관찰한 관측치가 서로 i.i.d(independent identically distributed) 하다는 기본 가정이 필요합니다.
관측치가 같은 분포에서 각 시행마다 독립적으로 산출됐다고 하는 것입니다. 아주 중요한 부분입니다.
중요한 이유는 이러한 가정으로 인해서 각 관측치에 대한 우도들의 곱으로 우도 함수를 표현할 수 있게 됩니다.
$$
L(\theta | X = x_1,...,x_n) = \prod^n_{i=1} Pr(X=x_i | \theta) = Pr(X = x_1|\theta) \ \times \ ... \ \times Pr(X = x_n|\theta)
$$
여기에서 우리는 로그를 취해버립니다. 로그를 취해버림으로써 곱계산을 합계산으로 바꿔 버리게 되는 거죠. 해당 과정으로 더 안정적이고 효율적인 계산이 가능합니다. 그래서 로그-우도라는 것이 나오는 것이죠.
$$
\log L(\theta | X = x_1,...,x_n) = \sum^n_{i=1} \log Pr(X = x_n | \theta) = \log Pr(X = x_1 | \theta ) + ... + \log Pr(X = x_n | \theta)
$$
◼️ 추정
이를 통해 최대 우도의 $\theta$를 추정하기 위해선??
$$
\hat{\theta} = \arg \max_{\theta} \log L(\theta|X)
$$
로그-우도를 $\theta$에 대해 편미분하고 해당 값이 0이 되는 $\theta$가 가장 적합한 매개변수가 될 것입니다.
$$
\dfrac{\partial \log L(\theta | X)}{\partial \theta} = \sum^n_{i=1} \dfrac{\partial \log Pr(X = x_i | \theta)}{\partial \theta}= 0
$$
왜냐? 정말 간단히 미분을 생각해볼 때, 미분 값이 0이 라는 것은 해당 지점의 기울기가 0이 라는 것이고 함수의 peak 즉, 꼭지점이 된다는 뜻입니다.
이는 가능도가 최대인 지점을 뜻할 수 있습니다. 가능도는 확률처럼 0 미만으로 내려갈 수 없지만, 볼록 함수인지 꼭 확인해줍시다.
◼️ 예시 with 정규분포
그럼 직접 한번 확인해봅시다. 아마 다른 글들에서도 보셨듯 가장 편한 정규분포를 사용할 것입니다.
정규 분포(평균 $\mu$, 표준편차 $\sigma$)에서 표본 $x_1,...,x_n$을 i.i.d 가정 속에서 추출했다고 합시다.
이때 모평균과 모분산의 추정값은 아래와 같습니다.
$$
\hat{\mu} = \frac1n \sum^n_{i=1} x_i
$$
$$
\hat{\sigma}^2 = \frac1n sum^n_{i=1}(x_i - \mu)^2
$$
우선 가능도를 확인하기 위해 정규분포의 확률밀도함수를 확인하면 아래와 같습니다.
$$
f(x_i) = \dfrac{1}{\sigma \sqrt{2\pi}} \exp \left(- \dfrac{(x_i - \mu)^2}{2\sigma^2} \right)
$$
앞서 확인한 것과 같이 곱을 패스하고 로그-우도를 이용하여 합으로 나타내봅시다.
$$
\begin{align}
L(\theta|x) &= \sum^n_{i=1} \log \dfrac{1}{\sigma \sqrt{2\pi}} \exp \left(- \dfrac{(x_i - \mu)^2}{2\sigma^2} \right)
\\ &= \sum^n_{i=1} \{\log \left(\exp \left(- \dfrac{(x_i - \mu)^2}{2\sigma^2} \right) \right) - \log(\sigma \sqrt{2\pi}) \}
\\ &= \sum^n_{i=1} \{ - \dfrac{(x_i - \mu)^2}{2\sigma^2} -\log \sigma - \log \sqrt{2\pi} \}
\end{align}
$$
먼저 모평균을 추정하기 위해 해당 로그 우도 함수를 평균 $\mu$에 대해 편미분하면, $\log \sigma, \log \sqrt{2\pi}$는 사라지고
$$
\begin{align}
\dfrac{\partial}{\partial\mu} L(\theta|x) &= -\dfrac{1}{2 \sigma^2} \sum^n_{i=1} \dfrac{\partial}{\partial \mu} (x^2_i - 2x_i\mu + \mu^2)
\\ &= -\dfrac{1}{2 \sigma^2} \sum^n_{i=1}(-2x_i + 2\mu)
\\ &= \dfrac{1}{\sigma^2}\left(\sum^n_{i=1} x_i - n\mu \right) = 0
\end{align}
$$
이때 식을 0으로 만드는 즉, 최대 우도를 얻는 모평균의 추정량은 아래와 같습니다.
$$
\hat{\mu} = \dfrac1n \sum^n_{i=1} x_i
$$
모분산도 이와 같은 방식으로 계산하면 최종적으로 아래와 같은 추정량을 얻을 수 있습니다.
$$
\hat{\sigma^2} = \dfrac1n \sum^n_{i=1}(x_i - \mu)^2
$$
어찌보면 굉장히 간단한 방법입니다. 하지만 매우 여러 알고리즘에 사용되기 때문에 꼭 알아두는 것이 좋은 개념입니다.
'📊 Statistics for Basic > 기초 통계' 카테고리의 다른 글
짧은 기초 통계 2 : 중심 경향값과 편포(+ 로그/제곱근 변환) (0) | 2024.06.15 |
---|---|
짧은 기초 통계 1 : 통계 중요성과 변수 및 척도 (1) | 2024.06.14 |
가능도(Likelihood) vs 확률(Probability) (0) | 2024.04.23 |
확률 변수(이산과 연속) (0) | 2023.11.15 |
분류에 선형회귀를 사용하지 않는 이유 (0) | 2023.11.15 |