변환과 기대값 개요 (Transformations & Expectations)

확률변수의 함수, 기댓값, 분산, 적률생성함수 — 분포 특성화의 핵심 도구

확률변수의 변환(transformation)과 기대값(expectation)은 통계적 추론의 핵심 도구이다. 변수변환의 PDF 유도, 기댓값과 분산의 정의와 성질, 공분산과 상관계수, 적률과 적률생성함수(MGF)까지 — Casella & Berger Ch.2의 흐름을 조감하고 각 개념이 데이터 사이언스 실무에서 어떻게 사용되는지를 연결한다.

Statistics
저자

Kwangmin Kim

공개

2026년 03월 28일

1 왜 변환과 기대값인가

Ch.1에서 확률변수와 분포를 정의했다. 그런데 실무에서는 확률변수 자체보다 확률변수의 함수를 다루는 경우가 훨씬 많다.

변환과 기대값이 필요한 순간들
  • 변수변환: \(X \sim \text{Exp}(\lambda)\) 일 때 \(Y = \log X\) 의 분포는? — 로그 변환 후 정규성 확인의 이론적 근거
  • 기댓값: 주사위를 100번 던질 때 평균 눈금은? — 큰 수의 법칙이 보장하는 것
  • 분산: 포트폴리오의 기대 수익은 같지만 분산이 다르면? — 리스크 관리의 핵심
  • 공분산: 두 자산의 수익률이 함께 움직이는 정도는? — 분산 투자(diversification)의 수학적 근거
  • MGF: 독립인 정규 확률변수의 합이 다시 정규인가? — 적률생성함수로 한 줄에 증명

이 장의 도구들이 없으면 추정량의 편향, 분산, MSE를 정의할 수 없고, 따라서 “좋은 추정량”을 평가할 수 없다.


2 이 장의 구조

변수변환 (Transformation)
    ↓
기댓값 (Expected Value) → 분산 (Variance) → 공분산·상관계수
    ↓                                              ↓
적률 (Moments) → 적률생성함수 (MGF) → 분포 유일성 결정
주제 핵심 질문 데이터 사이언스 연결
변수변환 \(Y = g(X)\) 의 분포는? Box-Cox 변환, 로그 변환, Delta method
기댓값 장기 평균은 얼마인가? 손실 함수 최적화, 보험 순보험료
분산 값이 얼마나 흩어지는가? 리스크 측정, 추정량의 정밀도
공분산 두 변수가 함께 움직이는가? 포트폴리오 이론, 다변량 분석
MGF 분포를 대수적으로 다룰 수 있는가? 독립 확률변수 합의 분포, CLT 증명

3 확률변수의 변환 (Transformation)

3.1 핵심 아이디어

\(X\) 의 분포를 알 때 \(Y = g(X)\) 의 분포를 구하는 것이 변수변환 문제이다.

정리: 단조 변환의 PDF (Change of Variables)

\(g\) 가 단조(monotone)이고 미분 가능하면, \(Y = g(X)\) 의 PDF:

\[ f_Y(y) = f_X\!\left(g^{-1}(y)\right) \cdot \left|\frac{d}{dy} g^{-1}(y)\right| \]

\(\left|dg^{-1}/dy\right|\)야코비안(Jacobian) 으로, 변환에 의한 “공간의 신축”을 보정한다.

실무 연결: 변수변환이 사용되는 곳
  • 로그 변환: 오른쪽 꼬리가 긴 데이터(소득, 가격)를 정규에 가깝게 만든다. 변환 후 \(Y = \log X\) 에 대해 정규 모형을 적합한 뒤, 역변환으로 원래 스케일의 추정치를 구한다
  • Box-Cox 변환: \(Y = (X^\lambda - 1)/\lambda\) 로 최적의 정규화 변환을 데이터에서 추정한다
  • Delta method: 추정량 \(\hat{\theta}\) 의 함수 \(g(\hat{\theta})\) 의 근사 분포를 구할 때 1차 테일러 전개를 사용한다 — 변수변환의 점근적 버전이다
  • 확률 적분 변환(PIT): \(U = F_X(X) \sim \text{Uniform}(0,1)\) — 시뮬레이션에서 임의의 분포로부터 표본을 생성하는 기본 원리다

3.2 이산형의 경우

이산형에서는 야코비안이 필요 없다. \(Y = g(X)\) 의 PMF:

\[ p_Y(y) = \sum_{x:\,g(x)=y} p_X(x) \]

같은 \(y\) 값으로 매핑되는 모든 \(x\) 의 확률을 합산하면 된다.


4 기대값 (Expected Value)

4.1 정의와 직관

정의: 기대값

\[ E[X] = \begin{cases} \displaystyle\sum_x x\,p_X(x) & \text{이산형} \\[8pt] \displaystyle\int_{-\infty}^{\infty} x\,f_X(x)\,dx & \text{연속형} \end{cases} \]

기대값은 “확률변수를 무한히 반복 관측했을 때의 장기 평균”이다. 큰 수의 법칙이 이를 보장한다:

\[ \bar{X}_n = \frac{1}{n}\sum_{i=1}^n X_i \xrightarrow{P} E[X] \quad \text{as } n \to \infty \]

실무에서 기대값이 핵심인 이유

거의 모든 최적화 문제는 기대값의 최소화/최대화이다:

분야 목적 함수 기대값 형태
ML 모델 학습 경험적 리스크 최소화 \(\min_\theta \; E_{\hat{P}}[L(Y, f_\theta(X))]\)
보험 순보험료 산정 \(E[\text{손해액}]\)
포트폴리오 기대 수익 \(E[R_p] = \sum_i w_i E[R_i]\)
강화학습 가치 함수 \(V(s) = E\!\left[\sum_t \gamma^t R_t \mid S_0 = s\right]\)
A/B 테스트 평균 처리 효과 \(\text{ATE} = E[Y(1)] - E[Y(0)]\)

4.2 기대값의 핵심 성질

  • 선형성: \(E[aX + bY] = aE[X] + bE[Y]\) (항상 성립, 독립 불필요)
  • LOTUS (Law of the Unconscious Statistician): \(Y = g(X)\) 의 기대값을 \(Y\) 의 분포를 모르고도 계산:

\[ E[g(X)] = \begin{cases} \sum_x g(x)\,p_X(x) & \text{이산형} \\ \int g(x)\,f_X(x)\,dx & \text{연속형} \end{cases} \]

LOTUS는 분산, 적률, MGF 등 거의 모든 기대값 계산의 출발점이다.


5 분산 (Variance)

정의: 분산

\[ \text{Var}(X) = E\!\left[(X - E[X])^2\right] = E[X^2] - (E[X])^2 \]

기대값이 “중심”이라면, 분산은 “퍼짐”의 척도다. 표준편차 \(\sigma = \sqrt{\text{Var}(X)}\) 는 원래 단위와 같은 스케일을 가진다.

5.1 분산의 핵심 성질

  • \(\text{Var}(aX + b) = a^2 \text{Var}(X)\) (상수 이동은 분산에 영향 없음)
  • \(X, Y\)독립이면: \(\text{Var}(X + Y) = \text{Var}(X) + \text{Var}(Y)\)
  • 일반적으로: \(\text{Var}(X + Y) = \text{Var}(X) + \text{Var}(Y) + 2\text{Cov}(X, Y)\)
실무 연결
  • 추정량의 정밀도: \(\text{Var}(\bar{X}) = \sigma^2/n\) — 표본 크기가 4배가 되면 표준 오차가 반으로 줄어든다
  • MSE 분해: \(\text{MSE}(\hat{\theta}) = \text{Bias}^2 + \text{Var}(\hat{\theta})\) — 편향-분산 트레이드오프의 수학적 표현
  • 리스크 관리: \(\text{Var}(R_p) = \sum_i \sum_j w_i w_j \text{Cov}(R_i, R_j)\) — 포트폴리오 분산은 공분산 행렬로 계산한다

6 공분산과 상관계수

정의: 공분산과 상관계수

\[ \text{Cov}(X, Y) = E[(X - E[X])(Y - E[Y])] = E[XY] - E[X]E[Y] \]

\[ \rho(X, Y) = \frac{\text{Cov}(X, Y)}{\sqrt{\text{Var}(X)\,\text{Var}(Y)}}, \quad -1 \leq \rho \leq 1 \]

  • \(\text{Cov}(X, Y) = 0\) 이면 비상관(uncorrelated) — 그러나 독립과 다르다 (독립이면 비상관이지만, 비상관이어도 종속일 수 있다)
  • \(\rho = \pm 1\) 이면 완전한 선형 관계
  • \(\rho = 0\) 이면 선형 관계 없음 (비선형 관계는 존재 가능)
실무 연결
개념 실무 용도
공분산 행렬 PCA의 입력, 다변량 정규 분포의 모수
피어슨 상관계수 변수 선택, EDA에서의 선형 관계 탐색
비상관 \(\neq\) 독립 \(X\)\(X^2\) 는 비상관이지만 완전 종속 — 상관계수만 보면 관계를 놓친다

7 적률과 적률생성함수 (MGF)

7.1 적률 (Moments)

\(r\) 차 적률(moment)은 분포의 형태를 숫자로 요약한다:

적률 정의 의미
1차 (\(r=1\)) \(E[X]\) 중심 (평균)
2차 중심 (\(r=2\)) \(E[(X-\mu)^2] = \text{Var}(X)\) 퍼짐
3차 표준화 \(E\!\left[\left(\frac{X-\mu}{\sigma}\right)^3\right]\) 왜도(skewness) — 비대칭 정도
4차 표준화 \(E\!\left[\left(\frac{X-\mu}{\sigma}\right)^4\right]\) 첨도(kurtosis) — 꼬리 두께

7.2 적률생성함수 (MGF)

정의: 적률생성함수

\[ M_X(t) = E[e^{tX}], \quad t \in (-h, h) \text{ for some } h > 0 \]

\(r\) 차 적률은 MGF를 \(r\) 번 미분하면 구해진다:

\[ E[X^r] = M_X^{(r)}(0) = \left.\frac{d^r}{dt^r} M_X(t)\right|_{t=0} \]

왜 MGF가 강력한 도구인가

MGF는 세 가지 핵심 역할을 수행한다:

역할 1: 적률 계산의 자동화

정규분포 \(N(\mu, \sigma^2)\) 의 MGF는 \(M(t) = e^{\mu t + \sigma^2 t^2/2}\) 이다. 미분만으로 \(E[X] = \mu\), \(E[X^2] = \mu^2 + \sigma^2\) 를 구한다.

역할 2: 독립 확률변수 합의 분포

\(X \perp Y\) 이면 \(M_{X+Y}(t) = M_X(t) \cdot M_Y(t)\). 이 성질로:

  • \(X \sim N(\mu_1, \sigma_1^2)\), \(Y \sim N(\mu_2, \sigma_2^2)\) 독립이면 \(X + Y \sim N(\mu_1+\mu_2, \sigma_1^2+\sigma_2^2)\) — MGF 곱으로 한 줄 증명
  • \(X \sim \text{Poisson}(\lambda_1)\), \(Y \sim \text{Poisson}(\lambda_2)\) 독립이면 \(X + Y \sim \text{Poisson}(\lambda_1 + \lambda_2)\)

역할 3: 분포의 유일한 결정

\(M_X(t) = M_Y(t)\) 이면 \(X\)\(Y\) 는 같은 분포를 가진다. 이 성질이 MGF를 분포 식별의 도구로 만든다.

실무 연결
  • 중심극한정리(CLT) 증명: MGF의 수렴을 이용한 증명이 가장 깔끔하다
  • 보험수리: 총 손해액 \(S = X_1 + \cdots + X_N\) 의 분포를 MGF로 구한다 (복합 포아송 모형)
  • 통계량의 분포 유도: \(\bar{X}\) 의 분포, \(\chi^2\) 분포의 가법성 등이 MGF로 증명된다

8 주요 분포의 기대값·분산·MGF 요약

분포 \(E[X]\) \(\text{Var}(X)\) \(M_X(t)\)
\(\text{Bernoulli}(p)\) \(p\) \(p(1-p)\) \((1-p) + pe^t\)
\(\text{Binomial}(n,p)\) \(np\) \(np(1-p)\) \(((1-p)+pe^t)^n\)
\(\text{Poisson}(\lambda)\) \(\lambda\) \(\lambda\) \(e^{\lambda(e^t - 1)}\)
\(N(\mu, \sigma^2)\) \(\mu\) \(\sigma^2\) \(e^{\mu t + \sigma^2 t^2/2}\)
\(\text{Exp}(\lambda)\) \(1/\lambda\) \(1/\lambda^2\) \(\lambda/(\lambda - t)\)
\(\text{Gamma}(\alpha, \beta)\) \(\alpha\beta\) \(\alpha\beta^2\) \((1 - \beta t)^{-\alpha}\)
\(\text{Beta}(\alpha, \beta)\) \(\frac{\alpha}{\alpha+\beta}\) \(\frac{\alpha\beta}{(\alpha+\beta)^2(\alpha+\beta+1)}\) (닫힌 형태 없음)
\(\text{Uniform}(a,b)\) \(\frac{a+b}{2}\) \(\frac{(b-a)^2}{12}\) \(\frac{e^{tb} - e^{ta}}{t(b-a)}\)

9 코드 예시

9.1 Step 1: 순수 Python 구현 (원리 이해)

import math

def expected_value_discrete(values, probs):
    """이산 확률변수의 기대값: E[X] = Σ x_i * p_i"""
    return sum(x * p for x, p in zip(values, probs))

def variance_discrete(values, probs):
    """이산 확률변수의 분산: Var(X) = E[X²] - (E[X])²"""
    mu = expected_value_discrete(values, probs)
    ex2 = sum(x**2 * p for x, p in zip(values, probs))
    return ex2 - mu**2

def mgf_discrete(values, probs, t):
    """이산 확률변수의 MGF: M(t) = E[e^{tX}] = Σ e^{tx_i} * p_i"""
    return sum(math.exp(t * x) * p for x, p in zip(values, probs))

# 예시: 공정 주사위
values = [1, 2, 3, 4, 5, 6]
probs = [1/6] * 6

mu = expected_value_discrete(values, probs)
var = variance_discrete(values, probs)
print(f"E[X] = {mu:.4f}")        # 3.5
print(f"Var(X) = {var:.4f}")     # 2.9167
print(f"SD(X) = {math.sqrt(var):.4f}")  # 1.7078

# MGF로 적률 계산 (수치 미분)
h = 1e-5
mgf_0 = mgf_discrete(values, probs, 0)
mgf_h = mgf_discrete(values, probs, h)
mgf_neg = mgf_discrete(values, probs, -h)

# 1차 적률 (수치 미분): M'(0) ≈ E[X]
first_moment = (mgf_h - mgf_neg) / (2 * h)
print(f"\nMGF로 구한 E[X] = {first_moment:.4f}")  # 3.5

# 2차 적률 (수치 2차 미분): M''(0) ≈ E[X²]
second_moment = (mgf_h - 2*mgf_0 + mgf_neg) / (h**2)
print(f"MGF로 구한 E[X²] = {second_moment:.4f}")  # 15.1667
print(f"MGF로 구한 Var(X) = {second_moment - first_moment**2:.4f}")  # 2.9167

9.2 Step 2: scipy/numpy 구현 (실무 활용)

import numpy as np
from scipy import stats

# 정규분포 N(5, 4)의 기대값, 분산, MGF
mu, sigma2 = 5, 4
X = stats.norm(loc=mu, scale=np.sqrt(sigma2))

print(f"E[X] = {X.mean():.4f}")
print(f"Var(X) = {X.var():.4f}")
print(f"Skewness = {X.stats(moments='s')[0]:.4f}")  # 0 (대칭)
print(f"Kurtosis (excess) = {X.stats(moments='k')[0]:.4f}")  # 0 (정규)

# 변수변환: Y = e^X (대수정규분포)
n_samples = 100_000
x_samples = X.rvs(size=n_samples, random_state=42)
y_samples = np.exp(x_samples)

print(f"\nY = exp(X):")
print(f"  E[Y] 이론값 = {np.exp(mu + sigma2/2):.2f}")
print(f"  E[Y] 시뮬레이션 = {y_samples.mean():.2f}")

# 독립 확률변수의 합: X1 + X2 ~ N(mu1+mu2, sigma1²+sigma2²)
X1 = stats.norm(loc=3, scale=2)
X2 = stats.norm(loc=7, scale=1)
x1_samples = X1.rvs(size=n_samples, random_state=42)
x2_samples = X2.rvs(size=n_samples, random_state=43)
sum_samples = x1_samples + x2_samples

print(f"\nX1 + X2:")
print(f"  이론: N({3+7}, {4+1}) = N(10, 5)")
print(f"  시뮬레이션 평균 = {sum_samples.mean():.2f}")
print(f"  시뮬레이션 분산 = {sum_samples.var():.2f}")

10 학습 경로

[Ch.1: 확률변수와 분포]
    ↓
변수변환 (51) → 기댓값·분산 (52)
    ↓                    ↓
적률생성함수 (53)    공분산·상관계수 (02-pearson-correlation)
    ↓
[Ch.3: 분포 가족 — 지수족으로 이동]

11 관련 주제

이 섹션의 포스트 (변환과 기대값, Ch.2)

선행 지식

후속 주제

참고 교재

  • Casella, G. & Berger, R.L. (2002). Statistical Inference (2nd Ed.), Ch.2. Cengage.

Subscribe

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