확률 표본의 기본 개념 (Basic Concepts of Random Samples)

iid 정의, 결합분포의 곱셈 구조, 유한 모집단과 무한 모집단의 차이

확률 표본(random sample)의 수학적 정의인 iid(independent and identically distributed) 조건을 엄밀하게 다룬다. 무한 모집단(복원 추출)과 유한 모집단(비복원 추출)에서의 표본 추출 차이, 결합 pdf의 곱셈 구조, 그리고 iid 가정이 통계적 추론의 토대가 되는 이유를 직관적 설명과 함께 제시한다.

Statistics
저자

Kwangmin Kim

공개

2026년 03월 31일

1 개요

통계적 추론의 출발점은 “데이터가 어디서 왔는가?”라는 질문이다. 이 질문에 대한 수학적 답이 확률 표본(random sample) 모형이다. 확률 표본 모형은 데이터 수집 과정을 iid(independent and identically distributed)라는 두 가지 조건으로 형식화하며, 이후 모든 통계적 추론은 이 가정 위에 세워진다.

이 포스트에서는 Casella & Berger (2002, Ch.5.1)의 내용을 바탕으로 확률 표본의 정의, 결합분포의 구조, 유한 모집단에서의 표본 추출 문제를 다룬다.

2 확률 표본의 정의

정의: 확률 표본 (Random Sample, Definition 5.1.1)

확률변수 \(X_1, \ldots, X_n\) 이 모집단 \(f(x)\) 로부터의 크기 \(n\)확률 표본(random sample)이라 함은 다음 두 조건을 동시에 만족하는 것을 말한다:

  1. \(X_1, \ldots, X_n\)상호 독립(mutually independent)이다
  2. \(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)\) 의 확률로 이루어진다.

핵심: 비복원 추출은 iid가 아니다

비복원 추출에서 \(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 관련 주제

선행 지식

후속 주제

관련 개념

Subscribe

Enjoy this blog? Get notified of new posts by email: