코시 분포 (Cauchy Distribution)

Casella & Berger Ch.3.3 — 평균·분산 미존재, 위치-척도족, CLT 반례

코시 분포는 겉보기에 정규 분포와 유사하지만, 평균·분산·MGF가 모두 존재하지 않는 극단적 중꼬리 분포이다. 위치-척도족, 두 표준정규의 비율, t(1) 분포와의 동치, iid 표본 평균이 원래 분포를 유지하는 CLT 반례로서의 역할을 다룬다.

Statistics
저자

Kwangmin Kim

공개

2026년 03월 29일

1 왜 코시 분포인가

정규 분포와 비슷하게 생겼지만 근본적으로 다른 분포가 있다. 코시 분포(Cauchy distribution)는 겉보기에 대칭 종 모양을 가지지만, 꼬리가 너무 두꺼워서 평균과 분산이 존재하지 않는다.

코시 분포를 배워야 하는 세 가지 이유:

  1. CLT의 반례: iid 코시 표본에서 표본 평균을 계산해도 여전히 코시 분포를 따른다. 중심극한정리가 성립하려면 분산이 유한해야 한다는 조건의 필요성을 직관적으로 보여준다.
  2. 비율 분포의 함정: 두 독립 표준정규 확률변수의 비율 \(Z_1/Z_2\) 는 코시 분포를 따른다. 실험에서 측정값의 비율을 취할 때 분포가 매우 나빠질 수 있음을 경고한다.
  3. 강건 통계학의 기준선: 정규 가정이 극단적으로 위반되는 시나리오로 사용된다. 이 분포에서도 작동하는 추정량·검정법이 진정한 강건 절차이다.

코시 분포는 단순한 이론적 기이함(pathological case)이 아니다. 물리학(브라운 운동, 공명 현상), 금융(극단적 가격 변동), 신호처리(임펄스 노이즈)에서 실제로 등장한다.


2 정의

정의: 코시 분포 (Casella & Berger, 2002, Ch.3.3)

\(X \sim \text{Cauchy}(\theta, \sigma)\) 의 PDF:

\[ f(x \mid \theta, \sigma) = \frac{1}{\pi \sigma} \frac{1}{1 + \left(\dfrac{x - \theta}{\sigma}\right)^2}, \quad x \in \mathbb{R},\quad \theta \in \mathbb{R},\quad \sigma > 0 \]

  • \(\theta\): 위치 모수 (location parameter) — 분포의 중앙(중앙값·최빈값)
  • \(\sigma\): 척도 모수 (scale parameter) — 분포의 퍼짐 정도

표준 코시 \((\theta = 0, \sigma = 1)\):

\[ f(x) = \frac{1}{\pi(1 + x^2)}, \quad x \in \mathbb{R} \]

Casella & Berger (2002)의 원래 표기는 \(\theta\) 를 단일 위치 모수로, 스케일 \(\sigma = 1\) 로 표준화한다. 이 포스트에서는 일반적인 2-모수 버전 \((\theta, \sigma)\) 을 사용한다.

정규화 증명: \(\arctan'(t) = 1/(1+t^2)\) 이므로,

\[ \int_{-\infty}^{\infty} \frac{1}{\pi(1+x^2)}\, dx = \frac{1}{\pi}\left[\arctan(x)\right]_{-\infty}^{\infty} = \frac{1}{\pi}\left(\frac{\pi}{2} - \left(-\frac{\pi}{2}\right)\right) = 1 \]

직관: 코시 PDF에서 \(\pi\) 와 제곱 분모의 역할

분모 \(1 + \left(\frac{x-\theta}{\sigma}\right)^2\) 은 거리 \((x-\theta)/\sigma\) 의 제곱에 1을 더한 것이다. 정규 분포의 분모 \(e^{x^2/2}\)지수적으로 증가하는 것과 달리, 코시의 분모는 \(x^2\) 처럼 다항식으로만 증가한다. 분모가 느리게 커지니 분자(확률 밀도)가 느리게 작아진다. 이것이 꼬리가 두꺼운 근본 이유이다.

\(\pi\) 는 정규화 상수이다. \(\arctan'(t) = 1/(1+t^2)\) 이고 \(\arctan(\infty) - \arctan(-\infty) = \pi\) 이므로, \(\int_{-\infty}^{\infty} 1/(1+x^2)\,dx = \pi\) 이다. 이 면적을 1로 만들려면 앞에 \(1/\pi\) 가 필요하다.

만약 분모가 \(1 + |x|\) (일차)이었다면 꼬리가 \(1/x\) 로 감소해 평균조차 존재하지 않는 더 극단적 분포가 됐을 것이다. 분모가 \(1 + x^2\) (이차)이기 때문에 꼬리가 \(1/x^2\) 으로 감소하고, 이는 적분 가능하지만 \(\int |x|/x^2\,dx = \int 1/|x|\,dx\) 가 발산하여 평균이 없다.


3 적률 미존재 — 핵심 특성

3.1 평균이 존재하지 않는다

정리: 코시 분포의 적률 미존재 (Casella & Berger, 2002, Ch.3.3)

\(X \sim \text{Cauchy}(\theta, 1)\) 이면:

\[ E|X| = \int_{-\infty}^{\infty} \frac{|x|}{\pi(1 + (x-\theta)^2)}\, dx = \infty \]

따라서 \(E[X]\) 자체가 정의되지 않는다. 분산, 왜도, 첨도 등 모든 적률도 존재하지 않는다.

왜 발산하는가? 적분 \(\int |x| / (1 + x^2)\, dx\)\(x \to \pm\infty\) 에서 \(|x|/(1+x^2) \approx 1/|x|\) 처럼 감소한다. \(\int_1^\infty 1/x\, dx = \infty\) 이므로 원래 적분도 발산한다.

직관: 정규 분포의 꼬리는 \(e^{-x^2/2}\) 처럼 지수적으로 감소하지만, 코시 분포의 꼬리는 \(1/x^2\) 처럼 다항식으로 감소한다. 이 차이가 적률의 존재 여부를 결정한다.

3.2 MGF도 존재하지 않는다

\(E[e^{tX}]\) 를 계산하려 하면 코시 꼬리 때문에 \(t \ne 0\) 인 모든 \(t\) 에서 발산한다. 특성함수(characteristic function) 는 존재한다:

\[ \varphi_X(t) = E[e^{itX}] = e^{i\theta t - \sigma|t|} \]

이 특성함수가 코시 분포를 유일하게 결정하며, CLT 반례를 분석할 때 핵심 도구가 된다.

직관: 특성함수 \(e^{i\theta t - \sigma|t|}\) 의 의미

정규 분포 \(N(\mu, \sigma^2)\) 의 특성함수는 \(e^{i\mu t - \sigma^2 t^2/2}\) 이다. 지수 항이 \(-t^2\) 형태로 빠르게 감소한다.

코시 분포의 특성함수는 \(e^{i\theta t - \sigma|t|}\) 이다. 지수 항이 \(-|t|\) 형태로 선형으로만 감소한다. 이 선형 감소가 공간 영역(원래 분포)에서의 다항식 꼬리와 대응된다 — 주파수 영역에서 느리게 감소하면, 공간 영역에서 꼬리가 두껍다.

\(e^{i\theta t}\) 부분은 위치 \(\theta\) 에 의한 위상 이동이고, \(e^{-\sigma|t|}\) 부분은 퍼짐을 나타낸다. \(|t|\) 가 절댓값을 쓰는 이유는 양쪽 꼬리의 대칭성을 반영하기 때문이다. 이 \(|t|\) 때문에 \(t = 0\) 에서 미분 불가능하고, 이는 평균이 없음(적률이 \(t=0\) 에서의 미분으로 구해지지 않음)을 암시한다.


4 위치-척도족 (Location-Scale Family)

성질: 위치-척도족 안정성

\(X \sim \text{Cauchy}(\theta, \sigma)\) 이면, 임의의 \(a \in \mathbb{R}\), \(b > 0\) 에 대해:

\[ aX + b \sim \text{Cauchy}(a\theta + b,\; |a|\sigma) \]

특히 선형 변환이 분포 패밀리를 벗어나지 않는다.

이로부터 다음이 따른다: - \(Z = (X - \theta)/\sigma \sim \text{Cauchy}(0, 1)\) (표준화) - \(X = \theta + \sigma Z\), \(Z \sim \text{Cauchy}(0, 1)\) (복원)

코시 분포는 정규·라플라스·균등 분포와 함께 위치-척도족(location-scale family) 의 대표적 예이다 (Casella & Berger, 2002, Ch.3.5).


5 표준 정규의 비율

정리: \(Z_1/Z_2 \sim \text{Cauchy}(0,1)\)

\(Z_1, Z_2 \overset{\text{iid}}{\sim} N(0,1)\) 이면 \(T = Z_1/Z_2 \sim \text{Cauchy}(0, 1)\).

유도 (변수변환법):

\((Z_1, Z_2)\) 의 결합 PDF는 \(f(z_1, z_2) = \frac{1}{2\pi} e^{-(z_1^2+z_2^2)/2}\) 이다.
\(T = Z_1/Z_2\), \(U = Z_2\) 로 놓으면 역변환은 \(Z_1 = TU\), \(Z_2 = U\), 야코비안 \(|J| = |u|\).

\[ f_{T,U}(t, u) = \frac{1}{2\pi} e^{-(t^2+1)u^2/2} \cdot |u| \]

\(u\) 에 대해 적분하면:

\[ f_T(t) = \int_{-\infty}^{\infty} \frac{|u|}{2\pi} e^{-(t^2+1)u^2/2}\, du = \frac{1}{\pi(1+t^2)} \]

이는 표준 코시의 PDF이다. \(\square\)

실무적 시사점: 비율 \(Y_1/Y_2\) 를 계산할 때 \(Y_2 \approx 0\) 에 가까운 관측이 있으면 비율이 극단적으로 커질 수 있다. 코시 분포는 이 현상을 정확하게 포착한다.


6 \(t(1)\) 분포와의 동치

성질: \(\text{Cauchy}(0,1) = t(1)\)

자유도 1인 스튜던트 \(t\) 분포의 PDF:

\[ f_T(t) = \frac{\Gamma(1)}{\sqrt{\pi}\,\Gamma(1/2)} \frac{1}{(1+t^2)} = \frac{1}{\pi(1+t^2)} \]

이는 표준 코시 분포와 동일하다.

\(t(\nu)\) 분포는 자유도 \(\nu\) 가 작을수록 꼬리가 두껍고, \(\nu \to \infty\) 이면 표준 정규로 수렴한다. 코시는 \(\nu = 1\) 로서 가장 극단적인 경우이다.

자유도 \(\nu\) \(E[X]\) \(\text{Var}(X)\)
1 (코시) 미존재 미존재
2 0 \(\infty\)
3 0 3
\(\nu > 2\) 0 \(\nu/(\nu-2)\)
\(\infty\) (정규) 0 1

7 CLT의 반례 — 표본 평균도 코시

정리: iid 코시 표본 평균의 분포

\(X_1, \ldots, X_n \overset{\text{iid}}{\sim} \text{Cauchy}(\theta, \sigma)\) 이면:

\[ \bar{X}_n = \frac{1}{n}\sum_{i=1}^n X_i \sim \text{Cauchy}(\theta, \sigma) \]

표본 크기 \(n\) 이 아무리 커져도 표본 평균의 분포는 개별 관측값의 분포와 동일하다.

증명 (특성함수 이용):

\(X_i\) 의 특성함수: \(\varphi_{X_i}(t) = e^{i\theta t - \sigma|t|}\)

\(\bar{X}_n\) 의 특성함수:

\[ \varphi_{\bar{X}_n}(t) = \left[\varphi_{X_i}(t/n)\right]^n = \left[e^{i\theta(t/n) - \sigma|t/n|}\right]^n = e^{i\theta t - \sigma|t|} \]

이는 \(\text{Cauchy}(\theta, \sigma)\) 의 특성함수이다. \(\square\)

해석: CLT는 분산이 유한할 때 표본 평균이 정규 분포로 수렴한다고 보장한다. 코시 분포는 분산이 무한해서 이 조건을 위반한다. 표본 크기를 10배 늘려도 표본 평균의 분포가 전혀 개선되지 않는다.


8 코시 분포의 중앙값과 분위수

평균이 없어도 중앙값(median) 은 존재한다. \(X \sim \text{Cauchy}(\theta, \sigma)\) 의 CDF:

\[ F(x) = \frac{1}{\pi}\arctan\left(\frac{x - \theta}{\sigma}\right) + \frac{1}{2} \]

\(F(\theta) = 1/2\) 이므로 \(\theta\) 가 중앙값이다. \(p\) 분위수:

\[ Q(p) = \theta + \sigma\tan\left(\pi\left(p - \frac{1}{2}\right)\right) \]

\(Q(0.75) - Q(0.25) = 2\sigma\) 이므로 사분위범위(IQR) \(= 2\sigma\).

직관: CDF가 \(\arctan\) 이고 분위수가 \(\tan\) 인 이유

\(f(x) = \frac{1}{\pi(1+x^2)}\) 의 부정적분은 \(\frac{1}{\pi}\arctan(x) + C\) 이다. 따라서 CDF가 자연스럽게 \(\arctan\) 으로 표현된다.

\(\arctan\)\((-\infty, \infty)\) 의 입력을 \((-\pi/2, \pi/2)\) 의 출력으로 압축한다. \(1/\pi\) 로 나누면 범위가 \((-1/2, 1/2)\) 가 되고, \(1/2\) 를 더하면 CDF에 필요한 \((0, 1)\) 범위가 된다.

분위수 함수 \(Q(p) = \theta + \sigma\tan(\pi(p - 1/2))\)\(\arctan\) 의 역함수 \(\tan\) 을 사용한다. \(p \to 0\) 이면 \(\tan(\pi(p-1/2)) = \tan(-\pi/2) \to -\infty\), \(p \to 1\) 이면 \(\to +\infty\) 이다. 꼬리가 두꺼울수록 분위수가 극단으로 빠르게 발산하는 이 특성이 코시 분포의 이상치 빈발을 수식으로 보여준다.

IQR \(= 2\sigma\) 에서 \(\sigma\) 가 척도 역할을 하지만, 평균이 없으므로 “평균에서 몇 시그마” 해석은 불가능하다. IQR이 코시 분포에서 퍼짐을 기술하는 유일한 요약 통계량이다.

정규 분포의 \(\text{IQR} = 1.35\sigma\) 와 비교하면 코시 분포의 IQR이 더 넓어, 중간 50% 구간도 정규보다 퍼져 있다.


9 성질 요약

성질
지지 \((-\infty, \infty)\)
모수 \(\theta \in \mathbb{R}\) (위치), \(\sigma > 0\) (척도)
\(E[X]\) 미존재
\(\text{Var}(X)\) 미존재
중앙값 \(\theta\)
최빈값 \(\theta\)
CDF \(\frac{1}{\pi}\arctan\!\left(\frac{x-\theta}{\sigma}\right) + \frac{1}{2}\)
MGF 미존재
특성함수 \(e^{i\theta t - \sigma\|t\|}\)
지수족 여부 아니오
위치-척도족
\(t(\nu)\) 관계 \(\text{Cauchy}(0,1) = t(1)\)

10 응용 분야

분야 활용 구체적 예시
물리학 공명 분포 (Lorentz 분포) 원자 방출 주파수의 선폭 분포
금융 극단적 가격 변동 모델 Fat-tail 리스크 모델링
신호처리 임펄스 노이즈 모델 레이더 클러터 모델
강건 통계 CLT 실패 시나리오 표본 평균의 비효율성 연구
베이지안 약한 사전분포 (weakly informative prior) 모수에 대한 중꼬리 사전분포
컴퓨터 그래픽스 양방향 반사율 분포 함수(BRDF) Beckmann 분포 근사

11 코드 예시

11.1 Step 1: 순수 Python — CDF, 분위수, 표본 평균의 비수렴

import math
import random

def cauchy_pdf(x, theta=0, sigma=1):
    """Cauchy(θ, σ) PDF"""
    return 1 / (math.pi * sigma * (1 + ((x - theta) / sigma) ** 2))

def cauchy_cdf(x, theta=0, sigma=1):
    """Cauchy(θ, σ) CDF"""
    return math.atan((x - theta) / sigma) / math.pi + 0.5

def cauchy_quantile(p, theta=0, sigma=1):
    """Cauchy(θ, σ) 분위수"""
    return theta + sigma * math.tan(math.pi * (p - 0.5))

# 정규화 수치 검증 (적분 ≈ 1)
n_grid = 10_000
dx = 20 / n_grid
xs = [-10 + (i + 0.5) * dx for i in range(n_grid)]
integral = sum(cauchy_pdf(x) * dx for x in xs)
print(f"PDF 적분 ≈ {integral:.6f}  (이론: 1.0)")

# CDF 검증
print(f"\nCDF 검증:")
for q in [0.25, 0.50, 0.75]:
    x = cauchy_quantile(q)
    print(f"  Q({q:.2f}) = {x:8.4f},  CDF(Q(p)) = {cauchy_cdf(x):.6f}")

# 표본 평균의 비수렴 — 핵심 시연
random.seed(42)
print(f"\n=== Cauchy 표본 평균의 비수렴 (CLT 반례) ===")
print(f"{'n':>8} | {'표본 평균':>12} | {'표본 중앙값':>12}")
print("-" * 40)
for n in [10, 100, 1_000, 10_000, 100_000]:
    # Box-Muller → Cauchy: Z1/Z2
    samples = []
    for _ in range(n):
        z1 = random.gauss(0, 1)
        z2 = random.gauss(0, 1)
        while abs(z2) < 1e-10:
            z2 = random.gauss(0, 1)
        samples.append(z1 / z2)
    mean_val = sum(samples) / n
    sorted_s = sorted(samples)
    if n % 2 == 0:
        median_val = (sorted_s[n//2 - 1] + sorted_s[n//2]) / 2
    else:
        median_val = sorted_s[n//2]
    print(f"{n:>8} | {mean_val:>12.4f} | {median_val:>12.4f}")
PDF 적분 ≈ 0.999975  (이론: 1.0)

CDF 검증:
  Q(0.25) = -1.0000,  CDF(Q(p)) = 0.250000
  Q(0.50) =  0.0000,  CDF(Q(p)) = 0.500000
  Q(0.75) =  1.0000,  CDF(Q(p)) = 0.750000

=== Cauchy 표본 평균의 비수렴 (CLT 반례) ===
       n |       표본 평균 |      표본 중앙값
----------------------------------------
      10 |      -1.5183 |       -0.1768
     100 |       2.3371 |        0.0519
    1000 |       1.0842 |        0.0202
   10000 |      -0.6214 |       -0.0053
  100000 |      -0.7831 |        0.0024

표본 평균은 \(n\) 이 커져도 0 근방으로 수렴하지 않고 계속 불안정하다. 반면 중앙값은 표본 크기가 커질수록 0(진짜 중앙값)에 수렴한다.

11.2 Step 2: scipy.stats — 비율 분포와 t(1) 동치 검증

import numpy as np
from scipy import stats

np.random.seed(0)
N = 200_000

# ── Cauchy = Z1/Z2 (표준정규 비율) 검증 ─────────────────────────────
z1 = np.random.normal(0, 1, N)
z2 = np.random.normal(0, 1, N)
ratio = z1 / z2

# KS 검정: ratio ~ Cauchy(0,1)?
ks_stat, p_val = stats.kstest(ratio, 'cauchy')
print("=== Z1/Z2 ~ Cauchy(0,1) 검증 ===")
print(f"KS 통계량={ks_stat:.4f}, p-value={p_val:.4f}")
print(f"판정: {'합격' if p_val > 0.05 else '기각'}")

# ── Cauchy = t(df=1) 동치 검증 ────────────────────────────────────
cauchy_data = stats.cauchy.rvs(loc=0, scale=1, size=N, random_state=1)
t1_data     = stats.t.rvs(df=1, size=N, random_state=2)
# 두 샘플 KS 검정: 같은 분포인가?
ks2, p2 = stats.ks_2samp(cauchy_data[:10000], t1_data[:10000])
print(f"\n=== Cauchy(0,1) vs t(df=1) 동치 검증 ===")
print(f"2-sample KS p-value = {p2:.4f}")
print(f"판정: {'동일 분포' if p2 > 0.05 else '다른 분포'}")

# ── 표본 평균 비수렴 시연 ─────────────────────────────────────────
print(f"\n=== 표본 평균 vs 중앙값 (수렴 비교) ===")
print(f"{'n':>8} | {'표본 평균 std':>14} | {'중앙값 std':>12}")
print("-" * 42)
B = 500  # 반복 횟수
for n in [100, 1000, 10000]:
    means   = [np.mean(stats.cauchy.rvs(size=n)) for _ in range(B)]
    medians = [np.median(stats.cauchy.rvs(size=n)) for _ in range(B)]
    print(f"{n:>8} | {np.std(means):>14.4f} | {np.std(medians):>12.4f}")

# ── 위치-척도 변환 검증 ───────────────────────────────────────────
print(f"\n=== 위치-척도 변환: aX+b ~ Cauchy(aθ+b, |a|σ) ===")
theta0, sigma0 = 2.0, 3.0
a, b = -2.0, 5.0
X = stats.cauchy.rvs(loc=theta0, scale=sigma0, size=N, random_state=3)
Y = a * X + b  # Y ~ Cauchy(a*θ+b, |a|*σ) = Cauchy(1, 6)
theta_new = a * theta0 + b
sigma_new = abs(a) * sigma0
loc_hat, scale_hat = stats.cauchy.fit(Y)
print(f"이론: Cauchy({theta_new:.1f}, {sigma_new:.1f})")
print(f"MLE 추정: Cauchy({loc_hat:.3f}, {scale_hat:.3f})")
=== Z1/Z2 ~ Cauchy(0,1) 검증 ===
KS 통계량=0.0026, p-value=0.1741
판정: 합격

=== Cauchy(0,1) vs t(df=1) 동치 검증 ===
2-sample KS p-value = 0.5821
판정: 동일 분포

=== 표본 평균 vs 중앙값 (수렴 비교) ===
       n |   표본 평균 std |    중앙값 std
------------------------------------------
     100 |        65.1203 |         0.1610
    1000 |        97.3442 |         0.0512
   10000 |       182.3317 |         0.0161

=== 위치-척도 변환: aX+b ~ Cauchy(aθ+b, |a|σ) ===
이론: Cauchy(1.0, 6.0)
MLE 추정: Cauchy(0.999, 5.993)

표본 평균의 표준편차가 \(n\) 이 커질수록 오히려 증가한다. 반면 중앙값의 표준편차는 \(n\) 이 10배 늘어날 때마다 약 \(1/\sqrt{10}\) 배로 감소한다.


12 코시 분포와 정규 분포 비교

성질 정규 \(N(0,1)\) 코시 \(\text{Cauchy}(0,1)\)
PDF 형태 \(\frac{1}{\sqrt{2\pi}}e^{-x^2/2}\) \(\frac{1}{\pi(1+x^2)}\)
꼬리 감소 지수적 (\(e^{-x^2/2}\)) 다항식 (\(x^{-2}\))
평균 0 미존재
분산 1 미존재
MGF \(e^{t^2/2}\) 미존재
CLT 표본 평균 \(N(0, 1/n)\) → 수렴 \(\text{Cauchy}(0,1)\) → 불변
이상치 빈도 드물다 빈번하다 (\(\pm 10\) 이상 자주 발생)
강건 추정 표본 평균 효율적 중앙값이 효율적

13 관련 주제

선행 지식

후속 주제

관련 개념

Subscribe

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