パレート分布とべき乗則の理論 — 富の不平等から自然現象まで

「世界の富の80%は上位20%の人々が保有している」——ヴィルフレド・パレートが19世紀末にイタリアの土地所有データから発見したこの経験則は、今日パレートの法則(80-20の法則)として広く知られています。

この法則の背後にある数学的構造がパレート分布(Pareto distribution)です。パレート分布はべき乗則(power law)に従う分布の代表例であり、正規分布や指数分布とは質的に異なる重い裾(heavy tail)を持つ点が最大の特徴です。

パレート分布に従う現象は、私たちの想像以上に広範に存在します。

  • 経済学: 所得分布、資産分布、企業の売上高分布
  • 自然科学: 地震の規模(グーテンベルク・リヒター則)、月のクレーターの大きさ
  • 情報科学: ウェブページのリンク数、SNSのフォロワー数、単語の出現頻度(ジップの法則)
  • 保険数理: 大規模損害額のモデリング(カタストロフィーリスク)

本記事では、パレート分布がなぜ「極端な不平等」を生むのかを直感的に理解し、確率密度関数を導出します。さらに、モーメントの条件付き存在性、ジニ係数、ローレンツ曲線をPythonで可視化し、べき乗則の応用例を示します。

テール指数αを変えたパレート分布の形状ギャラリー — αが小さいほど裾が重く、極端な値が生まれやすい

最初の図に、テール指数 $\alpha$ を $1.0, 1.5, 2.5, 5.0$ と変えたパレート分布の確率密度を並べました。$\alpha$ が小さいほど、左の最小値 $x_m$ 付近に質量が集中しつつも、右に長い裾を引きずる「ひどい不平等」が生まれることがわかります。$\alpha = 1$ では右裾の積分が発散して期待値が無限大、$\alpha = 2$ では分散が発散します。本記事ではこの裾の挙動を、数式と図の両面から追っていきます。

本記事の内容

  • パレート分布の直感的理解とべき乗則の概念
  • 確率密度関数・累積分布関数の導出
  • モーメントの条件付き存在性(テール指数の役割)
  • ジニ係数とローレンツ曲線
  • Pythonによる可視化とべき乗則のフィッティング
  • 都市人口分布・地震規模への応用

前提知識

この記事を読む前に、以下の記事を読んでおくと理解が深まります。

パレート分布とは — 直感的な理解

スケールフリーの分布

パレート分布を直感的に理解するために、まず通常の分布(たとえば正規分布や指数分布)と対比してみましょう。

身長の分布は正規分布に近く、平均170cmのまわりに集中しています。平均の2倍(340cm)の人はまず存在しません。つまり、正規分布には「特徴的なスケール」(代表値)があります。

一方、所得分布は質的に異なります。平均年収が500万円の社会でも、5000万円(10倍)、5億円(100倍)の人も一定の割合で存在します。平均値の何十倍、何百倍という極端な値が、無視できない確率で出現するのです。

この「特徴的なスケールがない」性質をスケールフリー(scale-free)といい、パレート分布はその典型例です。パレート分布の尾部確率は

$$ P(X > x) \propto x^{-\alpha} $$

というべき乗で減衰します。指数分布の尾部確率 $P(X > x) \propto e^{-\lambda x}$ が「急速に」減衰するのに比べ、べき乗の減衰ははるかにゆっくりです。この「重い裾」が極端な値を頻繁に生む原因です。

80-20の法則とべき乗則

パレートの法則「上位20%が全体の80%を占める」は、テール指数 $\alpha$ が特定の値($\alpha = \log 4/\log 5 \approx 1.16$)のときに正確に成り立ちます。

より一般には、パレート分布に従う量では「少数の巨人と多数の小人」というパターンが現れます。ウェブサイトのリンク数で言えば、大多数のページはリンクをほとんど持たず、ごく少数のページ(Google、Wikipediaなど)が膨大なリンクを集めています。

この「不平等」の度合いはテール指数 $\alpha$ で制御されます。$\alpha$ が小さいほど裾が重く、不平等が激しくなります。

パレートの法則を可視化 — 上位20%の人口が累積富の80%を占める累積寄与曲線と棒グラフ

上の図は、$\alpha = \log 5/\log 4 \approx 1.16$ で $N=10000$ サンプルを発生させ、上位からの人口比に対する累積富の割合をプロットしたものです。「上位 20%」のラインが「富の 80%」のラインとちょうど交わるのが見えます。右側の棒グラフでは、上位 1% だけで全体の富のかなりの部分を独占している様子も読み取れます。重要なのは、この「集中」が偶然ではなく、テール指数 $\alpha$ という1つのパラメータで決まる構造的な性質だという点です。

この直感を数学的に定式化しましょう。

パレート分布の数学的定義

タイプI(古典的パレート分布)

最も基本的なパレート分布(タイプI)は、次の累積分布関数で定義されます。

$$ \begin{equation} F(x) = 1 – \left(\frac{x_m}{x}\right)^{\alpha}, \quad x \geq x_m \end{equation} $$

ここで $x_m > 0$ は最小値(スケールパラメータ)、$\alpha > 0$ はテール指数(形状パラメータ)です。

$X$ は常に $x_m$ 以上の値をとります。これは所得分布で言えば「最低所得」に相当します。

確率密度関数は CDF を微分して得られます。

$$ \begin{equation} f(x) = \frac{\alpha\, x_m^{\alpha}}{x^{\alpha+1}}, \quad x \geq x_m \end{equation} $$

この式の $x^{-(\alpha+1)}$ というべき乗の構造が、パレート分布の本質です。

尾部確率(生存関数)は

$$ \begin{equation} P(X > x) = \left(\frac{x_m}{x}\right)^{\alpha} \end{equation} $$

であり、$x$ のべき乗で減衰します。

確率の正規化の確認

$$ \int_{x_m}^{\infty} f(x)\,dx = \alpha\, x_m^{\alpha} \int_{x_m}^{\infty} x^{-\alpha-1}\,dx = \alpha\, x_m^{\alpha} \left[\frac{x^{-\alpha}}{-\alpha}\right]_{x_m}^{\infty} = \alpha\, x_m^{\alpha} \cdot \frac{x_m^{-\alpha}}{\alpha} = 1 $$

$\alpha > 0$ であれば $x^{-\alpha} \to 0$($x \to \infty$)なので積分は収束し、確率密度関数の正規化条件が満たされます。

タイプII(ロマックス分布)

パレート分布のタイプIIは、最小値を0に移動した分布です。

$$ F(x) = 1 – \left(\frac{x_m}{x + x_m}\right)^{\alpha} = 1 – \left(1 + \frac{x}{x_m}\right)^{-\alpha}, \quad x \geq 0 $$

これはロマックス分布(Lomax distribution)とも呼ばれます。タイプIのパレート分布 $Y$ に対して $X = Y – x_m$ とおくとロマックス分布に従います。ロマックス分布は保険数理の超過損害額のモデリングで頻繁に使用されます。

一般化パレート分布(GPD)

極値理論で重要な役割を果たすのが一般化パレート分布(Generalized Pareto Distribution, GPD)です。

$$ F(x) = 1 – \left(1 + \xi \frac{x}{\sigma}\right)^{-1/\xi} $$

形状パラメータ $\xi > 0$ のとき(べき乗型の裾)がパレート分布に対応し、$\xi = 0$ のとき指数分布、$\xi < 0$ のときベータ分布型の有界な分布になります。GPDはピークス・オーバー・スレッショルド法(POT法)で閾値を超えた超過量のモデリングに使われます。

パレート分布のスケーリング性質

パレート分布には重要なスケーリング性質があります。$X \sim \text{Pareto}(\alpha, x_m)$ のとき、$c > 0$ に対して

$$ cX \sim \text{Pareto}(\alpha, c \cdot x_m) $$

テール指数 $\alpha$ はスケーリングで変化しません。これは「通貨単位を変えてもべき乗則の性質は不変である」ことを意味し、所得分布の分析では自然な性質です。

また、条件付き分布もパレート分布のままです。$X > y$($y > x_m$)という条件のもとで

$$ P(X > x \mid X > y) = \left(\frac{y}{x}\right)^{\alpha}, \quad x > y $$

これは $X \mid X > y \sim \text{Pareto}(\alpha, y)$ を意味します。パレート分布は「高所得層だけを取り出しても、その中での分布はやはりパレート分布」という自己相似的な構造を持っています。この性質は指数分布の無記憶性のべき乗則版と見なすことができます。

パレート分布の重い裾 — 正規分布や指数分布と尾部確率を比較した片対数プロット

「重い裾」がなぜ重要かを目に見える形で確認しておきます。上の図は、同程度の中心位置を持つ正規分布・指数分布・パレート分布の確率密度と生存関数 $P(X > x)$ を比較したものです。線形スケール(左)では3者は似たように見えますが、片対数(右)にした瞬間に違いがはっきりします。正規分布の尾部は $e^{-x^2/2}$ で急峻に折れ曲がるのに対し、パレート分布は直線的に減衰します。$x$ が大きい領域では、パレートの確率は他の分布より何桁も大きくなります。「100年に1度の災害」が10年に1度起きる、というのは正にこの裾の重さの帰結です。

次に、モーメントの計算を見ていきましょう。

モーメントの条件付き存在性

パレート分布の最も注目すべき性質の一つは、テール指数 $\alpha$ が十分に大きくないとモーメントが発散することです。

$n$ 次モーメント

$$ E[X^n] = \int_{x_m}^{\infty} x^n \cdot \frac{\alpha\, x_m^{\alpha}}{x^{\alpha+1}}\,dx = \alpha\, x_m^{\alpha} \int_{x_m}^{\infty} x^{n-\alpha-1}\,dx $$

被積分関数 $x^{n-\alpha-1}$ の $x \to \infty$ での振る舞いを見ると、積分が収束するのは $n – \alpha – 1 < -1$、すなわち $n < \alpha$ のときです。

$$ \begin{equation} E[X^n] = \frac{\alpha\, x_m^n}{\alpha – n}, \quad n < \alpha \end{equation} $$

$n \geq \alpha$ のとき $E[X^n] = \infty$ です。

期待値と分散

期待値($\alpha > 1$ のとき存在):

$$ \begin{equation} E[X] = \frac{\alpha\, x_m}{\alpha – 1} \quad (\alpha > 1) \end{equation} $$

$\alpha \leq 1$ のとき期待値は無限大です。

分散($\alpha > 2$ のとき存在):

$$ \begin{equation} \text{Var}(X) = \frac{\alpha\, x_m^2}{(\alpha-1)^2(\alpha-2)} \quad (\alpha > 2) \end{equation} $$

$1 < \alpha \leq 2$ では期待値は有限だが分散は無限大です。

この結果は驚くべきものです。$\alpha = 1.5$(多くの所得分布で観測される値に近い)の場合、期待値は有限ですが分散は無限大です。つまり、サンプルの分散がサンプルサイズを増やしても収束しないのです。

統計的推論への影響は甚大です。分散が無限大の場合、通常の中心極限定理は適用できません。標本平均 $\bar{X}_n$ の分布は $\sqrt{n}$ ではなく $n^{1/\alpha}$ のオーダーでスケールし、極限分布は正規分布ではなく安定分布(stable distribution)になります。このため、パレート分布に従うデータの統計処理には特別な手法が必要です。

対数の分布

パレート分布に従う確率変数の対数は指数分布に従います。$X \sim \text{Pareto}(\alpha, x_m)$ のとき $Y = \log(X/x_m)$ は

$$ P(Y > y) = P(X > x_m e^y) = e^{-\alpha y}, \quad y \geq 0 $$

よって $Y \sim \text{Exp}(\alpha)$ です。この関係から、パレート分布のデータを対数変換すると指数分布になり、解析が容易になることがあります。

中央値

$$ \begin{equation} \text{median} = x_m \cdot 2^{1/\alpha} \end{equation} $$

$\alpha > 1$ のとき、中央値 $x_m \cdot 2^{1/\alpha}$ は期待値 $\alpha x_m/(\alpha-1)$ よりも常に小さくなります。

モーメント発散の可視化 — αの3領域による期待値・分散の存在性と標本平均の収束

モーメントの発散はしばしば「数学上の話で実害はない」と誤解されますが、上の図はその誤解を解いてくれます。左側のパネルは $E[X] = \alpha x_m/(\alpha-1)$ の曲線で、$\alpha \to 1^+$ で発散する様子と、$\alpha = 2$ までは分散が発散する範囲を色分けで示しました。右側は、実際に $\alpha = 0.8, 1.2, 2.5$ でサンプルを発生させ、累積標本平均 $\bar{X}_N$ を $N$ について追跡したシミュレーションです。$\alpha = 2.5$(緑)は理論値に綺麗に収束しますが、$\alpha = 1.2$(橙)は何万サンプル取ってもジワジワと暴れ続け、$\alpha = 0.8$(赤)は単調に発散する一方です。「サンプルを増やせば平均値は安定する」という直感が、$\alpha \le 1$ では完全に裏切られるのです。

モーメントの条件付き存在性がわかったところで、パレート分布が「不平等」をどう定量化するかを見てみましょう。

ジニ係数とローレンツ曲線

ローレンツ曲線

所得分布の不平等を可視化する標準的な手法がローレンツ曲線(Lorenz curve)です。横軸に所得が低い方からの累積人口比、縦軸に累積所得比をとります。

パレート分布のローレンツ曲線は解析的に計算できます。

$$ \begin{equation} L(p) = 1 – (1-p)^{1-1/\alpha} \quad (\alpha > 1) \end{equation} $$

完全平等なら $L(p) = p$(45度線)であり、ローレンツ曲線が45度線から離れるほど不平等が大きいことを示します。

ジニ係数

ジニ係数(Gini coefficient)は、ローレンツ曲線と45度線の間の面積の2倍として定義され、0(完全平等)から1(完全不平等)の値をとります。

パレート分布のジニ係数は次の簡潔な式で与えられます。

$$ \begin{equation} G = \frac{1}{2\alpha – 1} \quad (\alpha > 1) \end{equation} $$

$\alpha = 2$ のとき $G = 1/3$、$\alpha = 1.5$ のとき $G = 1/2$、$\alpha \to 1^+$ のとき $G \to 1$(完全不平等)です。

import numpy as np
import matplotlib.pyplot as plt

fig, axes = plt.subplots(1, 2, figsize=(14, 5.5))

# (a) ローレンツ曲線
ax = axes[0]
p = np.linspace(0, 1, 1000)

ax.plot(p, p, "k--", linewidth=1, label="Perfect equality")

for alpha in [1.2, 1.5, 2.0, 3.0, 5.0]:
    L = 1 - (1 - p)**(1 - 1/alpha)
    G = 1 / (2*alpha - 1)
    ax.plot(p, L, linewidth=2,
            label=rf"$\alpha = {alpha}$, $G = {G:.3f}$")

ax.set_xlabel("Cumulative population share", fontsize=12)
ax.set_ylabel("Cumulative income share", fontsize=12)
ax.set_title("Lorenz curves for Pareto distribution", fontsize=13)
ax.legend(fontsize=9)
ax.set_aspect("equal")
ax.grid(True, alpha=0.3)

# (b) ジニ係数 vs テール指数
ax = axes[1]
alpha_range = np.linspace(1.01, 10, 500)
G = 1 / (2 * alpha_range - 1)

ax.plot(alpha_range, G, "b-", linewidth=2)
ax.axhline(0.3, color="green", linestyle="--", linewidth=1, alpha=0.7,
           label="G=0.3 (Nordic countries)")
ax.axhline(0.4, color="orange", linestyle="--", linewidth=1, alpha=0.7,
           label="G=0.4 (US)")
ax.axhline(0.5, color="red", linestyle="--", linewidth=1, alpha=0.7,
           label="G=0.5 (High inequality)")

ax.set_xlabel(r"Tail index $\alpha$", fontsize=12)
ax.set_ylabel("Gini coefficient", fontsize=12)
ax.set_title(r"Gini coefficient vs $\alpha$", fontsize=13)
ax.legend(fontsize=10)
ax.set_ylim(0, 1)
ax.grid(True, alpha=0.3)

plt.tight_layout()
plt.savefig("pareto_lorenz_gini.png", dpi=150, bbox_inches="tight")
plt.show()

このグラフから、以下の知見が得られます。

  1. 左図: テール指数 $\alpha$ が小さいほどローレンツ曲線が45度線から大きく離れ、不平等が激しい 。$\alpha = 1.2$ では上位数パーセントの人々が所得の大部分を占めていることが視覚的にわかります。$\alpha = 5$ では比較的平等な分布です

  2. 右図: ジニ係数はテール指数の減少関数 です。$\alpha \approx 2.0$ のとき $G \approx 0.33$ で北欧諸国の水準、$\alpha \approx 1.67$ のとき $G \approx 0.43$ でアメリカの水準に対応します。テール指数のわずかな変化が社会の不平等の度合いを大きく変えることが読み取れます

Lorenz曲線とジニ係数 — 国別ベンチマークから対応するαを推定

理論曲線をもう少し実世界に接続してみましょう。上の図の左パネルでは $\alpha=1.5$ のときの不平等領域を塗り分けて、「45度線と Lorenz 曲線で挟まれた面積の2倍」がジニ係数 $G$ である定義を視覚的に示しました。右パネルには、北欧($G\approx 0.25$)・日本($G\approx 0.35$)・米国($G\approx 0.41$)・南アフリカ($G\approx 0.55$)の実測ジニ係数をプロットし、対応するテール指数 $\alpha = (1/G + 1)/2$ を逆算しています。たとえば米国の $G=0.41$ は $\alpha \approx 1.72$ に相当し、教科書的なパレート所得モデルとも整合する値です。「ジニ係数を上げる」とは「テール指数を下げる」、つまり超富裕層の取り分を増やすことに他ならない、と統一的に理解できます。

Pythonによる確率密度関数の可視化

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

fig, axes = plt.subplots(1, 2, figsize=(14, 5.5))

x_m = 1.0  # 最小値

# (a) 通常スケール
ax = axes[0]
x = np.linspace(x_m, 10, 1000)

for alpha in [1.0, 1.5, 2.0, 3.0, 5.0]:
    pdf = stats.pareto.pdf(x, b=alpha, scale=x_m)
    ax.plot(x, pdf, linewidth=2, label=rf"$\alpha = {alpha}$")

ax.set_xlabel("x", fontsize=12)
ax.set_ylabel("f(x)", fontsize=12)
ax.set_title("Pareto PDF (linear scale)", fontsize=13)
ax.legend(fontsize=10)
ax.set_ylim(0, 3)
ax.grid(True, alpha=0.3)

# (b) 両対数スケール(べき乗則の確認)
ax = axes[1]
x = np.linspace(x_m, 100, 10000)

for alpha in [1.0, 1.5, 2.0, 3.0, 5.0]:
    pdf = stats.pareto.pdf(x, b=alpha, scale=x_m)
    ax.loglog(x, pdf, linewidth=2, label=rf"$\alpha = {alpha}$ (slope $= -{alpha+1}$)")

ax.set_xlabel("x (log scale)", fontsize=12)
ax.set_ylabel("f(x) (log scale)", fontsize=12)
ax.set_title("Pareto PDF (log-log scale)", fontsize=13)
ax.legend(fontsize=9)
ax.grid(True, alpha=0.3, which="both")

plt.tight_layout()
plt.savefig("pareto_pdf.png", dpi=150, bbox_inches="tight")
plt.show()

このグラフから、パレート分布の構造が明確に読み取れます。

  1. 左図(線形スケール): すべてのパラメータで $x = x_m$ 付近に確率が集中し、右裾が長く伸びています。$\alpha$ が小さいほど裾が重く、大きな値が出やすいことがわかります

  2. 右図(両対数スケール): パレート分布の確率密度関数は、両対数プロット上で直線になります。これがべき乗則の最も明確な視覚的特徴です。直線の傾きは $-(\alpha + 1)$ であり、テール指数が直接的に読み取れます

パレート vs 対数正規 vs Weibull — 両対数プロットで尾部の振る舞いを比較

「両対数で直線になればパレート」と早合点しないために、対数正規分布や Weibull 分布との比較を見ておきます。上の図では同じ図上にパレート($\alpha=1.5$)・対数正規($\sigma=1.5$)・Weibull($k=0.7$)を重ねました。中央付近の領域では3つとも似たように見えますが、十分に大きな $x$ まで追うと、対数正規はだんだん曲がって落ち、Weibull はストレッチ指数で急に落ちる一方で、パレートだけが厳密な直線を保ちます。実データの判定では「どこから先がべき乗則の直線か」を見極める必要があり、これが後で見るヒル推定量の $x_{\min}$ 選定の理論的動機になります。

べき乗則のフィッティング

実データにパレート分布を当てはめる方法を示します。

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

np.random.seed(42)

# パレート分布に従うデータの生成(模擬的な所得データ)
alpha_true = 1.8
x_m = 30000  # 最低所得(3万ドル)
n = 5000
data = (np.random.pareto(alpha_true, size=n) + 1) * x_m

# ヒルの推定量(テール指数の最尤推定)
def hill_estimator(data, x_m):
    data_above = data[data >= x_m]
    n = len(data_above)
    alpha_hat = n / np.sum(np.log(data_above / x_m))
    return alpha_hat

alpha_est = hill_estimator(data, x_m)

fig, axes = plt.subplots(1, 2, figsize=(14, 5.5))

# (a) 相補累積分布関数(CCDF)
ax = axes[0]
data_sorted = np.sort(data)[::-1]
ccdf = np.arange(1, len(data_sorted) + 1) / len(data_sorted)

ax.loglog(data_sorted, ccdf, ".", markersize=2, alpha=0.5, color="steelblue",
          label="Data (CCDF)")

# 理論的なCCDF
x_theory = np.logspace(np.log10(x_m), np.log10(data.max()), 200)
ccdf_theory = (x_m / x_theory)**alpha_est
ax.loglog(x_theory, ccdf_theory, "r-", linewidth=2,
          label=rf"Pareto fit ($\alpha = {alpha_est:.2f}$)")

ccdf_true = (x_m / x_theory)**alpha_true
ax.loglog(x_theory, ccdf_true, "k--", linewidth=1.5,
          label=rf"True ($\alpha = {alpha_true}$)")

ax.set_xlabel("Income [USD]", fontsize=12)
ax.set_ylabel("P(X > x)", fontsize=12)
ax.set_title("CCDF on log-log scale", fontsize=13)
ax.legend(fontsize=10)
ax.grid(True, alpha=0.3, which="both")

# (b) ヒストグラム
ax = axes[1]
ax.hist(data, bins=100, density=True, alpha=0.6, color="steelblue",
        edgecolor="white", label="Data")

x_pdf = np.linspace(x_m, np.percentile(data, 99), 500)
pdf_est = stats.pareto.pdf(x_pdf / x_m, b=alpha_est) / x_m
ax.plot(x_pdf, pdf_est, "r-", linewidth=2, label=f"Pareto fit")

ax.set_xlabel("Income [USD]", fontsize=12)
ax.set_ylabel("Density", fontsize=12)
ax.set_title("Income distribution", fontsize=13)
ax.legend(fontsize=10)
ax.grid(True, alpha=0.3)

plt.tight_layout()
plt.savefig("pareto_fitting.png", dpi=150, bbox_inches="tight")
plt.show()

print(f"真のテール指数: {alpha_true}")
print(f"推定テール指数(ヒル推定量): {alpha_est:.3f}")
print(f"推定ジニ係数: {1/(2*alpha_est - 1):.3f}")

このフィッティング結果から、以下のことが確認できます。

  1. 左図(CCDF、両対数プロット): データ点が直線に乗っている ことが、データがべき乗則に従うことの視覚的な証拠です。推定値(赤の実線)と真の値(黒の破線)がほぼ重なっており、ヒルの推定量が精度よく機能しています

  2. 右図: 所得分布の典型的な形状 ——大多数が低所得に集中し、高所得の方向に長い裾が伸びています。この非対称性が不平等の源です

模擬所得データへのパレートフィット — 両対数ヒストグラムとCCDFの両面チェック

実データへの当てはめは、両対数ヒストグラム(PDF)と両対数 CCDF の両面から見るのが定石です。上の図は $\alpha = 1.7, x_m = 20{,}000$ USD で生成した模擬所得データ $N = 8000$ にヒル推定量を当てて、PDF とCCDFを並べたものです。両プロットとも直線への載りがよく、推定値 $\hat\alpha$ もほぼ真値と一致しています。CCDFの右端が真値からズレ始めているのは「最高所得側のサンプル数が少なく確率推定の分散が大きい」という当然の理由で、推定の信頼性を判断する際に必ず意識すべきポイントです。

ヒル推定量の漸近性質

ヒル推定量 $\hat\alpha = N / \sum_{i=1}^N \log(x_i/x_m)$ は最尤推定量であり、一致性・漸近正規性を満たします。具体的には、$\sqrt{N}(\hat\alpha – \alpha) \to \mathcal{N}(0, \alpha^2)$ という漸近分布を持ち、標準誤差は $\alpha/\sqrt{N}$ で減衰します。$\alpha = 2$ で $N = 1000$ なら標準誤差は約 $0.063$、$N = 10000$ なら約 $0.020$ となります。

ヒル推定量のサンプル特性 — ボックスプロットとRMSEのスケーリング

上の図は $\alpha_{\text{true}} = 2.0$ のもとで $N$ を変えてヒル推定を 500 回ずつ実行し、推定値のばらつきと RMSE を見たものです。左のボックスプロットは $N$ が増えるにつれて推定値が真値の周りに集中していく様子を、右のパネルは RMSE が $\alpha/\sqrt{N}$ の漸近曲線とぴったり重なる様子を示しています。「テール指数の推定誤差はサンプル数の平方根で減る」というルールは、データ収集計画を立てる上で実用的な目安になります。

パレート分布の生成メカニズム

パレート分布(べき乗則)が自然に生まれるメカニズムはいくつか知られています。なぜ正規分布ではなくべき乗則が生まれるのか——その物理的・社会的な機構を理解することは、モデルの適用可能性を判断する上で重要です。

優先的選択(preferential attachment)

「富める者がさらに富む」(Matthew effect)というメカニズムです。既に多くのリンクを持つウェブページほど新しいリンクを獲得しやすい。既に資産が多い人ほど投資リターンで資産を増やしやすい。このような正のフィードバックが、べき乗則を生みます。

数学的には、BarabasiとAlbertのモデルが有名です。ネットワークに新しいノードが追加されるとき、既存のノード $i$ にリンクが張られる確率は $i$ の次数 $k_i$ に比例します。

$$ P(\text{ノード } i \text{ にリンク}) = \frac{k_i}{\sum_j k_j} $$

このメカニズムのもとで、次数分布はべき乗則 $P(k) \propto k^{-3}$ に従います(テール指数 $\alpha = 3$)。

乗法的過程と最小値制約

対数正規分布と同じ乗法的過程に「反射壁」(最小値制約)を加えると、定常状態でパレート分布が得られます。

具体的には、資産 $W_t$ が乗法的に変動するモデル $W_{t+1} = R_t \cdot W_t$($R_t$ はi.i.d.の正のランダム変数)に、最低資産 $W_{\min}$ の制約を加えます。$W_t < W_{\min}$ に落ちたら $W_{\min}$ にリセットされるとすると、定常分布はテール部分でパレート分布に従います。

このモデルは所得の動態を自然に記述します。所得は前年の所得に乗法的なショック(昇給率、投資リターンなど)がかかり、最低賃金が下限として機能します。

自己組織化臨界

砂山のモデル(Bak-Tang-Wiesenfeld model)に代表される自己組織化臨界(self-organized criticality)では、系が外部からのチューニングなしに臨界状態に到達し、べき乗則的な振る舞いを自発的に示します。

具体的には、砂山に1粒ずつ砂を落としていくと、小さな雪崩は頻繁に起き、大きな雪崩はまれに起きます。雪崩のサイズ分布はべき乗則に従います。地震の規模分布もこのメカニズムで説明されます。グーテンベルク・リヒター則によれば、マグニチュード $M$ 以上の地震の発生頻度 $N(M)$ は $\log N(M) = a – bM$ に従い、これは地震のエネルギー分布がべき乗則に従うことを意味します。典型的に $b \approx 1$ であり、マグニチュードが1上がるごとに発生頻度は約10分の1になります。

順序統計 — 「最大値」がサンプル数に乗る

パレート分布のもう一つの特徴的な振る舞いが、順序統計(order statistics)の挙動です。$N$ 個のサンプルのうち最大値 $X_{(N)} = \max_i X_i$ は、$N$ が増えるにつれてどれくらい大きくなるでしょうか?正規分布なら $\sqrt{2\log N}$ という極めてゆっくりとした成長ですが、パレート分布では $N^{1/\alpha}$ というべき的な成長になります。

これは累積分布関数 $F(x) = 1 – (x_m/x)^\alpha$ から逆関数を取ることで簡単に確認できます。$F(x_{(N)}) \approx 1 – 1/N$ を満たす $x_{(N)}$ は

$$ x_{(N)} \approx x_m \cdot N^{1/\alpha} $$

となります。$\alpha = 1.5$ なら、$N$ を 1000 倍するとサンプル最大値は約 100 倍になります。「データセットを 1000 倍に増やしたら史上最大の所得は 100 倍になった」——直感的にはぎょっとしますが、パレート分布のもとではこれが普通の現象です。

パレート分布の順序統計 — 上位k番目の分布と最大値のN依存

上の図は $\alpha = 1.5, N = 1000$ で 2000 回試行を行い、上位 $k$ 番目($k=1, 5, 50, 200$)の値の分布と、$N$ を変えたときの最大値の平均を見たものです。右パネルでは、実験で得た $E[X_{(N)}]$ が理論的なスケーリング $N^{1/\alpha}$ の直線にぴたりと載っているのが確認できます。これは保険数理で言えば「契約者を増やせば最大損害額は必ず大きくなる」という事実の数学的根拠であり、再保険プログラム設計の出発点でもあります。

べき乗則の検定 — 本当にべき乗則か

実データが本当にべき乗則に従うかどうかの判定は、見かけほど簡単ではありません。両対数プロット上で「直線に見える」だけでは不十分であり、対数正規分布や指数分布の裾も両対数プロット上で直線に似て見えることがあります。

厳密なべき乗則の検定には、以下の手順が推奨されています(Clauset, Shalizi & Newman, 2009)。

  1. $x_{\min}$ の推定: べき乗則が成り立つ下限値 $x_{\min}$ をKS統計量を最小化するように推定する
  2. テール指数の推定: $x_{\min}$ 以上のデータに対してヒルの推定量(最尤法)を適用する
  3. 適合度検定: KSテストによる $p$ 値を計算し、べき乗則の棄却を試みる
  4. 対立仮説との比較: 尤度比検定で対数正規分布やストレッチ指数分布と比較する

この手順を踏むことで、「べき乗則に見える」のと「統計的にべき乗則を棄却できない」のを区別できます。

混合分布としての解釈

パレート分布は、指数分布のガンマ混合としても導出できます。$X \mid \Lambda = \lambda \sim \text{Exp}(\lambda)$ で $\Lambda \sim \text{Gamma}(\alpha, \beta)$ のとき、$X$ の周辺分布はロマックス分布(パレートタイプII)になります。

$$ f(x) = \int_0^{\infty} \lambda e^{-\lambda x} \cdot \frac{\beta^{\alpha}}{\Gamma(\alpha)} \lambda^{\alpha-1} e^{-\beta\lambda} \, d\lambda = \frac{\alpha \beta^{\alpha}}{(x + \beta)^{\alpha+1}} $$

この解釈は「個人ごとにリスクの大きさ $\lambda$ が異なる集団」をモデル化するもので、保険数理では個別リスクのパラメータが集団内でガンマ分布に従うと仮定することで、全体の損害額分布がパレート分布になることを説明します。

べき乗則が見える4つの応用例

パレート分布の理論的な性質を一通り見てきたところで、最後に「べき乗則が実際にどこで顔を出すか」を 4 つの代表例で総覧しておきましょう。これらはいずれも独立に発見された経験則ですが、すべて同じ「両対数で直線」という数学的構造を共有しています。

ジップの法則と都市人口

ジップの法則(Zipf’s law)は、ある集合に現れる要素を頻度の大きい順に並べたとき、$k$ 番目の頻度が $1/k^s$ に比例するというものです。これは順位 $k$ と頻度 $f_k$ の関係 $f_k \propto k^{-s}$ で表せ、$\log k$ と $\log f_k$ が直線関係に乗ります。$s = 1$ の場合、これはパレート分布のテール指数 $\alpha = 1$ に対応します。

都市人口分布は、ジップの法則の代表例として古くから知られています。アメリカの都市人口は、上位の都市ほど人口が多く、人口は順位の逆数におよそ比例します。例えば、第2位の都市の人口は第1位の約半分、第3位は約 1/3、というおおまかな関係です。

自然言語の単語頻度

ジップ自身は元々、英語の単語頻度の研究からこの法則を導きました。テキスト中で単語を頻度順に並べると、頻度はおよそ順位の逆数に比例します。これは「the」「of」「and」のような少数の機能語が文書中の大半を占め、その他の数万語が残りを担うという経験則を表しています。

この性質は自然言語処理(NLP)の様々な技術と直結します。ストップワードの除去や TF-IDF、サブワード分割(BPE)などはすべて、単語頻度の不均衡を陽に扱う工夫だと見なせます。

ウェブのスケールフリー性

ウェブのリンク構造は、Barabási-Albert (BA) モデルで説明されるスケールフリーネットワークです。ページの被リンク数(in-degree)の分布はべき乗則に従い、テール指数はおよそ $\alpha = 2 \sim 3$ の範囲です。これは「優先的選択」のメカニズムによって生まれます——人気のあるページがますますリンクを集める正のフィードバックが、スケールフリー性の源です。

この性質はネットワーク全体の頑健性にも影響します。ランダムなノード削除には強い一方、ハブを狙った攻撃には脆弱という性質は、インターネット工学やインフラ設計の重要な前提です。

グーテンベルク・リヒター則と地震

地震学のグーテンベルク・リヒター則は、マグニチュード $M$ 以上の地震の発生頻度 $N(>M)$ が

$$ \log_{10} N(>M) = a – bM $$

に従うというものです。$b \approx 1$ が世界的な経験値で、これは「マグニチュードが 1 上がるごとに発生頻度は約 1/10 になる」ことを意味します。地震エネルギーはマグニチュードの指数関数なので、エネルギー分布はべき乗則となり、テール指数は $\alpha = 2b/3 \approx 0.67$ ほどになります。これは期待値が発散する領域であり、「想定外の巨大地震」の存在が数学的にも保証されているわけです。

パレート分布の応用例 — 都市人口・単語頻度・ウェブ・地震の4パネル

上の4パネルは、これら4つの応用例を同じ「両対数プロット上の直線」という言語でまとめたものです。横軸は順位やマグニチュードなど対象によって異なりますが、いずれもべき乗則の直線が浮かび上がります。「べき乗則」という共通言語があるおかげで、経済学・言語学・ネットワーク科学・地震学という全く異なる分野の現象が、たった2つのパラメータ $\alpha, x_m$ で統一的に語れるのです。

まとめ

本記事では、パレート分布の定義から性質、べき乗則の理論と応用までを解説しました。

  • パレート分布はべき乗則に従う分布 であり、尾部確率 $P(X > x) = (x_m/x)^{\alpha}$ で特徴づけられます。テール指数 $\alpha$ と最小値 $x_m$ の2つのパラメータを持ちます
  • モーメントの条件付き存在性: $n$ 次モーメントは $n < \alpha$ のときのみ有限です。$\alpha \leq 1$ で期待値が、$\alpha \leq 2$ で分散が発散します
  • ジニ係数 $G = 1/(2\alpha-1)$ は不平等の度合いを定量化し、テール指数の減少関数です
  • 両対数プロット上の直線がべき乗則の視覚的特徴であり、ヒルの推定量でテール指数を推定できます
  • 所得分布、地震規模、ウェブリンク数など、優先的選択自己組織化臨界のメカニズムで生まれる現象に広く適用されます

次のステップとして、以下の記事も参考にしてください。

  • 指数分布 — べき乗則と対比される「軽い裾」の分布
  • 対数正規分布 — べき乗則と区別が難しい場合がある重い裾の分布
  • 安定分布 — パレート分布を含む一般的な枠組み
  • 極値分布 — パレート分布との理論的関連