최대우도추정 — 코드 실습
최대우도추정(MLE)은 관측된 데이터가 나올 가능성(우도)을 가장 크게 만드는 모수 값을 추정치로 택하는 방법입니다. 데이터 \(x_1,\dots,x_n\)에 대해 로그우도 \(\ell(\theta)=\sum_{i=1}^{n}\log f(x_i;\theta)\) 를 최대화하는 \(\hat\theta\) 를 직접 계산해 봅니다.
1. 로그우도 곡선 그리기 — 정규분포의 평균
\(\sigma\)를 알고 있다고 가정하고, 평균 \(\mu\) 후보들을 훑으며 로그우도 \(\ell(\mu)=\sum_i \log \phi(x_i;\mu,\sigma)\) 를 계산합니다. 곡선의 꼭대기가 어디인지, 표본평균(붉은 점선)과 비교해 보세요.
곡선의 최고점이 정확히 표본평균 \(\bar{x}\) 에서 나타납니다 — 정규분포 평균의 MLE는 \(\hat\mu=\bar{x}\) 입니다.
2. optim()으로 수치 최적화 — 평균과 표준편차 동시 추정
해석적 공식 없이도 optim()으로 로그우도를 직접 최대화할 수 있습니다. 정규분포의 MLE는 \(\hat\mu=\bar{x}\), \(\hat\sigma=\sqrt{\frac{1}{n}\sum(x_i-\bar{x})^2}\) (분모 \(n\)) — 수치해와 일치하는지 확인하세요.
3. 연습 — 포아송·이항분포의 MLE
연습 1. 포아송분포 \(\text{Pois}(\lambda)\) 의 MLE는 \(\hat\lambda=\bar{x}\) 입니다. 빈칸을 채워 \(\hat\lambda\) 를 계산하세요.
포아송분포의 로그우도를 \(\lambda\)로 미분해 0으로 놓으면 \(\hat\lambda=\bar{x}\) 가 나옵니다: mean(x).
lambda_hat <- mean(x)
lambda_hat연습 2. 시행 횟수 size를 아는 이항분포 \(B(\text{size}, p)\) 의 MLE는 \(\hat p = \bar{x}/\text{size}\) 입니다.
각 관측값은 size번 시행 중 성공 횟수입니다. 평균 성공 횟수를 시행 횟수로 나누세요: mean(x) / size.
p_hat <- mean(x) / size
p_hat