확률변수 함수의 분포 (Distributions of Functions of a Random Variable)

CDF법, 변수변환법(야코비안), MGF법 — Y = g(X) 의 분포를 구하는 세 가지 전략

확률변수 X 의 분포를 알 때 Y = g(X) 의 분포를 구하는 문제를 체계적으로 다룬다. CDF법, 변수변환법(야코비안), MGF법의 세 가지 전략을 정의·증명·예시와 함께 제시하고, 각 방법의 적용 조건과 데이터 사이언스 실무에서의 활용을 연결한다.

Statistics
저자

Kwangmin Kim

공개

2026년 03월 28일

1 동기: 왜 변환된 확률변수의 분포가 필요한가

실무에서 관심 있는 양(quantity)은 원래 확률변수 \(X\) 자체가 아니라, \(X\)함수 \(Y = g(X)\) 인 경우가 대부분이다.

변환된 분포가 필요한 실무 상황
  • 로그 변환: 소득 \(X\) 가 로그정규분포를 따른다면, \(Y = \log X\) 의 분포는 정규분포 — 이 사실을 이용해 정규 기반 검정을 적용한다
  • 제곱: \(X \sim N(0,1)\) 일 때 \(Y = X^2 \sim \chi^2(1)\) — 검정 통계량의 분포를 유도하는 핵심 단계이다
  • 표준화: \(Z = (X - \mu)/\sigma\) — 서로 다른 스케일의 확률변수를 비교 가능하게 만든다
  • MLE의 불변성: \(\hat{\theta}\)\(\theta\) 의 MLE이면 \(g(\hat{\theta})\)\(g(\theta)\) 의 MLE — 변환된 모수의 추론에 직접 사용된다
  • Delta method: 추정량 \(\hat{\theta}\) 의 함수 \(g(\hat{\theta})\) 의 근사 분산을 구할 때, 변수변환의 점근적 버전을 적용한다
  • 시뮬레이션: \(U \sim \text{Uniform}(0,1)\) 로부터 \(X = F^{-1}(U)\) 로 임의의 분포를 생성한다 (역변환법)

문제를 형식화하면:

\[ X \sim f_X(x) \text{ (알려져 있음)} \quad\Longrightarrow\quad Y = g(X) \sim f_Y(y) = \;? \]

이 포스트에서는 이 문제를 푸는 세 가지 전략을 다룬다.


2 전략 개관

방법 핵심 아이디어 적용 조건 장점 단점
CDF법 \(F_Y(y) = P(g(X) \leq y)\) 를 직접 계산 후 미분 항상 적용 가능 가장 일반적 적분/미분이 복잡할 수 있음
변수변환법 \(f_Y(y) = f_X(g^{-1}(y)) \cdot \lvert (g^{-1})'(y) \rvert\) \(g\) 가 단조 + 미분 가능 공식 하나로 즉시 계산 단조가 아니면 구간 분할 필요
MGF법 \(M_Y(t) = E[e^{tg(X)}]\) 를 계산하여 분포 식별 MGF가 존재 + 알려진 분포로 식별 가능 대수적으로 깔끔 모든 분포에 MGF가 존재하지는 않음
어떤 방법을 선택할 것인가
  • 비단조 변환 (예: \(Y = X^2\)): CDF법이 유일한 선택지이다
  • 단조 변환 (예: \(Y = e^X\), \(Y = 1/X\)): 변수변환법이 가장 빠르다
  • 독립 확률변수의 합 (예: \(Y = X_1 + X_2\)): MGF법이 압도적으로 효율적이다
  • 확실하지 않을 때: CDF법으로 시작하면 절대 틀리지 않는다

3 방법 1: CDF법 (CDF Technique)

3.1 정의와 절차

방법: CDF법

\(Y = g(X)\) 의 CDF를 직접 구한 후 미분하여 PDF를 얻는다:

  1. \(F_Y(y) = P(Y \leq y) = P(g(X) \leq y)\)
  2. \(g\) 의 구조에 따라 \(\{g(X) \leq y\}\)\(X\) 의 조건으로 변환
  3. \(f_Y(y) = F_Y'(y)\)

CDF법은 항상 적용 가능하다. \(g\) 가 단조이든, 비단조이든, 이산이든, 연속이든 상관없다.

3.2 예시: \(X \sim \text{Uniform}(0,1)\), \(Y = -\log X\) (지수분포 유도)

Step 1: \(Y\) 의 지지 집합을 결정한다. \(X \in (0,1)\) 이므로 \(Y = -\log X \in (0, \infty)\).

Step 2: \(y > 0\) 에 대해 CDF를 구한다:

\[ F_Y(y) = P(Y \leq y) = P(-\log X \leq y) = P(\log X \geq -y) = P(X \geq e^{-y}) \]

\(X \sim \text{Uniform}(0,1)\) 이므로:

\[ F_Y(y) = 1 - P(X < e^{-y}) = 1 - e^{-y} \]

Step 3: 미분하여 PDF를 구한다:

\[ f_Y(y) = F_Y'(y) = e^{-y}, \quad y > 0 \]

이는 \(\text{Exp}(1)\) 의 PDF이다. 따라서 \(Y = -\log X \sim \text{Exp}(1)\).

실무 연결: 역변환법 (Inverse Transform Method)

위 결과를 뒤집으면: \(U \sim \text{Uniform}(0,1)\) 로부터 \(X = -\frac{1}{\lambda}\log U \sim \text{Exp}(\lambda)\) 를 생성할 수 있다. 이것이 몬테카를로 시뮬레이션의 기본 원리인 역변환법이다.

3.3 예시: \(X \sim N(0,1)\), \(Y = X^2\) (카이제곱 분포 유도)

이 변환은 비단조이므로 CDF법이 필수적이다.

Step 1: \(Y\) 의 지지 집합은 \([0, \infty)\).

Step 2: \(y > 0\) 에 대해:

\[ F_Y(y) = P(X^2 \leq y) = P(-\sqrt{y} \leq X \leq \sqrt{y}) = \Phi(\sqrt{y}) - \Phi(-\sqrt{y}) = 2\Phi(\sqrt{y}) - 1 \]

여기서 \(\Phi\) 는 표준정규분포의 CDF이다.

Step 3: 미분한다. \(\phi(x) = \Phi'(x) = \frac{1}{\sqrt{2\pi}}e^{-x^2/2}\) 이므로:

\[ f_Y(y) = 2\phi(\sqrt{y}) \cdot \frac{1}{2\sqrt{y}} = \frac{1}{\sqrt{y}} \cdot \frac{1}{\sqrt{2\pi}} e^{-y/2} = \frac{1}{2^{1/2}\,\Gamma(1/2)}\,y^{1/2-1}\,e^{-y/2} \]

이는 \(\chi^2(1) = \text{Gamma}(1/2, 2)\) 의 PDF이다.

실무 연결

\(\chi^2\) 분포는 분산 검정, 적합도 검정, 카이제곱 독립성 검정의 기반이다. 이 모든 검정 통계량은 “정규 확률변수의 제곱합”이라는 구조를 가지며, 그 분포가 \(\chi^2\) 임을 위 유도가 보장한다.


4 방법 2: 변수변환법 (Change of Variables / Jacobian Method)

4.1 단조 변환의 공식

정리: 단조 변환의 PDF

\(X\) 가 연속형이고 \(g\)\(X\) 의 지지 집합에서 단조(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) 이다.

증명 (\(g\) 가 단조 증가인 경우):

\[ F_Y(y) = P(g(X) \leq y) = P(X \leq g^{-1}(y)) = F_X(g^{-1}(y)) \]

연쇄 법칙으로 미분:

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

\(g\) 가 단조 감소이면 부등호가 뒤집히므로 \(-1\) 이 붙고, 절대값으로 통합하면 위 공식을 얻는다. \(\quad\blacksquare\)

야코비안의 직관

야코비안 \(|dg^{-1}/dy|\) 는 변환이 “공간을 얼마나 신축시키는가”를 보정하는 항이다.

  • \(g\) 가 공간을 늘리면(예: \(g(x) = 2x\)): 확률이 넓은 영역에 퍼지므로 밀도가 감소 → 야코비안이 \(< 1\)
  • \(g\) 가 공간을 압축하면: 확률이 좁은 영역에 집중되므로 밀도가 증가 → 야코비안이 \(> 1\)
  • 확률 자체는 보존되어야 하므로: \(f_Y(y)\,|dy| = f_X(x)\,|dx|\)\(f_Y(y) = f_X(x) \cdot |dx/dy|\)

4.2 예시: \(X \sim N(\mu, \sigma^2)\), \(Y = e^X\) (로그정규분포)

\(g(x) = e^x\) 는 단조 증가. \(g^{-1}(y) = \log y\), \(\frac{d}{dy} g^{-1}(y) = \frac{1}{y}\).

\[ f_Y(y) = \frac{1}{\sigma\sqrt{2\pi}} \exp\!\left(-\frac{(\log y - \mu)^2}{2\sigma^2}\right) \cdot \frac{1}{y}, \quad y > 0 \]

이것이 로그정규분포 \(\text{LogNormal}(\mu, \sigma^2)\) 의 PDF이다.

실무 연결: 로그정규분포가 등장하는 곳
  • 소득 분포: 소득의 로그가 대략 정규 → 소득 자체는 로그정규
  • 주가 수익률: 연속 복리 수익률 \(\log(S_t/S_{0})\) 이 정규 → \(S_t/S_0\) 은 로그정규 (Black-Scholes 모형)
  • 생존 시간: 일부 생존 시간 데이터가 로그정규를 잘 따른다

4.3 예시: \(X \sim \text{Gamma}(\alpha, \beta)\), \(Y = 1/X\) (역감마분포)

\(g(x) = 1/x\)\((0, \infty)\) 에서 단조 감소. \(g^{-1}(y) = 1/y\), \(|dg^{-1}/dy| = 1/y^2\).

\[ f_Y(y) = \frac{1}{\beta^\alpha \Gamma(\alpha)} \left(\frac{1}{y}\right)^{\alpha-1} e^{-1/(\beta y)} \cdot \frac{1}{y^2} = \frac{1}{\beta^\alpha \Gamma(\alpha)} \cdot y^{-\alpha-1} \cdot e^{-1/(\beta y)}, \quad y > 0 \]

이것이 역감마분포(Inverse-Gamma) 의 PDF이다. 베이지안 추론에서 분산 \(\sigma^2\) 의 사후 분포로 자주 등장한다.

4.4 비단조 변환의 처리: 구간 분할

\(g\) 가 비단조이면, 지지 집합을 \(g\) 가 단조인 구간들로 분할한 뒤 각 구간의 기여를 합산한다.

정리: 비단조 변환의 PDF

\(g\)\(X\) 의 지지 집합을 \(A_1, A_2, \ldots, A_k\) 로 분할하여 각 \(A_i\) 에서 단조이면:

\[ f_Y(y) = \sum_{i=1}^k f_X\!\left(g_i^{-1}(y)\right) \cdot \left|\frac{d}{dy}\,g_i^{-1}(y)\right| \]

여기서 \(g_i^{-1}\)\(A_i\) 에서의 역함수이다.

예시: \(X \sim N(0,1)\), \(Y = X^2\).

\(g(x) = x^2\)\(A_1 = (-\infty, 0)\) 에서 단조 감소, \(A_2 = (0, \infty)\) 에서 단조 증가.

  • \(A_1\): \(g_1^{-1}(y) = -\sqrt{y}\), \(|dg_1^{-1}/dy| = 1/(2\sqrt{y})\)
  • \(A_2\): \(g_2^{-1}(y) = \sqrt{y}\), \(|dg_2^{-1}/dy| = 1/(2\sqrt{y})\)

\[ f_Y(y) = \phi(-\sqrt{y}) \cdot \frac{1}{2\sqrt{y}} + \phi(\sqrt{y}) \cdot \frac{1}{2\sqrt{y}} = \frac{2\phi(\sqrt{y})}{2\sqrt{y}} = \frac{1}{\sqrt{2\pi y}}\,e^{-y/2} \]

CDF법과 동일한 결과 — \(\chi^2(1)\) — 를 얻는다.


5 방법 3: MGF법

5.1 핵심 아이디어

방법: MGF법

\(Y = g(X)\) 의 MGF를 계산한 뒤, 알려진 분포의 MGF와 대조하여 분포를 식별한다.

\[ M_Y(t) = E[e^{tY}] = E[e^{t\,g(X)}] \]

MGF가 열린 구간에서 존재하고, 두 분포의 MGF가 일치하면 분포가 동일하다 (유일성 정리).

5.2 예시: \(X \sim N(\mu, \sigma^2)\), \(Y = aX + b\)

\[ M_Y(t) = E[e^{t(aX+b)}] = e^{bt} \cdot E[e^{atX}] = e^{bt} \cdot M_X(at) \]

\(M_X(t) = e^{\mu t + \sigma^2 t^2/2}\) 이므로:

\[ M_Y(t) = e^{bt} \cdot e^{\mu(at) + \sigma^2(at)^2/2} = e^{(a\mu+b)t + a^2\sigma^2 t^2/2} \]

이는 \(N(a\mu + b, \; a^2\sigma^2)\) 의 MGF이다. 따라서 정규분포의 선형변환은 다시 정규분포이다.

실무 연결: 표준화

\(Z = (X - \mu)/\sigma\)\(a = 1/\sigma\), \(b = -\mu/\sigma\) 인 선형변환이므로 \(Z \sim N(0, 1)\). 표준화(standardization)가 정규성을 보존한다는 사실이 위 결과의 직접적 응용이다.

5.3 예시: 독립 정규 확률변수의 합

\(X_1 \sim N(\mu_1, \sigma_1^2)\), \(X_2 \sim N(\mu_2, \sigma_2^2)\) 이 독립일 때:

\[ M_{X_1+X_2}(t) = M_{X_1}(t) \cdot M_{X_2}(t) = e^{\mu_1 t + \sigma_1^2 t^2/2} \cdot e^{\mu_2 t + \sigma_2^2 t^2/2} = e^{(\mu_1+\mu_2)t + (\sigma_1^2+\sigma_2^2)t^2/2} \]

따라서 \(X_1 + X_2 \sim N(\mu_1 + \mu_2, \; \sigma_1^2 + \sigma_2^2)\). CDF법이나 합성곱(convolution)으로 구하면 훨씬 복잡하지만, MGF법은 한 줄이다.

실무 연결
  • 표본 평균의 분포: \(\bar{X} = \frac{1}{n}\sum X_i\) 에서 \(X_i \overset{iid}{\sim} N(\mu, \sigma^2)\) 이면 \(\bar{X} \sim N(\mu, \sigma^2/n)\) — 이 결과가 z-검정, t-검정의 출발점이다
  • 포트폴리오 수익률: 정규 수익률 가정 하에서 포트폴리오 전체의 분포를 즉시 구할 수 있다

6 이산형 확률변수의 변환

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

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

6.1 예시: \(X \sim \text{Binomial}(n, p)\), \(Y = n - X\)

\[ p_Y(y) = P(n - X = y) = P(X = n - y) = \binom{n}{n-y} p^{n-y}(1-p)^y = \binom{n}{y}(1-p)^y p^{n-y} \]

따라서 \(Y \sim \text{Binomial}(n, 1-p)\). 성공/실패의 역할을 바꾸면 모수가 \(p \to 1-p\) 로 바뀐다.


7 확률 적분 변환 (Probability Integral Transform)

정리: 확률 적분 변환 (PIT)

\(X\) 가 연속형이고 CDF \(F_X\) 가 순증가이면:

\[ U = F_X(X) \sim \text{Uniform}(0, 1) \]

역으로, \(U \sim \text{Uniform}(0,1)\) 이면 \(X = F_X^{-1}(U) \sim F_X\).

증명:

\[ P(U \leq u) = P(F_X(X) \leq u) = P(X \leq F_X^{-1}(u)) = F_X(F_X^{-1}(u)) = u \]

이는 \(\text{Uniform}(0,1)\) 의 CDF이다. \(\quad\blacksquare\)

왜 PIT가 중요한가

PIT는 확률론에서 가장 실용적인 정리 중 하나이다:

응용 방향 설명
역변환 시뮬레이션 \(U \to X\) \(\text{Uniform}(0,1)\) 난수로부터 임의의 분포 표본을 생성
모형 진단 \(X \to U\) 관측값에 CDF를 적용하면 균등해야 한다 — 균등성 검정으로 모형 적합도를 평가
Copula \(X \to U \to\) 결합 주변 분포를 균등으로 변환한 뒤, 의존 구조만 따로 모형화

8 주요 변환 결과 요약

원래 분포 변환 \(g(X)\) 결과 분포 유도 방법
\(\text{Uniform}(0,1)\) \(-\frac{1}{\lambda}\log X\) \(\text{Exp}(\lambda)\) CDF법
\(N(0,1)\) \(X^2\) \(\chi^2(1)\) CDF법 (비단조)
\(N(\mu, \sigma^2)\) \(e^X\) \(\text{LogNormal}(\mu, \sigma^2)\) 변수변환법
\(\text{Gamma}(\alpha, \beta)\) \(1/X\) \(\text{Inv-Gamma}(\alpha, 1/\beta)\) 변수변환법
\(N(\mu, \sigma^2)\) \(aX + b\) \(N(a\mu+b, a^2\sigma^2)\) MGF법
\(N(\mu_1, \sigma_1^2) + N(\mu_2, \sigma_2^2)\) 합 (독립) \(N(\mu_1+\mu_2, \sigma_1^2+\sigma_2^2)\) MGF법
\(\text{Exp}(\lambda)\) \(\lceil X \rceil\) \(\text{Geometric}\) CDF법 (이산화)
연속 \(F_X\) \(F_X(X)\) \(\text{Uniform}(0,1)\) CDF법 (PIT)

9 응용 분야

분야 변환 활용 구체적 예시
가설 검정 검정 통계량의 분포 유도 \(t = \bar{X}/(\hat{\sigma}/\sqrt{n})\) 의 분포가 \(t(n-1)\) 임을 증명
베이지안 추론 사후 분포의 변환 \(\sigma^2\) 의 사후가 역감마 → \(\sigma\) 의 사후 유도
금융 공학 Black-Scholes 모형 \(\log(S_T/S_0) \sim N\)\(S_T\) 는 로그정규 → 옵션 가격 산정
시뮬레이션 역변환법, Box-Muller 균등 난수 → 지수, 정규 등 표본 생성
신뢰구간 피벗량 구성 \((n-1)S^2/\sigma^2 \sim \chi^2(n-1)\) → 분산의 신뢰구간
데이터 전처리 Box-Cox, 로그 변환 비정규 데이터를 정규에 근사시켜 모형 가정 충족
Delta method 추정량의 점근 분산 \(g(\hat{\theta}) \approx N(g(\theta),\; [g'(\theta)]^2 \text{Var}(\hat{\theta}))\)

10 코드 예시

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

import math

def pdf_transform_monotone(f_x, g_inv, g_inv_deriv, y):
    """
    단조 변환의 PDF 공식을 직접 구현한다.
    f_Y(y) = f_X(g^{-1}(y)) * |d/dy g^{-1}(y)|
    """
    x = g_inv(y)
    jacobian = abs(g_inv_deriv(y))
    return f_x(x) * jacobian

# 예시: X ~ N(0,1), Y = e^X (로그정규)
def std_normal_pdf(x):
    return math.exp(-x**2 / 2) / math.sqrt(2 * math.pi)

# g(x) = e^x, g^{-1}(y) = log(y), d/dy g^{-1}(y) = 1/y
g_inv = math.log
g_inv_deriv = lambda y: 1 / y

# y = 1, 2, 3에서 로그정규 PDF 계산
for y in [0.5, 1.0, 2.0, 5.0]:
    f_y = pdf_transform_monotone(std_normal_pdf, g_inv, g_inv_deriv, y)
    print(f"f_Y({y}) = {f_y:.6f}")

# 검증: 로그정규 PDF 직접 계산
def lognormal_pdf(y, mu=0, sigma=1):
    return math.exp(-(math.log(y) - mu)**2 / (2*sigma**2)) / (y * sigma * math.sqrt(2*math.pi))

print("\n검증 (로그정규 PDF 직접):")
for y in [0.5, 1.0, 2.0, 5.0]:
    print(f"f_Y({y}) = {lognormal_pdf(y):.6f}")

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

import numpy as np
from scipy import stats
import matplotlib.pyplot as plt

np.random.seed(42)
n = 100_000

# --- 변수변환: X ~ N(0,1), Y = X^2 ~ chi^2(1) ---
X = stats.norm.rvs(size=n)
Y = X**2

# 이론적 chi^2(1)과 비교
y_grid = np.linspace(0.01, 8, 200)
chi2_pdf = stats.chi2.pdf(y_grid, df=1)

fig, axes = plt.subplots(1, 2, figsize=(12, 4))

axes[0].hist(Y, bins=100, density=True, alpha=0.6, label="시뮬레이션")
axes[0].plot(y_grid, chi2_pdf, "r-", lw=2, label=r"$\chi^2(1)$ PDF")
axes[0].set_title(r"$Y = X^2$, $X \sim N(0,1)$")
axes[0].legend()
axes[0].set_xlim(0, 8)

# --- 확률 적분 변환 (PIT) ---
# X ~ Exp(2)의 관측값에 CDF 적용 → Uniform(0,1)이어야 함
X_exp = stats.expon.rvs(scale=0.5, size=n)  # Exp(lambda=2), scale=1/lambda
U = stats.expon.cdf(X_exp, scale=0.5)

axes[1].hist(U, bins=50, density=True, alpha=0.6, label="PIT 결과")
axes[1].axhline(y=1, color="r", lw=2, label="Uniform(0,1)")
axes[1].set_title("PIT: $U = F_X(X)$는 균등분포")
axes[1].legend()

plt.tight_layout()
plt.show()

# --- 역변환 시뮬레이션: Uniform → Exponential ---
U_sim = np.random.uniform(0, 1, n)
lam = 2.0
X_sim = -np.log(U_sim) / lam  # 역변환: F^{-1}(u) = -log(u)/lambda

print(f"역변환 시뮬레이션 (Exp({lam})):")
print(f"  이론 평균 = {1/lam:.4f}, 시뮬레이션 = {X_sim.mean():.4f}")
print(f"  이론 분산 = {1/lam**2:.4f}, 시뮬레이션 = {X_sim.var():.4f}")

# --- MGF로 분포 확인: 독립 정규의 합 ---
X1 = stats.norm.rvs(loc=3, scale=2, size=n)
X2 = stats.norm.rvs(loc=7, scale=1, size=n)
S = X1 + X2

print(f"\n독립 정규의 합 X1 + X2:")
print(f"  이론: N({3+7}, {4+1})")
print(f"  시뮬레이션 평균 = {S.mean():.2f} (이론: 10)")
print(f"  시뮬레이션 분산 = {S.var():.2f} (이론: 5)")

11 관련 주제

선행 지식

후속 주제

관련 개념

  • 지수족 — 지수족 내에서의 충분통계량 변환
  • GLM — 링크 함수 \(g(\mu)\) 는 기대값의 변환

참고 교재

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

Subscribe

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