ヘロログ
統計学

コーシー分布

コーシー分布(Cauchy distribution)は、裾が非常に重い連続型確率分布である。正規分布と似た釣鐘型の形状をもつが、裾の減衰が遅いため、平均や分散が存在しないという特異な性質をもつ。

コーシー分布は自由度 1 の t 分布と一致する。また、2つの独立な標準正規確率変数の比がコーシー分布に従うことから、統計学や物理学において重要な役割を果たす。物理学ではローレンツ分布(Lorentz distribution)とも呼ばれ、光学におけるスペクトル線の形状を記述する。

定義

確率変数 X が以下の確率密度関数をもつとき、X標準コーシー分布に従うという。

標準コーシー分布の確率密度関数
f(x) = \dfrac{1}{\pi(1 + x^2)}, \quad -\infty < x < \infty

より一般に、位置パラメータ \mu と尺度パラメータ \sigma > 0 をもつコーシー分布の確率密度関数は次のようになる。

一般のコーシー分布の確率密度関数
f(x) = \dfrac{1}{\pi\sigma\left(1 + \left(\dfrac{x - \mu}{\sigma}\right)^2\right)}

標準コーシー分布は \mu = 0, \sigma = 1 の場合に相当する。

グラフ

コーシー分布と標準正規分布の確率密度関数を比較する。

f(x) 0.4 0.3 0.2 0.1 0 x -5 -4 -3 -2 -1 0 1 2 3 4 5
━━ 標準正規分布 N(0,1)
━━ 標準コーシー分布
図1: 標準コーシー分布と標準正規分布の比較

コーシー分布は正規分布より中心のピークが高く、裾が厚い。正規分布では |x| > 3 の領域ではほぼ 0 になるが、コーシー分布では相対的に大きな値を保っている。

期待値と分散

コーシー分布の最も特徴的な性質は、期待値と分散が存在しないことである。

コーシー分布のモーメント
E[X] \text{ は存在しない}, \quad V[X] \text{ は存在しない}

【期待値が存在しない理由】 期待値の計算を試みると

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

となるが、この積分は |x| \to \infty\dfrac{x}{1+x^2} \approx \dfrac{1}{x} となり、\int \dfrac{1}{x} \, dx が発散するため、絶対収束しない。すなわち

\int_{-\infty}^{\infty} |x| \cdot \dfrac{1}{\pi(1 + x^2)} \, dx = \infty

期待値が存在しないため、分散も定義できない。これはコーシー分布の裾が非常に重いことに起因する。

ただし、確率密度関数が x = 0 に関して対称であることから、中央値は 0 である(一般のコーシー分布では \mu)。

累積分布関数

標準コーシー分布の累積分布関数は次のようになる。

累積分布関数
F(x) = \dfrac{1}{2} + \dfrac{1}{\pi} \arctan(x)

【導出】 累積分布関数は確率密度関数の積分で得られる。

\begin{aligned} F(x) &= \int_{-\infty}^{x} \dfrac{1}{\pi(1 + t^2)} \, dt \\[5pt] &= \dfrac{1}{\pi} \left[ \arctan(t) \right]_{-\infty}^{x} \\[5pt] &= \dfrac{1}{\pi} \left( \arctan(x) - \left(-\dfrac{\pi}{2}\right) \right) \\[5pt] &= \dfrac{1}{2} + \dfrac{1}{\pi} \arctan(x) \end{aligned}

F(0) = \dfrac{1}{2} であり、対称性が確認できる。

t分布との関係

コーシー分布は自由度 1 の t 分布に一致する。

t分布との関係
\text{Cauchy}(0, 1) = t(1)

【確認】 自由度 n の t 分布の確率密度関数は

f(t) = \dfrac{\Gamma\left(\dfrac{n+1}{2}\right)}{\sqrt{\pi n} \, \Gamma\left(\dfrac{n}{2}\right)} \left(1 + \dfrac{t^2}{n}\right)^{-\frac{n+1}{2}}

n = 1 を代入すると、\Gamma(1) = 1, \Gamma\left(\dfrac{1}{2}\right) = \sqrt{\pi} より

f(t) = \dfrac{1}{\sqrt{\pi} \cdot \sqrt{\pi}} \left(1 + t^2\right)^{-1} = \dfrac{1}{\pi(1 + t^2)}

これは標準コーシー分布の確率密度関数に一致する。

t 分布は n > 1 で期待値が存在し、n > 2 で分散が存在する。コーシー分布(n = 1)はその境界ケースとして、期待値も分散も存在しない。

標準正規分布の比

コーシー分布は2つの独立な標準正規確率変数の比として得られる。

正規分布の比

Z_1, Z_2 \sim N(0, 1) が独立のとき

\dfrac{Z_1}{Z_2} \sim \text{Cauchy}(0, 1)

【導出】 Z_1, Z_2 が独立に標準正規分布に従うとき、X = \dfrac{Z_1}{Z_2} の分布を求める。

Z_1, Z_2 の同時確率密度関数は

f_{Z_1, Z_2}(z_1, z_2) = \dfrac{1}{2\pi} \exp\left(-\dfrac{z_1^2 + z_2^2}{2}\right)

変数変換 X = \dfrac{Z_1}{Z_2}, Y = Z_2 を行う。逆変換は Z_1 = XY, Z_2 = Y である。ヤコビアンを計算すると

|J| = \left| \dfrac{\partial(z_1, z_2)}{\partial(x, y)} \right| = \begin{vmatrix} \dfrac{\partial z_1}{\partial x} & \dfrac{\partial z_1}{\partial y} \\[5pt] \dfrac{\partial z_2}{\partial x} & \dfrac{\partial z_2}{\partial y} \end{vmatrix} = \begin{vmatrix} y & x \\ 0 & 1 \end{vmatrix} = |y|

よって、(X, Y) の同時確率密度関数は

\begin{aligned} f_{X,Y}(x, y) &= f_{Z_1, Z_2}(xy, y) \cdot |J| \\[5pt] &= \dfrac{1}{2\pi} \exp\left(-\dfrac{(xy)^2 + y^2}{2}\right) \cdot |y| \\[5pt] &= \dfrac{|y|}{2\pi} \exp\left(-\dfrac{y^2(1 + x^2)}{2}\right) \end{aligned}

X の周辺密度関数を求めるため、Y について積分する。|y| の対称性を利用して

\begin{aligned} f_X(x) &= \int_{-\infty}^{\infty} \dfrac{|y|}{2\pi} \exp\left(-\dfrac{y^2(1 + x^2)}{2}\right) dy \\[5pt] &= 2 \int_{0}^{\infty} \dfrac{y}{2\pi} \exp\left(-\dfrac{y^2(1 + x^2)}{2}\right) dy \\[5pt] &= \dfrac{1}{\pi} \int_{0}^{\infty} y \exp\left(-\dfrac{y^2(1 + x^2)}{2}\right) dy \end{aligned}

ここで u = \dfrac{y^2(1 + x^2)}{2} と置換すると、du = y(1 + x^2) \, dy より y \, dy = \dfrac{du}{1 + x^2} となる。

\begin{aligned} f_X(x) &= \dfrac{1}{\pi} \cdot \dfrac{1}{1 + x^2} \int_{0}^{\infty} e^{-u} \, du \\[5pt] &= \dfrac{1}{\pi(1 + x^2)} \cdot \left[-e^{-u}\right]_{0}^{\infty} \\[5pt] &= \dfrac{1}{\pi(1 + x^2)} \cdot 1 = \dfrac{1}{\pi(1 + x^2)} \end{aligned}

これは標準コーシー分布の確率密度関数である。この性質は、コーシー分布のサンプルを生成する際に利用される。

計算例

標準コーシー分布について、P(|X| \leq 1) を求める。

\begin{aligned} P(|X| \leq 1) &= P(-1 \leq X \leq 1) = F(1) - F(-1) \\[5pt] &= \left(\dfrac{1}{2} + \dfrac{1}{\pi}\arctan(1)\right) - \left(\dfrac{1}{2} + \dfrac{1}{\pi}\arctan(-1)\right) \\[5pt] &= \dfrac{1}{\pi}\left(\dfrac{\pi}{4} - \left(-\dfrac{\pi}{4}\right)\right) = \dfrac{1}{\pi} \cdot \dfrac{\pi}{2} = \dfrac{1}{2} \end{aligned}

標準コーシー分布では、|X| \leq 1 となる確率が 50% である。これに対し、標準正規分布では P(|Z| \leq 1) \approx 0.683 である。コーシー分布の裾が重いことが数値にも表れている。

練習問題

問1. 標準コーシー分布において、P(X \leq 1) を求めよ。
\begin{aligned} P(X \leq 1) &= F(1) = \dfrac{1}{2} + \dfrac{1}{\pi}\arctan(1) \\[5pt] &= \dfrac{1}{2} + \dfrac{1}{\pi} \cdot \dfrac{\pi}{4} = \dfrac{1}{2} + \dfrac{1}{4} = \dfrac{3}{4} = 0.75 \end{aligned}
問2. 標準コーシー分布の第3四分位数(上側25%点)を求めよ。

F(x) = 0.75 となる x を求める。

\begin{aligned} \dfrac{1}{2} + \dfrac{1}{\pi}\arctan(x) &= 0.75 \\[5pt] \arctan(x) &= \dfrac{\pi}{4} \\[5pt] x &= \tan\left(\dfrac{\pi}{4}\right) = 1 \end{aligned}

第3四分位数は Q_3 = 1 である。対称性より第1四分位数は Q_1 = -1

問3. X が標準コーシー分布に従うとき、Y = 2X + 3 の従う分布を求めよ。

コーシー分布の線形変換の性質より

X \sim \text{Cauchy}(0, 1) \Rightarrow aX + b \sim \text{Cauchy}(b, |a|)

したがって

Y = 2X + 3 \sim \text{Cauchy}(3, 2)

位置パラメータ \mu = 3、尺度パラメータ \sigma = 2 のコーシー分布に従う。

まとめ

項目 内容
分布名 コーシー分布(Cauchy distribution)
パラメータ \mu(位置)、\sigma > 0(尺度)
確率密度関数 f(x) = \dfrac{1}{\pi\sigma\left(1 + \left(\dfrac{x-\mu}{\sigma}\right)^2\right)}
累積分布関数 F(x) = \dfrac{1}{2} + \dfrac{1}{\pi}\arctan\left(\dfrac{x-\mu}{\sigma}\right)
期待値 存在しない
分散 存在しない
中央値 \mu
t分布との関係 \text{Cauchy}(0,1) = t(1)
正規分布の比 \dfrac{Z_1}{Z_2} \sim \text{Cauchy}(0,1)Z_i \sim N(0,1) 独立)

Pythonで実装する

Pythonを使ってコーシー分布の計算やシミュレーションを行う。

cauchy_distribution.py
import numpy as np
from scipy import stats

print("=== 標準コーシー分布 ===")

# scipy.stats.cauchy で標準コーシー分布
dist = stats.cauchy()

# 確率密度関数
print("\n確率密度関数の値:")
for x in [-2, -1, 0, 1, 2]:
    print(f"  f({x}) = {dist.pdf(x):.6f}")

# 累積分布関数
print("\n累積分布関数:")
for x in [-1, 0, 1]:
    print(f"  F({x}) = {dist.cdf(x):.4f}")

# P(|X| <= 1) の計算
p_abs_le_1 = dist.cdf(1) - dist.cdf(-1)
print(f"\nP(|X| ≤ 1) = {p_abs_le_1:.4f}")

# 分位点
print("\n分位点:")
for q in [0.25, 0.5, 0.75]:
    print(f"  {int(q*100)}%点: {dist.ppf(q):.4f}")

# t(1) との比較
print("\n=== t(1)分布との比較 ===")
t1 = stats.t(df=1)
for x in [0, 1, 2]:
    print(f"x={x}: Cauchy f(x)={dist.pdf(x):.6f}, t(1) f(x)={t1.pdf(x):.6f}")

# 標準正規分布の比からの生成
print("\n=== Z1/Z2 からの生成 ===")
np.random.seed(42)
n = 100000
z1 = np.random.standard_normal(n)
z2 = np.random.standard_normal(n)
ratio = z1 / z2

print(f"サンプル数: {n}")
print(f"中央値: {np.median(ratio):.4f} (理論値: 0)")
print(f"P(|X| ≤ 1): {np.mean(np.abs(ratio) <= 1):.4f} (理論値: 0.5)")

# 注意: 平均と分散は存在しない
print(f"\n標本平均: {np.mean(ratio):.4f} (不安定)")
print(f"標本分散: {np.var(ratio):.4f} (不安定)")
print("※ コーシー分布では平均・分散が存在しないため、")
print("  標本平均・標本分散はサンプルサイズを増やしても収束しない")
=== 標準コーシー分布 === 確率密度関数の値: f(-2) = 0.063662 f(-1) = 0.159155 f(0) = 0.318310 f(1) = 0.159155 f(2) = 0.063662 累積分布関数: F(-1) = 0.2500 F(0) = 0.5000 F(1) = 0.7500 P(|X| ≤ 1) = 0.5000 分位点: 25%点: -1.0000 50%点: 0.0000 75%点: 1.0000 === t(1)分布との比較 === x=0: Cauchy f(x)=0.318310, t(1) f(x)=0.318310 x=1: Cauchy f(x)=0.159155, t(1) f(x)=0.159155 x=2: Cauchy f(x)=0.063662, t(1) f(x)=0.063662 === Z1/Z2 からの生成 === サンプル数: 100000 中央値: -0.0007 (理論値: 0) P(|X| ≤ 1): 0.4998 (理論値: 0.5) 標本平均: -0.1628 (不安定) 標本分散: 5765.6582 (不安定) ※ コーシー分布では平均・分散が存在しないため、 標本平均・標本分散はサンプルサイズを増やしても収束しない

コーシー分布と t(1) 分布の確率密度関数が完全に一致することが確認できる。また、Z_1/Z_2 から生成したサンプルの中央値や P(|X| \leq 1) は理論値とよく一致するが、標本平均と標本分散は不安定で収束しない。これは大数の法則が成り立たないことを示している。