베이지안 결과 보고

Python으로 배우는 Bayesian 데이터 분석

Michal Oleszak

Machine Learning Engineer

정직한 방법

  • 각 모수의 사전분포와 사후분포를 보고합니다
posterior_draws
array([8.02800413, 8.97359548, 7.57437476, ..., 5.85264609, 7.92875104,
       7.41463758])
  • 사전/사후 분포를 그립니다
sns.kdeplot(prior_draws, shade=True, label="prior")
sns.kdeplot(posterior_draws, shade=True, label="posterior")
Python으로 배우는 Bayesian 데이터 분석

정직한 방법

두 개의 밀도 곡선이 겹쳐져 있습니다. 둘 다 종 모양입니다. 사전분포는 0을 중심으로 낮고 넓으며, 사후분포는 약 7을 중심으로 더 높고 좁습니다.

Python으로 배우는 Bayesian 데이터 분석

정직한 방법

두 개의 밀도 곡선이 겹쳐져 있습니다. 둘 다 종 모양입니다. 사전분포는 0을 중심으로 낮고 넓으며, 사후분포는 약 7을 중심으로 더 높고 좁습니다.

Python으로 배우는 Bayesian 데이터 분석

정직한 방법

두 개의 밀도 곡선이 겹쳐져 있습니다. 둘 다 종 모양입니다. 사전분포는 0을 중심으로 낮고 넓으며, 사후분포는 약 7을 중심으로 더 높고 좁습니다.

Python으로 배우는 Bayesian 데이터 분석

정직한 방법

두 개의 밀도 곡선이 겹쳐져 있습니다. 둘 다 종 모양입니다. 사전분포는 0을 중심으로 낮고 넓으며, 사후분포는 약 7을 중심으로 더 높고 좁습니다.

Python으로 배우는 Bayesian 데이터 분석

베이지안 점추정

  • 하나의 수치로는 분포에 담긴 정보를 완전히 전달할 수 없습니다

  • 그러나 때로는 모수의 점추정이 필요합니다

종 모양의 밀도 곡선.

Python으로 배우는 Bayesian 데이터 분석

베이지안 점추정

  • 하나의 수치로는 분포에 담긴 정보를 완전히 전달할 수 없습니다

  • 그러나 때로는 모수의 점추정이 필요합니다

posterior_mean = np.mean(posterior_draws)


종 모양의 밀도 곡선과 평균을 표시하는 수직선.

Python으로 배우는 Bayesian 데이터 분석

베이지안 점추정

  • 하나의 수치로는 분포에 담긴 정보를 완전히 전달할 수 없습니다

  • 그러나 때로는 모수의 점추정이 필요합니다

posterior_mean = np.mean(posterior_draws)
posterior_median = np.median(posterior_draws)

종 모양의 밀도 곡선과 중앙값을 표시하는 수직선.

Python으로 배우는 Bayesian 데이터 분석

베이지안 점추정

  • 하나의 수치로는 분포에 담긴 정보를 완전히 전달할 수 없습니다

  • 그러나 때로는 모수의 점추정이 필요합니다

posterior_mean = np.mean(posterior_draws)
posterior_median = np.median(posterior_draws)
posterior_p75 = np.percentile(posterior_draws, 75)

종 모양의 밀도 곡선과 75백분위를 표시하는 수직선.

Python으로 배우는 Bayesian 데이터 분석

신뢰구간(Credible interval)

  • 모수가 그 구간에 포함될 확률이 x%인 구간
  • 신뢰구간이 넓을수록 추정의 불확실성이 큽니다
  • 베이지안에서 모수는 확률적이므로, 구간에 포함될 확률이 있습니다
  • 빈도주의에서는 (신뢰)구간이 확률적이고 모수는 고정입니다

종 모양의 밀도 곡선과 두 점선을 사이 구간으로 표시.

Python으로 배우는 Bayesian 데이터 분석

최대 사후밀도 구간(HPD)

종 모양의 밀도 곡선 GIF. 수평선이 아래로 내려가며 교차점 사이의 확률질량 영역이 커집니다.

import arviz as az

hpd = az.hdi(posterior_draws, 
             hdi_prob=0.9)
print(hpd)
[-4.86840193  4.96075498]
Python으로 배우는 Bayesian 데이터 분석

베이지안 결과 보고, 연습해봅시다!

Python으로 배우는 Bayesian 데이터 분석

Preparing Video For Download...