분포 함수 (Distribution Functions)

CDF의 완전한 이론 — 분위수 함수, 생존 함수, 위험 함수, 확률 적분 변환

분포 함수(CDF)는 확률변수의 분포를 완전히 특성화한다. CDF의 필요충분조건 엄밀 증명, 분위수 함수(역CDF), 생존 함수와 위험 함수, 확률 적분 변환(Probability Integral Transform), 경험적 분포 함수, 확률적 순서(stochastic ordering)까지 체계적으로 다룬다.

Statistics
저자

Kwangmin Kim

공개

2026년 03월 27일

1 이 포스트의 위치

앞선 포스트에서 CDF를 소개했다면, 이 포스트는 CDF의 완전한 이론을 다룬다.

\[ \underbrace{\text{확률변수}}_{\text{43}} \xrightarrow{\text{이 포스트}} \underbrace{\text{분포 함수의 이론}}_{\text{CDF, 분위수, 생존, 위험}} \xrightarrow{} \underbrace{\text{기댓값·분산}}_{\text{52}} \]

핵심 질문: CDF 하나가 분포 전체를 결정하는가? → 예, 그리고 그것을 증명한다.


2 왜 분포 함수가 필요한가

PMF와 PDF는 유형별로 따로 정의된다. 혼합형에는 둘 다 존재하지 않는다. CDF는 이산·연속·혼합형 모든 확률변수에 대해 항상 존재한다.

CDF 없이는:

  • “두 확률변수가 같은 분포”임을 수학적으로 정의할 수 없다
  • 분위수(percentile)를 정의할 수 없다
  • 생존 함수 \(S(t)\), 위험 함수 \(h(t)\), ECDF를 정의할 수 없다

이 포스트에서 다루는 네 함수는 하나가 결정되면 나머지도 결정된다:

\[ F_X(x) \;\Leftrightarrow\; Q(p) = F^{-1}(p) \;\Leftrightarrow\; S(t) = 1-F(t) \;\Leftrightarrow\; h(t) = \frac{f(t)}{S(t)} \]


네 가지 함수의 실무 용도

CDF에서 파생되는 함수들은 각각 다른 실무 질문에 답한다:

함수 질문 실무 예시
CDF \(F(x)\) \(x\) 이하일 확률은?” 시험 점수의 백분위 계산
분위수 \(Q(p)\) “상위 \(p\)% 컷오프는?” 소득 상위 1% 기준선, VaR
생존 함수 \(S(t)\) “시점 \(t\) 이후 생존 확률은?” 임상시험 5년 생존율, 고객 이탈 분석
위험 함수 \(h(t)\) “지금까지 버텼는데, 바로 다음 순간 실패할 확률은?” 장비 고장률, 보험 위험 평가

핵심: 이 네 함수는 동일한 정보(분포)를 담고 있지만, 분석 목적에 따라 가장 자연스러운 형태가 다르다. 의료 통계에서는 \(S(t)\)\(h(t)\) 가, 금융에서는 \(F(x)\)\(Q(p)\) 가 주로 사용된다.

3 CDF의 완전한 특성화

3.1 정의 재확인

정의: 누적분포함수 (CDF)

확률변수 \(X\) 의 CDF: \[ F_X(x) = P(X \leq x), \quad x \in \mathbb{R} \]

3.2 CDF의 필요충분조건과 엄밀 증명

정리: CDF의 특성 정리 (Casella & Berger, Thm 1.5.3)

\(F: \mathbb{R} \to [0,1]\) 이 어떤 확률변수의 CDF가 되기 위한 필요충분조건:

  1. \(\lim_{x \to -\infty} F(x) = 0\)\(\lim_{x \to +\infty} F(x) = 1\)
  2. \(F\) 는 단조 비감소(non-decreasing)
  3. \(F\) 는 우연속(right-continuous): \(\lim_{t \downarrow x} F(t) = F(x)\)

3.2.1 필요성 증명

조건 1 (극한):

\(A_n = (-\infty, -n]\) 은 감소 수열이고 \(\bigcap_{n=1}^\infty A_n = \emptyset\). 확률의 연속성(continuity)에 의해: \[ F(-n) = P(X \leq -n) = P(A_n) \to P(\emptyset) = 0 \quad\blacksquare \]

비슷하게, \(B_n = (-\infty, n]\) 은 증가 수열이고 \(\bigcup B_n = \mathbb{R}\) 이므로: \[ F(n) = P(X \leq n) \to P(\mathbb{R}) = 1 \quad\blacksquare \]

조건 2 (단조성):

\(x_1 < x_2\) 이면 \(\{X \leq x_1\} \subseteq \{X \leq x_2\}\). 확률의 단조성에 의해 \(F(x_1) \leq F(x_2)\). \(\quad\blacksquare\)

조건 3 (우연속):

\(t_n \downarrow x\) (오른쪽에서 단조 감소로 \(x\) 에 수렴)이면 \(C_n = \{X \leq t_n\}\) 은 감소 수열이고 \(\bigcap C_n = \{X \leq x\}\). \[ \lim_{n\to\infty} F(t_n) = \lim_{n\to\infty} P(C_n) = P\!\left(\bigcap_n C_n\right) = P(X \leq x) = F(x) \quad\blacksquare \]

3.2.2 충분성: 임의의 세 조건을 만족하는 \(F\) 로 확률 공간 구성

\(\Omega = (0,1)\), \(P =\) 르베그 측도(Lebesgue measure), \(X(\omega) = F^{-1}(\omega)\) 로 정의하면 \(X\) 의 CDF가 정확히 \(F\) 가 됨을 보일 수 있다 (확률 적분 변환, 섹션 6 참조).

3.3 좌극한과 점프 크기

우연속이지만 좌극한은 일반적으로 \(F\) 와 다를 수 있다.

\[ F(x^-) := \lim_{t \uparrow x} F(t) = P(X < x) \]

\[ P(X = x) = F(x) - F(x^-) \geq 0 \]

  • \(P(X=x) > 0\): 이산 확률변수의 원자(atom), CDF에서 점프
  • \(P(X=x) = 0\): 연속 확률변수, CDF가 연속

4 구간 확률 공식

CDF로부터 임의의 구간 확률을 계산한다.

정리: 구간 확률

\[ \begin{aligned} P(a < X \leq b) &= F(b) - F(a) \\ P(a \leq X \leq b) &= F(b) - F(a^-) \\ P(a < X < b) &= F(b^-) - F(a) \\ P(a \leq X < b) &= F(b^-) - F(a^-) \\ P(X > a) &= 1 - F(a) \\ P(X \geq a) &= 1 - F(a^-) \end{aligned} \]

암기법
  • \(\leq\) 포함: \(F\) 값 사용
  • \(<\) 포함 (미포함): \(F^-\) (좌극한) 사용
  • 연속형에서는 모든 구간이 동일: \(F = F^-\)

예시: 주사위, \(F(x) = \lfloor x \rfloor / 6\) for \(x \in [1,6]\)

\[ P(2 \leq X \leq 4) = F(4) - F(2^-) = \frac{4}{6} - \frac{1}{6} = \frac{3}{6} = \frac{1}{2} \]

\[ P(2 < X < 4) = F(4^-) - F(2) = \frac{3}{6} - \frac{2}{6} = \frac{1}{6} \]


5 분위수 함수 (Quantile Function / Inverse CDF)

5.1 정의

정의: 분위수 함수 (Quantile Function)

확률변수 \(X\) 의 CDF \(F\) 에 대해, \(p \in (0,1)\)\(p\)-분위수(quantile):

\[ Q(p) = F^{-1}(p) = \inf\{x \in \mathbb{R} : F(x) \geq p\} \]

\(F\) 가 순증가이고 연속이면 \(Q(p) = F^{-1}(p)\) 가 일반적 역함수와 일치한다.

직관

\(Q(p)\) 는 “데이터의 하위 \(p \times 100\%\) 가 이 값 이하”라는 기준점이다.

  • \(Q(0.5)\): 중위수(median)
  • \(Q(0.25), Q(0.75)\): 제1·제3 사분위수
  • \(Q(0.9)\): 90번째 백분위수

왜 하한(\(\inf\))으로 정의하는가?

\(F\) 가 이산형이면 \(F\) 의 치역에 없는 \(p\) 가 존재한다. 예를 들어 동전(\(F(0)=0.5\)):

\[ Q(0.3) = \inf\{x : F(x) \geq 0.3\} = 0 \quad\text{($F(0)=0.5 \geq 0.3$ 이므로)} \]

5.2 분위수 함수의 성질

정리
  1. \(Q\) 는 비감소(non-decreasing)
  2. \(Q\) 는 좌연속(left-continuous)
  3. \(F\)\(Q\) 의 관계: \[ Q(p) \leq x \iff p \leq F(x) \]
  4. 연속형에서: \(F(Q(p)) = p\)\(Q(F(x)) = x\)

주요 분위수 값

분포 \(Q(0.025)\) \(Q(0.5)\) \(Q(0.975)\)
\(N(0,1)\) \(-1.96\) \(0\) \(1.96\)
\(N(\mu,\sigma^2)\) \(\mu-1.96\sigma\) \(\mu\) \(\mu+1.96\sigma\)
\(\text{Exp}(1)\) \(0.0253\) \(\ln 2 \approx 0.693\) \(3.689\)
\(\text{Uniform}(0,1)\) \(0.025\) \(0.5\) \(0.975\)

6 생존 함수와 위험 함수

6.1 생존 함수

정의: 생존 함수 (Survival Function)

\[ S(t) = P(X > t) = 1 - F(t) \]

\(X\) 를 수명(lifetime)으로 볼 때, \(S(t)\) 는 시점 \(t\) 까지 생존할 확률이다.

성질: - \(S(0) = 1\) (시작 시점에서 모두 생존) - \(\lim_{t\to\infty} S(t) = 0\) - \(S\) 는 단조 비증가(non-increasing) - \(S(t^-) = P(X \geq t)\)

6.2 위험 함수

정의: 위험 함수 (Hazard Function / Hazard Rate)

연속형 확률변수 \(X\) (수명)에 대해:

\[ h(t) = \lim_{\Delta t \to 0} \frac{P(t \leq X < t+\Delta t \mid X \geq t)}{\Delta t} = \frac{f(t)}{S(t)} \]

\(t\) 시점까지 생존했을 때, 순간 사망(실패) 위험률이다.

직관

\(h(t)\) 는 조건부 실패율(conditional failure rate)이다. “지금까지 살아남은 사람이 지금 당장 사망할 순간적 위험”을 측정한다.

\[ h(t) \approx \frac{P(t \leq X < t+\Delta t \mid X \geq t)}{\Delta t} \quad \text{($\Delta t$ 가 아주 작을 때)} \]

6.3 함수들 사이의 관계

정리: \(f\), \(F\), \(S\), \(h\) 상호 변환

\[ \begin{aligned} h(t) &= \frac{f(t)}{S(t)} = \frac{f(t)}{1-F(t)} = -\frac{d}{dt}\ln S(t) \\[6pt] H(t) &= \int_0^t h(u)\,du = -\ln S(t) \quad\text{(누적 위험 함수)} \\[6pt] S(t) &= \exp\!\left(-H(t)\right) = \exp\!\left(-\int_0^t h(u)\,du\right) \\[6pt] f(t) &= h(t)\,S(t) = h(t)\exp\!\left(-\int_0^t h(u)\,du\right) \end{aligned} \]

증명 (\(h(t) = -\frac{d}{dt}\ln S(t)\)):

\[ -\frac{d}{dt}\ln S(t) = -\frac{S'(t)}{S(t)} = \frac{f(t)}{S(t)} = h(t) \quad\blacksquare \]

(\(S'(t) = -f(t)\) 이므로)

주요 분포의 위험 함수

분포 \(h(t)\) 해석
\(\text{Exp}(\lambda)\) \(\lambda\) (상수) 무기억성: 나이와 무관한 위험
\(\text{Weibull}(\alpha,\beta)\) \(\frac{\alpha}{\beta}\left(\frac{t}{\beta}\right)^{\alpha-1}\) \(\alpha>1\): 증가, \(\alpha<1\): 감소
\(N(\mu,\sigma^2)\) 단조 증가 나이가 들수록 위험 증가
\(\text{Gamma}(k,\theta)\) 단조: \(k<1\) 이면 감소, \(k>1\) 이면 증가 욕조 곡선 등

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

7.1 정리

정리: 확률 적분 변환 (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 \]

증명 (순방향):

\(U = F_X(X)\) 의 CDF를 계산:

\[ 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 (\(F(u)=u\))이다. \(\quad\blacksquare\)

직관: 모든 연속 분포는 균등 분포로 변환된다

어떤 연속 분포든 CDF로 변환하면 균등 분포가 된다. 역으로, 균등 분포 난수에 역CDF를 적용하면 원하는 분포를 생성할 수 있다. 이것이 역변환 표본추출(inverse transform sampling) 의 기반이다.

7.2 응용: 역변환 표본추출

\(\text{Exp}(\lambda)\) 분포에서 표본 생성:

\[ F(x) = 1 - e^{-\lambda x} \quad\Rightarrow\quad F^{-1}(u) = -\frac{\ln(1-u)}{\lambda} \]

\(U \sim \text{Uniform}(0,1)\) 이면 \(X = -\frac{\ln(1-U)}{\lambda} \sim \text{Exp}(\lambda)\)

\(1-U\)\(\text{Uniform}(0,1)\) 이므로 실용적으로는:

\[ X = -\frac{\ln U}{\lambda} \sim \text{Exp}(\lambda) \]


8 경험적 분포 함수 (Empirical CDF)

8.1 정의

정의: 경험적 CDF (ECDF)

\(n\) 개의 관측값 \(x_1, \ldots, x_n\) 이 있을 때:

\[ \hat{F}_n(x) = \frac{1}{n}\sum_{i=1}^n \mathbf{1}(x_i \leq x) = \frac{\#\{i : x_i \leq x\}}{n} \]

\(\hat{F}_n(x)\)\(x\) 이하인 관측값의 비율이다.

8.2 수렴 성질

정리: 글리벤코-칸텔리 정리 (Glivenko-Cantelli Theorem)

\[ \sup_{x \in \mathbb{R}} |\hat{F}_n(x) - F(x)| \xrightarrow{a.s.} 0 \quad \text{as } n \to \infty \]

ECDF는 표본 크기가 커질수록 진짜 CDF에 균일하게(uniformly) 수렴한다.

의미

충분히 큰 표본을 모으면 ECDF로 모집단 CDF를 임의로 가깝게 근사할 수 있다. 비모수 통계학(nonparametric statistics)의 이론적 기반이다.


9 확률적 순서 (Stochastic Ordering)

두 분포를 비교하는 방법 중 하나다.

정의: 확률적 우세 (Stochastic Dominance)

\(X\)\(Y\) 의 CDF가 각각 \(F, G\) 일 때:

1차 확률적 우세 (First-order Stochastic Dominance, FSD):

\[ X \succeq_1 Y \iff F(x) \leq G(x) \quad \forall x \in \mathbb{R} \]

즉, 모든 \(x\) 에서 \(X\)\(x\) 이하일 확률이 \(Y\) 보다 작거나 같다 → \(X\) 가 더 큰 값을 가질 가능성이 높다.

직관

CDF 그래프에서 \(F\)\(G\) 보다 항상 오른쪽에 있으면 \(X \succeq_1 Y\). “\(X\) 가 확률적으로 \(Y\) 보다 크다.”

의사결정론에서: \(X \succeq_1 Y\) 이면 단조증가 효용 함수에 대해 모든 의사결정자가 \(X\) 를 선호한다.


10 주요 분포의 \(f\)·\(F\)·\(Q\)·\(S\)·\(h\) 정리

분포 PDF \(f(x)\) CDF \(F(x)\) 분위수 \(Q(p)\) \(S(t)\) \(h(t)\)
\(\text{Uniform}(a,b)\) \(\frac{1}{b-a}\) \(\frac{x-a}{b-a}\) \(a+p(b-a)\) \(\frac{b-x}{b-a}\) \(\frac{1}{b-x}\)
\(\text{Exp}(\lambda)\) \(\lambda e^{-\lambda x}\) \(1-e^{-\lambda x}\) \(-\frac{\ln(1-p)}{\lambda}\) \(e^{-\lambda t}\) \(\lambda\)
\(N(\mu,\sigma^2)\) \(\frac{1}{\sigma\sqrt{2\pi}}e^{-\frac{(x-\mu)^2}{2\sigma^2}}\) \(\Phi\!\left(\frac{x-\mu}{\sigma}\right)\) \(\mu+\sigma\Phi^{-1}(p)\) \(1-\Phi\!\left(\frac{t-\mu}{\sigma}\right)\) \(\frac{\phi(z)}{\sigma(1-\Phi(z))}\)
\(\text{Weibull}(\alpha,\beta)\) \(\frac{\alpha}{\beta}\!\left(\frac{x}{\beta}\right)^{\alpha-1}\!e^{-(x/\beta)^\alpha}\) \(1-e^{-(x/\beta)^\alpha}\) \(\beta(-\ln(1-p))^{1/\alpha}\) \(e^{-(t/\beta)^\alpha}\) \(\frac{\alpha}{\beta}\!\left(\frac{t}{\beta}\right)^{\alpha-1}\)

11 응용 분야

분야 분포 함수 역할
생존 분석 \(S(t), h(t)\) 카플란-마이어 추정, 콕스 비례위험 모형
리스크 관리 \(Q(0.95), Q(0.99)\) VaR(Value at Risk): 95%, 99% 분위수
신뢰도 공학 \(h(t)\) (욕조 곡선) 제품 초기 불량, 우발 고장, 마모 단계
모의 실험 PIT(역변환) 임의의 분포로부터 표본 생성
비모수 통계 ECDF KS 검정, 분포 비교
A/B 테스트 분위수 비교 처치 효과의 분포 전체를 비교

12 코드 예시

12.1 Step 1: 순수 Python — 분위수·생존·위험 함수 직접 구현

import math

# ── 지수 분포: f, F, S, h, H, Q 직접 구현 ──────────────────────
lam = 0.5  # λ = 0.5

def exp_pdf(t):      return lam * math.exp(-lam * t) if t >= 0 else 0
def exp_cdf(t):      return 1 - math.exp(-lam * t) if t >= 0 else 0
def exp_survival(t): return math.exp(-lam * t) if t >= 0 else 1
def exp_hazard(t):   return lam  # 상수
def exp_cum_haz(t):  return lam * t if t >= 0 else 0
def exp_quantile(p): return -math.log(1 - p) / lam  # Q(p) = -ln(1-p)/λ

print(f"지수 분포 Exp(λ={lam})\n")
print(f"{'t':>6} {'f(t)':>10} {'F(t)':>10} {'S(t)':>10} {'h(t)':>8} {'H(t)':>10}")
print("-" * 52)
for t in [0, 0.5, 1, 2, 3, 5, 10]:
    print(f"{t:>6.1f} {exp_pdf(t):>10.6f} {exp_cdf(t):>10.6f} "
          f"{exp_survival(t):>10.6f} {exp_hazard(t):>8.4f} {exp_cum_haz(t):>10.4f}")

# 분위수
print(f"\n분위수 (λ={lam}):")
for p in [0.25, 0.5, 0.75, 0.9, 0.95, 0.99]:
    q = exp_quantile(p)
    # 검증: F(Q(p)) = p
    verify = exp_cdf(q)
    print(f"  Q({p:.2f}) = {q:.4f},  F(Q(p)) = {verify:.6f}")

# ── 역변환 표본추출 ─────────────────────────────────────────────
import random
random.seed(42)

n = 10_000
samples_exp = [-math.log(random.random()) / lam for _ in range(n)]

# 샘플 평균 vs 이론 평균 (1/λ)
sample_mean = sum(samples_exp) / n
print(f"\n역변환 표본 (n={n}): 표본 평균={sample_mean:.4f}, 이론 평균={1/lam:.4f}")

# ── ECDF 계산 ────────────────────────────────────────────────────
def ecdf(data, x):
    """ECDF: data에서 x 이하인 비율"""
    return sum(1 for v in data if v <= x) / len(data)

# 글리벤코-칸텔리: 표본 크기 증가 → ECDF → 진짜 CDF
print("\n글리벤코-칸텔리 검증 (x=2 기준):")
print(f"  진짜 F(2) = {exp_cdf(2):.6f}")
for n_size in [10, 100, 1_000, 10_000]:
    samp = [-math.log(random.random()) / lam for _ in range(n_size)]
    empirical = ecdf(samp, 2)
    error = abs(empirical - exp_cdf(2))
    print(f"  n={n_size:6d}: ECDF(2)={empirical:.6f}, |오차|={error:.6f}")

# ── CDF 구간 확률 공식 검증 ─────────────────────────────────────
print("\nCDF 구간 확률 (지수 분포, λ=0.5):")
a, b = 1.0, 3.0
print(f"  P(a<X≤b)  = F(b)-F(a)   = {exp_cdf(b)-exp_cdf(a):.6f}")
print(f"  P(X>a)    = 1-F(a)      = {1-exp_cdf(a):.6f}")
print(f"  P(X>a)    = S(a)        = {exp_survival(a):.6f}")
print(f"  합 확인:    F(b)+S(b)   = {exp_cdf(b)+exp_survival(b):.6f}")  # = 1

12.2 Step 2: scipy·numpy — 분포 비교·PIT·KS 검정

import numpy as np
from scipy import stats
from scipy.stats import ks_2samp, kstest

np.random.seed(42)

# ── PIT 검증: F_X(X) ~ Uniform(0,1) ───────────────────────────────
# 정규분포에서 표본 → CDF 변환 → 균등분포가 되는지 확인
mu, sigma = 5, 2
X_samples = stats.norm.rvs(mu, sigma, size=10_000)
U_samples  = stats.norm.cdf(X_samples, mu, sigma)  # PIT 적용

# KS 검정: U_samples ~ Uniform(0,1)?
ks_stat, ks_p = kstest(U_samples, 'uniform')
print(f"PIT 검증 (정규 → 균등):")
print(f"  U 표본 평균: {U_samples.mean():.4f} (이론: 0.5)")
print(f"  U 표본 분산: {U_samples.var():.4f} (이론: {1/12:.4f})")
print(f"  KS 검정 p-value: {ks_p:.4f}{'균등분포와 일치' if ks_p>0.05 else '불일치'}")

# ── 역변환 표본추출: Weibull 생성 ─────────────────────────────────
# Weibull(α=2, β=1): F^{-1}(u) = β(-ln(1-u))^{1/α}
alpha_w, beta_w = 2, 1
U = np.random.uniform(size=10_000)
X_weibull_inv = beta_w * (-np.log(1 - U))**(1/alpha_w)  # 역변환

# 비교: scipy Weibull 직접 샘플
X_weibull_scipy = stats.weibull_min(alpha_w, scale=beta_w).rvs(10_000)

ks_stat, ks_p = ks_2samp(X_weibull_inv, X_weibull_scipy)
print(f"\n역변환 vs scipy Weibull 비교:")
print(f"  역변환 평균: {X_weibull_inv.mean():.4f}, scipy 평균: {X_weibull_scipy.mean():.4f}")
print(f"  KS 검정 p-value: {ks_p:.4f}{'분포 일치' if ks_p>0.05 else '분포 불일치'}")

# ── 생존함수·위험함수: 지수 vs 와이블 비교 ─────────────────────────
print("\n생존함수 비교 (t=0,1,2,3,5):")
dist_exp    = stats.expon(scale=2)                  # Exp(λ=0.5)
dist_weib_i = stats.weibull_min(0.5, scale=2)       # Weibull α<1: 감소 위험
dist_weib_g = stats.weibull_min(2.0, scale=2)       # Weibull α>1: 증가 위험

print(f"{'t':>4} {'S_Exp':>10} {'S_Weib(α=0.5)':>16} {'S_Weib(α=2)':>14}")
print("-" * 46)
for t in [0, 0.5, 1, 2, 3, 5]:
    s_exp  = dist_exp.sf(t)
    s_wi   = dist_weib_i.sf(t)
    s_wg   = dist_weib_g.sf(t)
    print(f"{t:>4.1f} {s_exp:>10.6f} {s_wi:>16.6f} {s_wg:>14.6f}")

# ── ECDF vs 이론 CDF: 시각적 수렴 ─────────────────────────────────
# 글리벤코-칸텔리 수렴 검증 (sup-norm)
print("\n글리벤코-칸텔리 수렴 (sup-norm |ECDF - F|):")
x_grid = np.linspace(0, 10, 500)
true_cdf = stats.expon(scale=2).cdf(x_grid)

for n_size in [10, 50, 100, 500, 1000, 5000]:
    samp = stats.expon(scale=2).rvs(n_size)
    ecdf_vals = np.array([np.mean(samp <= x) for x in x_grid])
    sup_norm = np.max(np.abs(ecdf_vals - true_cdf))
    print(f"  n={n_size:5d}: sup|ECDF-F| = {sup_norm:.6f}")

# ── 확률적 우세 검증 ─────────────────────────────────────────────
# N(1,1) vs N(0,1): FSD 성립하는가?
x_range = np.linspace(-5, 7, 500)
F1 = stats.norm(1, 1).cdf(x_range)  # 우세
F0 = stats.norm(0, 1).cdf(x_range)  # 열위

fsd = np.all(F1 <= F0)  # N(1,1)의 CDF ≤ N(0,1)의 CDF → N(1,1) ≻₁ N(0,1)
print(f"\n확률적 우세: N(1,1) ≻₁ N(0,1)? {fsd}")
print(f"  (N(1,1)의 CDF가 N(0,1)의 CDF보다 항상 작거나 같음 — 오른쪽으로 치우침)")

13 관련 주제

선행 지식

후속 주제

관련 개념

Subscribe

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