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

독립성은 검증된 주장이지 디폴트가 아니야

~12 min · independence, mutually-exclusive, spurious-correlation, foundations

Level 0통계 초심자
0 XP0/55 lessons0/14 achievements
0/100 XP to next level100 XP to go0% complete
"독립은 '서로 달라 보인다'는 인상이 아니야. 한쪽을 알았을 때 다른 쪽의 확률이 바뀌지 않는다는 수학적 조건이야."

두 가지 같은 정의

사건 A와 B가 독립이면 P(A | B) = P(A)야. B가 일어났다는 정보를 알아도 A의 확률이 그대로라는 뜻이지. 같은 내용을 결합확률로 쓰면 P(A 그리고 B) = P(A) × P(B)가 돼.

상호배타성과는 정반대야

상호배타적인 두 사건은 동시에 일어날 수 없어. 공정한 동전 한 번 던지기에서 앞면과 뒷면이 그런 관계야. 반면 독립인 사건은 함께 일어날 수 있고, 한 사건의 발생이 다른 사건의 확률을 바꾸지 않아. 확률이 0이 아닌 두 사건이 상호배타적이면 독립일 수 없어.

독립성은 맥락에서 판단해

현실자료에는 시간, 장소, 공통 원인, 네트워크가 관측을 묶는 경우가 많아. 같은 날의 여러 자산수익률, 한 서버 장애 때의 요청실패, 같은 가정의 건강결과를 독립이라고 두면 불확실성을 작게 볼 수 있어. 반대로 설계된 무작위화나 충분한 시간간격이 독립을 그럴듯하게 만들기도 해.

상관이 보인다고 곧바로 인과관계가 되는 것도 아니야. 두 변수 모두 시간추세나 제3의 원인에 반응할 수 있어. 우연상관 사례는 모양이 비슷하다는 사실만으로 설명이 생기지 않는다는 걸 보여줘.

살아남는 규칙

확률을 곱하거나 표준오차를 계산하기 전에 무엇이 관측들을 함께 움직일 수 있는지 적어봐. 독립은 무조건 의심하거나 무조건 믿을 말이 아니라, 자료생성과정과 연구설계로 정당화할 조건이야.

뒤에서 다시 만날 이유

가장 단순한 중심극한정리는 독립을 가정하지만, 약한 의존을 허용하는 다른 중심극한정리도 있어. 중요한 건 "상관이 있으면 CLT가 실패한다"고 외우는 게 아니라, 사용한 정리가 어떤 의존구조와 분산계산을 요구하는지 확인하는 거야.

Code

독립: 교과서 케이스 vs 실제 세상 케이스·python
import numpy as np
rng = np.random.default_rng(7)
N = 50_000

# 쌍 1: 동전 던지기와 카드 뽑기 — 설계상 독립.
coin = rng.integers(0, 2, size=N)               # 0 또는 1
card_is_heart = rng.random(size=N) < 0.25       # 카드 1/4 이 하트

p_coin = coin.mean()
p_heart = card_is_heart.mean()
p_both = (coin & card_is_heart).mean()
print(f"쌍 1 (설계상 독립):")
print(f"  P(coin) * P(heart) = {p_coin * p_heart:.4f}")
print(f"  P(coin AND heart)  = {p_both:.4f}   <- 곱과 일치")

# 쌍 2: 가상 키와 몸무게 — 공유 원인을 통해 상관.
# 둘 다 숨겨진 'body size' 변수에 의해 움직임.
body_size = rng.normal(size=N)
height_tall = (body_size + 0.3 * rng.normal(size=N)) > 0   # 중앙값보다 큼
weight_heavy = (body_size + 0.3 * rng.normal(size=N)) > 0  # 중앙값보다 무거움

p_tall = height_tall.mean()
p_heavy = weight_heavy.mean()
p_both2 = (height_tall & weight_heavy).mean()
print(f"\n쌍 2 (숨겨진 body size 를 통해 상관):")
print(f"  P(tall) * P(heavy) = {p_tall * p_heavy:.4f}")
print(f"  P(tall AND heavy)  = {p_both2:.4f}   <- 곱보다 훨씬 큼")

# joint 의 곱셈 규칙은 독립 아래에서만 성립.
# 깨질 때 = 숨겨진 결합이 있다는 의미 — 세상은 그걸로 가득해.

External links

Exercise

독립이라고 가정하기 쉬운 사건 쌍 세 개를 골라 공통 원인과 시간적 연결을 적어봐. 그 연결을 끊거나 측정할 연구설계가 무엇인지도 써.
Hint
같은 사람의 반복측정, 같은 날의 시장자료, 같은 서버의 요청처럼 군집을 먼저 찾아봐.

Progress

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

댓글 1

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

    독립은 쉽게 가정하면 안되는군,,, 독립은 여러모로 쉽지 않아