일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Python
- OVB
- 인과 추론
- 교란 변수
- 선형대수
- Instrumental Variable
- 인과추론
- least square estimation
- 회귀불연속설계
- Omitted Variable Bias
- 잔차의 성질
- rct
- 크롤링
- LU분해
- 사영
- 머신러닝
- HTML
- 네이버 뉴스
- Sharp RD
- 단순선형회귀
- 누락편의
- 교란변수
- residuals
- confounder
- 예제
- 최소제곱법
- simple linear regression
- causal inference
- backdoor adjustment
- 통계
- Today
- Total
Always awake,
최대 우도 추정법(Maximum Likelihood Estimation) 본문
"본 포스팅에서는 최대 우도 추정법의 개념을 설명하고자 합니다"
통계학에서 중요한 것 중 하나가 샘플(표본)을 통해서 모집단(전체 집단)을 추정하는 것입니다.
이 때, 모집단의 분포를 가정하고 표본의 특성에 따라 모수(parameter)를 추정하게 됩니다.
▶ 모수는 분포의 특성(모양)을 나타내는 지표와 같은 것입니다. 같은 분포라도 모수가 다르면 모양이 다르게 나타납니다.
예를 들면 같은 정규분포라도 모수인 평균($\mu$), 분산($\sigma^2$)이 다르면 다른 형태가 나타납니다.
출처 : https://ko.wikipedia.org/wiki/%EC%A0%95%EA%B7%9C_%EB%B6%84%ED%8F%AC
모수를 추정할 때 가장 많이 사용하는 방법이 최대 우도 추정법입니다.
최대 우도 추정법은 우도를 최대화하는 방향으로 모수를 추정하는 방법입니다.
간단히 설명하면 분포의 확률 함수에 표본 데이터를 적용하여 우도를 구합니다.
그러면 우도는 모수에 대한 함수 식이 됩니다. (모수에 따라 우도의 값이 변하게 됩니다.)
이 때 우도를 최대화 하는 모수는 얻은 표본으로부터 모집단 분포를 추정하였을 때 가장 적합한 모수입니다.
확률과 우도
확률과 우도의 차이는 우리가 관심있는 대상이 관측치인지 분포의 모수인지입니다.
- 확률 : 분포가 정해지고, 분포의 모수가 정해졌을 때 관측치가 나올 가능성
- 우도 : 분포가 정해지고, 관측치가 주어졌을 때 모수가 나올 가능성
개념적 설명
확률
- 분포가 정해지고 → 정규분포
- 모수가 정해졌을 때 → 평균$(\mu)$ = 0, 분산$(\sigma^2)$ = 1 ($X \sim Norm(0,1)$)
- 관측치가 나올 가능성 (ex. 2보다 작은 값이 나올 확률) → $Pr(X \leq 2 | X \sim Norm(0,1)) = 0.97725$
우도
- 분포가 정해지고 → 정규분포
- 관측치가 주어졌을 때 → 100개의 샘플이 있다
- 모수가 나올 가능성 → 우도(Likelihood)
우도를 개념적으로 이해하면 아래 그림과 같습니다.
100개의 샘플이 있습니다. 그리고 샘플들에 대한 histogram은 파란색입니다.
우리는 이 샘플들이 어떤 분포에서 나왔는지 추론하기 위해 histogram을 그려보았습니다. 그림에서 보는 것과 같이 정규분포 모양과 유사합니다. 그래서 정규 분포에서 샘플들이 추출되었다고 가정합니다.
그렇다면 어떤 모수를 가지는 정규 분포에서 추출되었을까요? 이제 모수를 추정할 차례입니다. 모수를 추정할 때 우리가 가지고 있는 100개의 샘플 데이터를 이용합니다.
예를 들어보겠습니다. 아래와 같이 다른 모수를 가지는 주황색, 초록색 두 개의 정규분포가 있습니다. 우리가 얻은 샘플 100개의 데이터는 둘 중 어떤 것에 더 적합할까요? (두 분포 중 어디에서 추출되었을 가능성이 높을까요?)
$평균(\mu)$ = 0, $분산(\sigma^2)$ = 1인 주황색이 더 잘 맞을 것입니다.
즉, 모수가 $\mu$ = 1.5, $\sigma^2$ = 0.25인 정규분포보다 $\mu$ = 0, $\sigma^2$ = 1인 정규분포에서 100개의 샘플이 추출되었을 가능성이 높다고 할 수 있습니다. 이 가능성을 수치화 한 것이 앞으로 설명드릴 우도(Likelihood) 입니다.
수학적 설명
위의 개념을 수학적으로 표현하면 다음과 같습니다.
우도함수
우도함수는 확률분포 함수에 관측치 값을 대입하여 얻습니다.
좀 더 풀어서 설명하면, 위에서 우리는 관측한 데이터가 특정 분포를 따를 것으로 가정함으로써 특정 확률함수를 가정하였습니다. 그리고 확률 함수는 모수 $\theta$와 데이터 $X$로 구성되어 있습니다. ($X \sim f(x,\theta)$)
여기서 데이터 $X$에 우리가 관측한 데이터 ($x_1, x_2, ... , x_n$)를 넣으면 모수 $\theta$만 남게 됩니다.
즉, 모수로 이루어진 하나의 함수로 표현되는데 이것이 우도 함수입니다.
$L(\theta = k \mid X) = Pr(\theta = k \mid X \sim f(x,\theta), X = x_1, x_2, ... , x_n)$
- 확률변수 $X$가 확률분포함수 $f(x, \theta)$를 따른다고 가정하였을 때
- 관측치 $x_1, x_2, x_3, ... , x_n$ 하에서
- 모수 $\theta$ 의 값이 $k$일 가능성입니다.
우도는 모수에 대한 함수가 되는 것입니다.
우도가 높다는 것은 해당 모수를 가진 분포가 관측치에 적합하다는 뜻입니다.
즉, 우도가 최대가 되는 모수를 찾으면 해당 데이터를 잘 설명하는 분포를 찾게 되는 것입니다.
최대 우도 추정법 계산
그렇다면 우도가 최대가 되는 모수는 어떻게 계산할까요? 고등학교 때 배운 미분을 이용합니다. 결론부터 말씀드리면 미분 값이 0이 되는 모수 값이 관측된 데이터를 가장 잘 표현하는 모수 값입니다.
가정
최대 우도 추정법 시 우리는 가정을 합니다.
우리가 관찰한 관측치가 서로 i.i.d(independent identically distributed) 하다는 것입니다. 관측치는 같은 분포에서 각 시행마다 독립적으로 발생하였다는 의미입니다.
이 가정을 통해 우도를 각 관측치에 대한 우도들의 곱으로 나타낼 수 있습니다.
$L(\theta \mid X = x_1, x_2, ..., x_n) = L(\theta \mid X = x_1) * L(\theta \mid X = x_2) *...* L(\theta \mid X = x_n)$
모수 계산
그리고 우도를 $\theta$에 대해 편미분하였을 때 그 값이 0이 되는 $\theta$가 가장 적합한 모수가 되는 것입니다.
- 우도 함수가 $\theta$에 대해 concave(볼록함수)인지 확인 절차는 반드시 거쳐야합니다.
- 2차 미분 시 모든 범위에 대해 미분함수가 0이하의 값을 가져야합니다.
추정한 모수 = ${\large argmax_{\theta}} {\Large ( \frac{\partial L(\theta \mid X) }{\partial \theta} )}$
이 때 계산의 편의성을 위해 로그를 취하여 곱셈을 덧셈으로 바꿉니다.
로그를 취하여도 모수별 우도의 크기는 변하지 않습니다.
즉, 로그 우도를 구한 후 같은 방법으로 모수를 추정하여도 같은 결과가 나옵니다.
예제) 최대 우도 추정법을 이용하여 베르누이 분포의 모수 추정하기
- 관측값(50개) : [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0]
- 베르누이 분포의 확률질량함수 : $f(x) = p^x(1-p)^{1-x} , x \in {0,1}$
- 모수($p$) : 성공확률
n개의 관측치에 대한 우도함수는 다음과 같습니다.
$L(p \mid X = x_1, x_2, ..., x_n) = L(p \mid X = x_1) ... L(p \mid X = x_n)$
$= p^{x_1}(1-p)^{1-x_1} ... p^{x_n}(1-p)^{1-x_n}= p^{x_1 + x_2 + ... + x_n} (1-p)^{n-x_1-x_2-...-x_n}$
계산을 용이하게 하기 위해 로그 우도함수로 변환하면
$\ln{L(p \mid X = x_1, x_2, ..., x_n)} = (x_1 + x_2 + ... + x_n) * \ln{p} + (n - x_1 - x_2 - ... - x_n) * \ln{(1-p)}$
이제 로그 우도 함수를 모수($p$)로 편미분 하면 다음과 같습니다.
$\large \frac{\partial \ln{ L( p \mid X = x_1, x_2, ..., x_n) }}{\partial p}$
$= \large \frac{(x_1 + x_2 + ... + x_n)}{p} - \frac{(n-x_1-x_2-...-x_n)}{(1-p)} = \frac{n - x_1 - x_2 - ... - x_n - np}{p*(1-p)}$
따라서 우도를 최대로 하는 모수를 추정하면 로그우도 함수 값이 0인 $p = (x_1 + x_2 + ... + x_n) / n$이 됩니다.
▶ 여기서 확인할 것은 우도 함수가 모수에 대해 concave 모양인지 입니다.(최대값이 전 범위에 걸쳐 1개만 존재)
이를 확인하기 위해 우도 함수를 모수에 대해 2차 미분하게 되면
$ \frac{\partial^2 \ln{ L( p \mid X = x_1, x_2, ..., x_n) }}{\partial^2 p} \large\frac{\partial^2 \frac{n - x_1 - x_2 - ... - x_n - np}{p(1-p)} }{\partial^2 p}$
$ = \frac{x_1+x_2+...+x_n - np - n}{p(1-p)}$
분자부분에 $x_1 + x_2 + ... + x_n - n \leq 0$ 이고 $np \geq 0$ 이므로 2차 미분 값은 무조건 0 이하입니다.즉, 우도함수는 모수에 대해 concave 형태입니다.
모수의 전 범위에서 우도의 최댓값인 지점은 1개만 존재하므로
이에 따라 위의 관측치로 모수 p를 추정하면 $p = 16/50 = 0.32$가 됩니다.
마치며
저는 개인적으로 통계 강의 때 가장 중요하지만 이해하기 힘들었던 것이 우도였습니다.
본 포스팅을 하면서 나름 개념 정리가 된 것 같습니다.
긴 글 읽어주셔서 감사합니다.
피드백은 언제나 감사합니다 :)
▼ 글이 도움이 되셨다면 아래 클릭 한번 부탁드립니다 :) ▼
'통계' 카테고리의 다른 글
신뢰성 분석 (1) | 2021.10.11 |
---|---|
로지스틱 회귀(Logistic Regression) (3) | 2021.10.10 |
공분산과 상관계수 (11) | 2020.09.20 |
주성분 분석(PCA)의 개념적 이해 (0) | 2020.09.01 |
카이제곱 분포 모양 확인하기 (1) | 2020.08.30 |