1 개요
통계적 추론의 출발점은 “데이터가 어디서 왔는가?”라는 질문이다. 이 질문에 대한 수학적 답이 확률 표본(random sample) 모형이다. 확률 표본 모형은 데이터 수집 과정을 iid(independent and identically distributed)라는 두 가지 조건으로 형식화하며, 이후 모든 통계적 추론은 이 가정 위에 세워진다.
이 포스트에서는 Casella & Berger (2002, Ch.5.1)의 내용을 바탕으로 확률 표본의 정의, 결합분포의 구조, 유한 모집단에서의 표본 추출 문제를 다룬다.
2 확률 표본의 정의
확률변수 \(X_1, \ldots, X_n\) 이 모집단 \(f(x)\) 로부터의 크기 \(n\) 인 확률 표본(random sample)이라 함은 다음 두 조건을 동시에 만족하는 것을 말한다:
- \(X_1, \ldots, X_n\) 은 상호 독립(mutually independent)이다
- 각 \(X_i\) 의 주변 pdf 또는 pmf는 동일한 함수 \(f(x)\) 이다
이를 독립 동일 분포(independent and identically distributed, iid) 확률변수라 한다 (Casella & Berger, 2002, Ch.5).
2.1 두 조건의 의미
독립성(independence): 한 관측값을 아는 것이 다른 관측값에 대한 정보를 제공하지 않는다. 첫 번째 실험에서 \(X_1 = 3.5\) 를 관측했더라도, 두 번째 실험의 결과 \(X_2\) 의 확률분포는 바뀌지 않는다.
동일 분포(identical distribution): 모든 관측값이 같은 모집단에서 나온다. 실험 조건이 관측마다 바뀌지 않는다는 가정이다. 측정 장비가 첫 번째와 열 번째 관측에서 동일하게 작동한다는 것을 의미한다.
공정한 주사위를 10번 던지는 것은 확률 표본의 전형적인 예이다.
- 독립성: 3번째에 6이 나왔다고 4번째에 6이 나올 확률이 변하지 않는다
- 동일 분포: 매번 같은 주사위를 같은 방식으로 던진다
반면 “이전에 나온 숫자를 제외하고 던진다”거나 “매번 다른 주사위를 쓴다”면 iid 조건이 깨진다.
2.2 왜 두 조건이 모두 필요한가
독립이지만 동일 분포가 아닌 경우를 생각해보자. 서로 다른 측정 장비 \(A\) 와 \(B\) 로 번갈아 측정한다면, \(X_1 \sim f_A(x)\) 이고 \(X_2 \sim f_B(x)\) 로 분포가 다르다. 이 경우 표본평균 \(\bar{X}\) 가 어떤 모수를 추정하는지조차 불명확해진다.
동일 분포이지만 독립이 아닌 경우도 문제를 일으킨다. 시계열 데이터에서 연속된 관측값은 같은 과정에서 나오지만(동일 분포), 직전 값에 따라 다음 값이 영향받는다(비독립). 이 경우 \(\text{Var}(\bar{X}) = \sigma^2/n\) 이라는 핵심 결과가 성립하지 않으며, 별도의 분석 방법이 필요하다.
3 결합분포의 곱셈 구조
iid 가정의 수학적 위력은 결합분포의 구조에서 드러난다. iid 확률변수의 결합 pdf(또는 pmf)는:
\[ f(x_1, \ldots, x_n) = f(x_1) f(x_2) \cdots f(x_n) = \prod_{i=1}^{n} f(x_i) \]
모집단이 모수 \(\theta\) 를 가진 모수적 분포족에 속하면:
\[ f(x_1, \ldots, x_n | \theta) = \prod_{i=1}^{n} f(x_i | \theta) \]
이 곱셈 구조가 갖는 의미는 근본적이다:
| 곱셈 구조의 결과 | 설명 |
|---|---|
| 확률 계산의 단순화 | \(n\) 차원 적분이 1차원 적분의 곱으로 분해된다 |
| 가능도 함수의 기반 | 최대가능도 추정(MLE)은 이 곱을 \(\theta\) 에 대해 최대화한다 |
| 충분통계량의 존재 | 인수분해 정리(factorization theorem)가 이 구조에 의존한다 |
| 로그 변환의 편의성 | 곱의 로그 = 로그의 합이므로 로그가능도가 합으로 표현된다 |
3.1 예시: 지수분포 표본
\(X_1, \ldots, X_n\) 이 \(\text{Exponential}(\beta)\) 모집단에서의 확률 표본이라 하자. 각 \(X_i\) 의 pdf는 \(f(x|\beta) = \frac{1}{\beta} e^{-x/\beta}\) 이다 ( \(x > 0\) ). 결합 pdf는:
\[ f(x_1, \ldots, x_n | \beta) = \prod_{i=1}^{n} \frac{1}{\beta} e^{-x_i/\beta} = \frac{1}{\beta^n} e^{-(x_1 + \cdots + x_n)/\beta} \]
이 결합 pdf를 사용하여 표본에 관한 확률을 계산할 수 있다. 예를 들어 “모든 회로 기판이 2년 이상 작동할 확률”은:
\[ P(X_1 > 2, \ldots, X_n > 2) = \prod_{i=1}^{n} P(X_i > 2) = \left(e^{-2/\beta}\right)^n = e^{-2n/\beta} \]
첫 번째 등호는 독립성에 의해, 두 번째 등호는 동일 분포에 의해 성립한다. iid의 두 조건이 각각 어떤 역할을 하는지 명확히 보여주는 예이다.
\(\beta\) (평균 수명)가 \(n\) 에 비해 충분히 크면 이 확률은 1에 가까워진다. 직관적으로, 평균 수명이 긴 제품은 표본 전체가 일정 기간 이상 작동할 가능성이 높다.
4 무한 모집단과 유한 모집단
4.1 무한 모집단에서의 표본 추출
Definition 5.1.1은 무한 모집단에서의 표본 추출(sampling from an infinite population)이라고도 불린다. 이유는 다음과 같다:
\(X_1 = x_1\) 을 관측한 후 \(X_2\) 를 관측할 때, 독립 가정은 \(X_2\) 의 확률분포가 \(X_1 = x_1\) 의 관측에 영향받지 않음을 의미한다. 무한 모집단에서 \(x_1\) 하나를 “제거”해도 모집단은 변하지 않으므로, \(X_2\) 는 여전히 같은 모집단에서의 관측이다.
4.2 유한 모집단에서의 표본 추출
유한 모집단 \(\{x_1, \ldots, x_N\}\) 에서 표본을 추출하는 경우, 추출 방법에 따라 iid 여부가 달라진다.
4.2.1 복원 추출 (Sampling with Replacement)
각 단계에서 \(N\) 개의 값 중 하나를 동일한 확률 \(1/N\) 으로 선택한다. 선택된 값은 기록 후 다시 모집단에 “되돌려” 놓는다.
- 독립성 충족: 매 단계에서 전체 \(N\) 개의 값이 선택 가능하므로, 이전 선택이 다음 선택에 영향을 주지 않는다
- 동일 분포 충족: 각 \(X_i\) 는 \(\{x_1, \ldots, x_N\}\) 위의 동일한 이산균일분포를 따른다
- 결론: Definition 5.1.1의 조건을 만족한다 (iid)
이 방식은 부트스트랩(bootstrap)의 기반이 된다.
4.2.2 비복원 추출 (Sampling without Replacement)
한 번 선택된 값은 모집단에서 제거된다. 첫 번째 선택은 \(1/N\) 의 확률, 두 번째 선택은 \(1/(N-1)\) 의 확률로 이루어진다.
비복원 추출에서 \(X_1, \ldots, X_n\) 은 동일 분포이지만 독립이 아니다.
- 독립성 위반: \(y\) 가 첫 번째에 선택되면, 두 번째에 \(y\) 가 선택될 확률은 0이다. 즉, \(P(X_2 = y | X_1 = y) = 0\) 이지만 \(P(X_2 = y | X_1 = x) = 1/(N-1)\) ( \(x \neq y\) )이다.
- 동일 분포 충족: 각 \(X_i\) 의 주변분포는 모두 \(P(X_i = x) = 1/N\) 이다.
\(X_2\) 의 주변분포가 \(X_1\) 과 동일한 이유를 확인하자. 전확률 공식을 사용하면:
\[ P(X_2 = x) = \sum_{i=1}^{N} P(X_2 = x | X_1 = x_i) P(X_1 = x_i) \]
\(x = x_k\) 인 경우, \(P(X_2 = x_k | X_1 = x_k) = 0\) 이고 \(j \neq k\) 에 대해 \(P(X_2 = x_k | X_1 = x_j) = 1/(N-1)\) 이므로:
\[ P(X_2 = x_k) = (N-1) \cdot \frac{1}{N-1} \cdot \frac{1}{N} = \frac{1}{N} \]
따라서 \(X_2\) 의 주변분포는 \(X_1\) 의 주변분포와 동일하다. 같은 논증을 일반화하면 모든 \(X_i\) 가 동일한 주변분포를 가짐을 보일 수 있다.
4.3 유한 모집단에서의 iid 근사
비복원 추출은 엄밀히 iid가 아니지만, 모집단 크기 \(N\) 이 표본 크기 \(n\) 에 비해 충분히 크면 근사적으로 iid로 취급할 수 있다. 그 이유는 조건부 분포와 주변분포의 차이가 작기 때문이다.
비복원 추출에서 \(X_2\) 의 조건부 분포는:
\[ P(X_2 = x_1 | X_1 = x_1) = 0, \quad P(X_2 = x | X_1 = x_1) = \frac{1}{N-1} \quad (x \neq x_1) \]
주변분포 \(P(X_2 = x) = 1/N\) 과 비교하면, \(N\) 이 크면 \(1/(N-1) \approx 1/N\) 이므로 조건부 분포와 주변분포가 거의 같아진다. 일반적으로 \(X_i\) 의 조건부 확률 \(1/(N-i+1)\) 은 \(i \leq n\) 이 \(N\) 에 비해 작을 때 \(1/N\) 에 가깝다.
표본 크기 \(n\) 이 모집단 크기 \(N\) 의 5% 이하이면 ( \(n/N \leq 0.05\) ), 비복원 추출을 iid로 근사해도 실무적으로 문제가 없다. 이 기준을 초과하면 유한 모집단 보정(finite population correction)을 적용해야 한다.
4.4 예시: 유한 모집단 근사의 정확도
모집단 \(\{1, 2, \ldots, 1000\}\) 에서 \(n = 10\) 의 표본을 비복원으로 추출할 때, 모든 표본값이 200보다 클 확률을 계산해보자.
iid 근사 (독립 가정):
\[ P(X_1 > 200, \ldots, X_{10} > 200) \approx \left(\frac{800}{1000}\right)^{10} = 0.107374 \]
정확한 계산 (초기하분포):
\(Y\) 를 표본에서 200보다 큰 값의 개수라 하면, \(Y \sim \text{Hypergeometric}(N=1000, M=800, K=10)\) 이므로:
\[ P(Y = 10) = \frac{\binom{800}{10}\binom{200}{0}}{\binom{1000}{10}} = 0.106164 \]
근사값 0.107374와 정확값 0.106164의 차이는 0.001 수준으로, \(N = 1000\) 에 비해 \(n = 10\) 이 충분히 작기 때문에 iid 근사가 잘 작동한다.
5 iid 가정이 깨지는 현실 상황
iid는 강력하지만, 현실 데이터에서 종종 위반된다. 각 위반 유형에 대한 대응 방법을 아는 것이 중요하다.
| 위반 유형 | 예시 | 대응 방법 |
|---|---|---|
| 독립성 위반 | 시계열 데이터 (자기상관) | 시계열 모형 (ARIMA, GARCH) |
| 동일 분포 위반 | 다른 실험 조건에서 측정 | 혼합 모형, 계층 모형 |
| 양쪽 모두 위반 | 공간 데이터 (공간 상관 + 이질성) | 공간통계 모형 |
iid 가정이 깨졌다고 통계 분석을 할 수 없는 것은 아니다. 그러나 iid를 전제로 한 방법(예: 단순 \(t\) -검정)을 비iid 데이터에 적용하면 잘못된 결론에 이를 수 있다. 핵심은 데이터가 iid인지를 먼저 판단하고, 아니라면 적절한 대안을 사용하는 것이다.
6 코드 예시
6.1 Step 1: 순수 Python 구현 (복원 vs 비복원 추출의 차이)
import random
import math
random.seed(42)
# 유한 모집단
population = list(range(1, 1001)) # {1, 2, ..., 1000}
n = 10
n_sim = 100000
# 복원 추출: 모든 값이 200보다 클 확률
count_with = 0
for _ in range(n_sim):
sample = [random.choice(population) for _ in range(n)]
if all(x > 200 for x in sample):
count_with += 1
# 비복원 추출: 모든 값이 200보다 클 확률
count_without = 0
for _ in range(n_sim):
sample = random.sample(population, n)
if all(x > 200 for x in sample):
count_without += 1
print(f"복원 추출 (시뮬레이션): P(all > 200) = {count_with/n_sim:.6f}")
print(f"복원 추출 (이론, iid): P(all > 200) = {(800/1000)**10:.6f}")
print(f"비복원 추출 (시뮬레이션): P(all > 200) = {count_without/n_sim:.6f}")
print(f"비복원 추출 (이론, 정확): P(all > 200) = 0.106164")이 코드는 복원 추출(iid)과 비복원 추출(non-iid)에서 확률 계산의 차이를 시뮬레이션으로 확인한다. \(N = 1000\) , \(n = 10\) 에서 두 방법의 결과가 거의 같음을 보여준다.
6.2 Step 2: numpy/scipy 구현 (iid 가정 검증)
import numpy as np
from scipy import stats
np.random.seed(42)
# iid 표본과 비iid 표본의 차이를 시각적으로 확인
n = 100
# iid 표본: 정규분포에서 독립 추출
iid_sample = np.random.normal(loc=5, scale=2, size=n)
# 비iid 표본: 자기상관이 있는 시계열
non_iid_sample = np.zeros(n)
non_iid_sample[0] = np.random.normal(5, 2)
for i in range(1, n):
non_iid_sample[i] = 0.8 * non_iid_sample[i-1] + 0.2 * np.random.normal(5, 2)
# Ljung-Box 검정으로 자기상관 확인
# H0: 자기상관 없음 (iid와 양립 가능)
# iid 표본
autocorr_iid = np.array([np.corrcoef(iid_sample[:-k], iid_sample[k:])[0, 1]
for k in range(1, 11)])
# 비iid 표본
autocorr_non_iid = np.array([np.corrcoef(non_iid_sample[:-k], non_iid_sample[k:])[0, 1]
for k in range(1, 11)])
print("=== 자기상관 계수 (lag 1~10) ===")
print(f"iid 표본: {', '.join(f'{r:.3f}' for r in autocorr_iid[:5])}, ...")
print(f"비iid 표본: {', '.join(f'{r:.3f}' for r in autocorr_non_iid[:5])}, ...")
print(f"\niid 표본은 자기상관이 0에 가깝고, 비iid 표본은 유의한 자기상관을 보인다.")
# 표본평균과 표본분산의 기본 성질 확인
print(f"\n=== 기본 통계량 ===")
print(f"iid 표본: mean={iid_sample.mean():.3f}, var={iid_sample.var(ddof=1):.3f}")
print(f"비iid 표본: mean={non_iid_sample.mean():.3f}, var={non_iid_sample.var(ddof=1):.3f}")
print(f"\n비iid 표본의 분산은 과소추정될 수 있다 (양의 자기상관 때문).")이 코드는 iid 표본과 자기상관이 있는 비iid 표본을 비교한다. 자기상관 계수를 통해 독립성 위반을 탐지할 수 있으며, 양의 자기상관이 있으면 표본분산이 모분산을 과소추정하는 경향이 있음을 보여준다.
7 응용 분야
| 분야 | iid 가정의 역할 | 위반 시 대안 |
|---|---|---|
| 임상시험 | 환자 간 독립성 가정 → 표본 크기 산출 | 클러스터 무작위화, 혼합모형 |
| 품질관리 | 제품 간 독립 동일 분포 → 관리도 설계 | 자기상관 보정 관리도 |
| 설문조사 | 응답자 간 독립성 → 신뢰구간 계산 | 층화/군집 표본 추출, 설계 효과 보정 |
| 금융 | 수익률의 iid 가정 → 리스크 측정 | GARCH 모형 (이분산성), 코퓰라 (비독립성) |
| A/B 테스트 | 사용자 간 독립 가정 → Z-검정/t-검정 | 네트워크 효과 시 클러스터 검정 |
8 관련 주제
선행 지식
- 다변량 확률변수 개요 (Multiple Random Variables Overview)
- 결합분포와 주변분포 (Joint and Marginal Distributions)
- 조건부 분포와 독립성 (Conditional Distributions and Independence)
후속 주제
- 확률변수 합의 표본분포 (Sums of Random Variables from a Random Sample)
- 정규 모집단에서의 표본분포 (Sampling from the Normal Distribution)
- 순서통계량 (Order Statistics)
관련 개념
- 확률 표본의 성질 개요 (Properties of a Random Sample: Overview)
- Monte Carlo Simulation — 확률 표본 생성의 실무적 구현