パレート分布(Pareto distribution)
1. はじめに
パレート分布(Pareto distribution)は、所得分布や都市の人口分布、ファイルサイズ分布、Webアクセスの分布など、「ごく一部が全体の大部分を占める」現象をモデル化するために用いられる確率分布です。
いわゆる 80対20の法則(Pareto principle) の数学的基盤でもあり、実務的にも統計学的にも重要です。
2. 定義
パレート分布は、スケールパラメータ $x_m > 0$ と形状パラメータ $\alpha > 0$ によって定義されます。
確率密度関数(PDF)
$$
f(x;\alpha, x_m) =
\begin{cases}
\frac{\alpha x_m^{\alpha}}{x^{\alpha+1}} & x \geq x_m \
0 & x < x_m
\end{cases}
$$
累積分布関数(CDF)
$$
F(x;\alpha, x_m) =
\begin{cases}
1 - \left( \frac{x_m}{x} \right)^{\alpha} & x \geq x_m \
0 & x < x_m
\end{cases}
$$
3. 期待値と分散
期待値
$$
E[X] =
\begin{cases}
\frac{\alpha x_m}{\alpha - 1} & \alpha > 1 \
\infty & \alpha \leq 1
\end{cases}
$$
分散
$$
\mathrm{Var}[X] =
\begin{cases}
\frac{x_m^2 \alpha}{(\alpha - 1)^2 (\alpha - 2)} & \alpha > 2 \
\infty & 1 < \alpha \leq 2 \
\text{定義されない} & \alpha \leq 1
\end{cases}
$$
4. 特徴
- べき分布(power law) の一種
- パラメータ $\alpha$ が小さいほど「裾の重い(heavy-tailed)」分布になる
- $\alpha \leq 1$ のとき期待値が存在せず、$\alpha \leq 2$ のとき分散が存在しない
- 実際の所得分布やファイルサイズ分布などでよく観測される
5. パレートの法則(80対20の法則)
例えば、売上の80%は20%の顧客から生まれる、などの経験則は、パレート分布に基づく近似です。
数理的には、分布の 上位$k$%が全体のどの程度を占めるか をパレート分布で計算することが可能です。
6. Pythonでのシミュレーション例
import numpy as np
import matplotlib.pyplot as plt
alpha = 2.5
xm = 1.0
samples = (np.random.pareto(alpha, 10000) + 1) * xm
plt.hist(samples, bins=100, density=True, alpha=0.7, color='blue')
plt.xscale('log')
plt.yscale('log')
plt.title("Pareto Distribution (alpha=2.5, xm=1.0)")
plt.xlabel("x")
plt.ylabel("Density")
plt.show()