본문 바로가기
C.W.K.
Stream
Lesson 01 of 06 · published

사전분포, 가능도, 사후분포: 베이즈의 세 축

~13 min · 사전확률, 가능도, 사후확률, vocabulary, bayes

Level 0통계 초심자
0 XP0/55 lessons0/14 achievements
0/100 XP to next level100 XP to go0% complete
"베이즈 계산은 증거만 넣으면 진실이 나오는 기계가 아니야. 시작가정과 데이터모형을 함께 적고, 증거가 들어왔을 때 결과가 어떻게 달라지는지 보는 언어야."

베이즈 정리

P(H | E) = P(E | H) × P(H) / P(E)

  • 사전확률·사전분포 P(H): 이번 증거를 보기 전에 가설이나 모수에 둔 불확실성.
  • 가능도 P(E | H): 가설이나 모수가 주어졌을 때 지금 같은 자료가 얼마나 그럴듯한지.
  • 사후확률·사후분포 P(H | E): 사전분포와 가능도를 결합한 뒤의 불확실성.
  • 주변가능도 P(E): 가능한 가설들에 걸쳐 확률을 정규화하는 항.

단순한 두 가설 문제에서는 확률로 쓸 수 있고, 연속모수 문제에서는 각 항이 분포나 밀도가 돼. 실제 베이즈 분석은 숫자 하나보다 사후분포 전체를 보는 경우가 많아.

사전분포는 어디서 오나

과거자료, 물리적 제약, 전문가 지식, 약한 정규화 가정에서 올 수 있어. 정보가 적을 때는 사전분포의 영향이 크고, 자료가 강할수록 영향이 줄어드는 경우가 많아. 그래서 한 가지 사전분포만 제시하지 말고 합리적인 대안에서 결론이 얼마나 달라지는지 민감도 분석을 해야 해.

"모든 빈도주의 분석은 숨은 균등 사전분포를 쓴다"는 말은 틀려. 빈도주의 방법은 모수를 고정된 미지수로 보고 반복표집 성질을 평가하며, 일반적으로 사전분포를 정의하지 않아. 어떤 추정량이 특정 베이즈 추정량과 수학적으로 일치하는 경우가 있어도 두 철학을 같은 것으로 만들지는 않아.

가능도도 가정이야

가능도는 과학이 자동으로 주는 사실이 아니야. 정규분포인지, 오차가 독립인지, 누락된 변수가 없는지 연구자가 모형을 선택해. 사전분포를 명시했다고 해서 가능도의 오류가 사라지지 않아. 사후예측점검과 대안모형 비교가 필요한 이유야.

사후분포에서 결정까지

사후분포는 증거와 가정 아래에서 무엇을 얼마나 믿을지 정리해주지만 행동을 자동으로 정하지는 않아. 치료할지, 제품을 출시할지, 더 조사할지는 손실함수와 비용, 윤리와 제약까지 필요해.

운영 문장

베이즈 분석의 힘은 사전분포와 가능도를 드러내고 증거가 결론을 어떻게 바꾸는지 추적할 수 있다는 데 있어. 좋은 분석은 사후확률만 자랑하지 않아. 사전분포의 근거, 가능도의 적합성, 민감도와 예측성능까지 함께 보여줘.

Code

세 조각이 모두 보이는 베이즈 정리·python
# 베이즈 정리, 세 이름 붙은 조각이 모두 보이는 작은 함수.
def bayes(prior, likelihood_given_H, likelihood_given_not_H):
    """P(H), P(E|H), P(E|not H) 에서 P(H | E) 계산."""
    numerator = likelihood_given_H * prior
    denominator = likelihood_given_H * prior + likelihood_given_not_H * (1 - prior)
    return numerator / denominator

# 예시 1: 희귀 병에 대한 의료 검사.
prior_sick = 0.001       # 희귀
P_pos_if_sick = 0.99     # 높은 민감도
P_pos_if_healthy = 0.05  # 5% false-positive 율
posterior = bayes(prior_sick, P_pos_if_sick, P_pos_if_healthy)
print(f"예시 1: 희귀 병, 양성 검사")
print(f"  prior P(병)               = {prior_sick:.4f}")
print(f"  likelihood P(+|병)         = {P_pos_if_sick:.2f}")
print(f"  likelihood P(+|건강)       = {P_pos_if_healthy:.2f}")
print(f"  POSTERIOR P(병|+)          = {posterior:.4f}")

# 예시 2: 같은 검사, 고위험 환자 (prior = 0.10).
prior_sick_high = 0.10
posterior_high = bayes(prior_sick_high, P_pos_if_sick, P_pos_if_healthy)
print(f"\n예시 2: 같은 검사, 고위험 환자")
print(f"  prior P(병)               = {prior_sick_high:.4f}")
print(f"  POSTERIOR P(병|+)          = {posterior_high:.4f}")

# 같은 검사, 같은 likelihood, 다른 prior → 엄청나게 다른 posterior.
# 이게 정확히 prior 가 떠받치는 기둥인 이유, 그리고 그걸 떨어뜨리면
# 법정에서 검사의 오류, 임상에서 의료 false-positive 패닉 생산하는 이유.

External links

Exercise

현재 가지고 있는, 불확실한 것에 대한 믿음 하나 고르기 (친구의 계획, 시장 방향, 프로젝트의 성공). 세 베이즈 조각 명시적으로 쓰기: (1) 어떤 증거 전에도 사전확률 P(믿음). (2)가능도. 그 믿음이 참이면 어떤 증거를 보길 기대, 아니면 무엇. (3) 사후확률. 실제로 관측한 증거 주어졌을 때, 업데이트된 믿음이 무엇. 대부분 사람이 1단계를 완전히 건너뜀. 연습은 의도적으로 하는 거야.
Hint
합리적인 사람들 사이의 대부분 불일치가 가능도 나 증거 아닌 사전확률 에 대한 불일치. 사전확률 이름 붙이기가 생산적 불일치의 첫 단계.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고
💛 by 똘이warm

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.