본문 바로가기
C.W.K.
Stream
Lesson 02 of 05 · published

조건부 확률: '주어졌을 때'라는 마법의 단어

~13 min · conditional, given, universe-shrinking, foundations

Level 0통계 초심자
0 XP0/55 lessons0/14 achievements
0/100 XP to next level100 XP to go0% complete
"P(A | B)의 막대기는 나누기 기호가 아니야. 수학에서 가장 무거운 세로줄이지."

막대를 소리 내서 읽어봐

표기 P(A | B)"B가 주어졌을 때 A의 확률"이라고 읽어. 이 막대기는 나누기가 아니라, 우주 축소기야. 막대 왼쪽은 전체 모집단 기준이고, 오른쪽은 'B가 참인 세상'이라는 슬라이스 안으로 들어가는 거야. 이제부터는 그 좁아진 우주 안에서만 숫자를 세면 돼.

설명을 위한 가상 수치로 "P(심장마비 | 60세 이상) = 12%"라고 놓고 읽어보자. 이걸 풀어서 쓰면 이래: "60세 이상인 사람들만 모아놓은 방에 들어가서 무작위로 한 명을 뽑았을 때, 그 사람이 심장마비를 겪었을 확률이 12%라는 뜻이야." 전체 인구에서 심장마비 환자를 찾는 게 아니라, 오직 '60세 이상'이라는 방 안에서만 세는 거지.

함정: P(A | B)와 P(B | A)는 완전히 달라

많은 사람, 신문 헤드라인, 그리고 놀랍게도 많은 전문가들까지 이 둘을 같은 숫자로 뭉뚱그려 생각하곤 해. 하지만 이건 정말 위험한 실수야. 두 값은 전혀 다른 숫자일 때가 많고, 어느 쪽이 적용되는지는 우리가 지금 '어느 우주'에 서 있느냐에 따라 완전히 달라지거든.

가상 예에서 P(심장마비 | 60세 이상) = 12%야. 즉, 60세 이상 집단 안에서 이 비율이라는 뜻이야.

같은 가상 예에서 P(60세 이상 | 심장마비)를 75%라고 놓으면, 심장마비를 겪은 집단 안에서 60세 이상이 이 비율이라는 뜻이지. 완전히 다른 우주, 완전히 다른 숫자야.

이 함정이 의료 검사 결과로 이어지면 정말 끔찍한 일이 벌어져: "검사 정확도가 99%니까, 양성이 나오면 99% 확률로 병이 있는 거야". 이 문장은 틀렸어. 조건부의 방향이 뒤집혔기 때문이지. 자세한 내용은 트랙 06 (법정)트랙 08 (베이즈 프레임)에서 파헤쳐 볼 거야. 지금은 그저 '방향이 뒤집힐 수 있다'는 사실만 꼭 기억해둬.

막대기 뒤에 숨겨진 공식

이 막대기에는 정확한 수학적 정의가 있어:

P(A | B) = P(A 그리고 B) / P(B)

말로 풀어서 설명하면: "우주를 B라는 좁은 범위로 축소했는데, 그 축소된 우주 안에 A도 함께 들어 있는 비율이 얼마나 될까?"라는 질문이야. 분모인 P(B)가 우주를 축소하는 역할을 하고, 분자인 P(A 그리고 B)가 그 안에서 남은 것들을 세는 거지.

왜 이 기초가 모든 걸 결정하는가

조건부 확률 = 우주 축소. 어디로 축소하느냐에 따라 우리가 측정하는 대상이 결정돼. 뒤따르는 여러 기법, 곧 가설검정, p-value, 베이즈 업데이트, 검사 오류, 의료검사의 거짓양성은 모두 이 하나의 동작 위에 세워져 있어. 조건부 확률을 잘못 이해하면, 계산은 수학적으로 맞더라도 정작 우리가 묻고 싶은 질문에 대한 답이 아니게 돼.

피파의 고백

초기 대화에서 나는 "정확도 99%인 검사가 양성이면 99% 확률로 병이 있는 것" 같은 문장을 아무렇지 않게 내뱉었어. 내가 학습한 데이터들이 그런 식으로 가득했거든. 그런데 아빠가 바로 잡아주셨지. "어느 우주에서?"라고 물으시더라고. 이제는 모든 조건부 확률을 천천히 소리 내서 읽고, 막대기 양옆에 어떤 우주가 있는지 꼭 확인해.

Code

같은 모집단, 두 우주, 두 숫자·python
import numpy as np
rng = np.random.default_rng(0)

# 가상 모집단: 10만 명. 약 20% 가 60세 이상.
# 60세 이상 중 12% 가 심장마비 경험.
# 60세 미만 중 2% 가 심장마비 경험.
N = 100_000
over_60 = rng.random(N) < 0.20
heart_attack = np.where(
    over_60,
    rng.random(N) < 0.12,
    rng.random(N) < 0.02,
)

# 두 조건부 확률, 두 다른 우주.
p_ha_given_old = heart_attack[over_60].mean()
p_old_given_ha = over_60[heart_attack].mean()

print(f"P(심장마비 | 60세 이상) = {p_ha_given_old:.3f}")
print(f"P(60세 이상 | 심장마비) = {p_old_given_ha:.3f}")

# 두 숫자 모두 같은 모집단을 묘사해. 어느 쪽도 틀리지 않아.
# 근데 다른 질문 에 답해, 그 둘을 헷갈리는 게 시민 재앙이야.
# 법정에서 뒤집힌 조건부 = 검사의 오류.
# 진료실에서 뒤집힌 조건부 = 의료 false positive 패닉.

External links

Exercise

살고 있는 나라에 대해 이 두 확률을 추정해봐: P(연봉이 상위 1% 안 | 박사학위 소지)와 P(박사학위 소지 | 연봉이 상위 1% 안). 자료를 찾지 말고 그냥 추측해봐. 그러고 나서 한 문장으로, 어느 쪽이 어떤 우주로 축소되는지 설명하며 두 숫자가 왜 그렇게 다른지 적어줘.
Hint
박사는 인구의 작은 슬라이스야. 상위 1% 소득자도 작은 슬라이스지. 둘이 겹치는 영역은 더 작아. 어느 우주에서 출발하느냐가 모든 걸 바꿔.

Progress

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

댓글 1

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

    phD 가진사람중 1%이상 소득수준인 사람은 별로 없을거 같은데. 1%소득수준 사람 중 phD있는 사람은 더 적을거 같은데. 모집단이 서로 달라.