✏️

中心極限定理における分布の精緻化: Edgeworth展開

に公開

これは何か

  • Edgeworth展開について調べたもの
  • 数学的な厳密さは気にせずに記述する

表記

  • 正規分布: Normal(\mu, \sigma^{2})
    • 標準正規分布の確率密度関数: \phi(z)
    • 標準正規分布の分布関数: \Phi(z)
  • 確率変数Xの特性関数: \varphi_{X}(t) = E \left[ \exp\left( itX \right) \right]
    • \varphi_{X}(t)k階微分: \varphi_{X}^{(k)} (t)
  • 確率変数Xのキュムラント母関数: \psi_{X}(t) = \log \varphi_{X}(t) = \sum_{k=1}^{\infty} \frac{\kappa_{k}}{k!} (it)^{k}
    • k次のキュムラント: \kappa_{k}
  • k次のHermite多項式: H_{k}(z)
    • 本記事ではWikipediaで言うところのprobabilist's Hermite polynomialsとする

問題設定

  • X_{k} (k=1,\ldots,n)を, 確率密度関数f_{X}(x)に独立に従う確率変数だとする
    • 平均: \mu = E\left[ X \right]
    • 分散: \sigma^{2} = E\left[ \left( X - \mu \right)^{2} \right]
    • 歪度: \gamma = \frac{E\left[ \left( X - \mu \right)^{3} \right]}{\sigma^{3}}
    • 尖度: \kappa = \frac{E\left[ \left( X - \mu \right)^{4} \right]}{\sigma^{4}}
    • 標本平均: \bar{X} = \frac{1}{n} \sum_{k=1}^{n} X_{k}
  • Z = \frac{\sqrt{n} \left( \bar{X} - \mu \right)}{\sigma} とおくと, 中心極限定理より n \rightarrow \inftyZは標準正規分布に分布収束することがわかる
  • その際, 有限のnZはどんな分布で近似できるか? という問いを考えたい
    • 標準正規分布である程度近似はできるが, そこから精度をどう高めていくか?を考えるイメージ
    • この問いに関するアプローチの1つがEdgeworth展開である

Edgeworth展開

Edgeworth展開の基本的な考え方

詳細は後述するが, Hermite多項式H_{k}(z), 標準正規分布の確率密度関数\phi(z)に対し, 以下の事実が成り立つ:

  • "確率密度関数"[1]H_{k}(z) \phi(z)を考えると, その特性関数は\exp \left( - \frac{1}{2} t^{2} \right) \left( it \right)^{k}となる.

この事実を用いると, Zの特性関数を

\varphi_{Z}(t) = \exp \left( - \frac{t^{2}}{2} \right) \left\{ 1 + \sum_{m=1}^{\infty} n^{- \frac{m}{2}} \times (it) \verb|の多項式| \right\}

のように展開できれば, Zの確率密度関数を

f_{Z}(z) = \phi \left( z \right) \left\{ 1 + \sum_{m=1}^{\infty} n^{- \frac{m}{2}} \times \verb|Hermite多項式の線形和| \right\}

のように表現することができることになる.

Hermite多項式

ここではHermite多項式の定義, 性質についてまとめる.

Hermite多項式の定義

k次のHermite多項式H_{k}(z)を, 標準正規分布の確率密度関数\phi(z)を用いて, 以下のように定義する:

\left( - \frac{\mathrm{d}}{\mathrm{d} z} \right)^{k} \phi(z) = H_{k}(z) \phi(z).

本記事では6次のHermite多項式まで参照するため, 計算結果を以下に記しておく:

  • H_{1}(z) = z
  • H_{2}(z) = z^{2} - 1
  • H_{3}(z) = z^{3} - 3 z
  • H_{4}(z) = z^{4} - 6 z^{2} + 3
  • H_{5}(z) = z^{5} - 10 z^{3} + 15 z
  • H_{6}(z) = z^{6} - 15 z^{4} + 45 z^{2} - 15

Hermite多項式の性質

前述した "確率密度関数"H_{k}(z) \phi(z)を考えると, その特性関数は\exp \left( - \frac{1}{2} t^{2} \right) \left( it \right)^{k}となる という点について, 数式でこの事実を確認しておく.

まず, 確率密度関数と特性関数には対応関係があることに着目する. 確率密度関数から特性関数を計算した後, 反転公式(参考リンク)を使うことで, 元の確率密度関数に戻すことができる:

\begin{aligned} \int_{-\infty}^{\infty} \phi(z) \exp \left( itz \right) \mathrm{d}z = \exp \left( - \frac{1}{2} t^{2} \right), \\ \frac{1}{2 \pi} \int_{-\infty}^{\infty} \exp \left( - \frac{1}{2} t^{2} \right) \exp \left( -itz \right) \mathrm{d}t = \phi(z). \end{aligned}

この反転公式(上記2番目の式)に着目する. 両辺をk回微分すると,

\phi^{(k)}(z) = \frac{1}{2 \pi} \int_{-\infty}^{\infty} \exp \left( - \frac{1}{2} t^{2} \right) \left( -it \right)^{k} \exp \left( -itz \right) \mathrm{d}t

となり, 両辺に\left( -1 \right)^{k}をかけてやることで

H_{k}(z) \phi(z) = \left( -1 \right)^{k} \phi^{(k)}(z) = \frac{1}{2 \pi} \int_{-\infty}^{\infty} \exp \left( - \frac{1}{2} t^{2} \right) \left( it \right)^{k} \exp \left( -itz \right) \mathrm{d}t

得られる.

つまり, 特性関数\exp \left( - \frac{1}{2} t^{2} \right) \left( it \right)^{k}を反転公式で戻すとH_{k}(z) \phi(z)が得られることになり, すなわち H_{k}(z) \phi(z) の特性関数が \exp \left( - \frac{1}{2} t^{2} \right) \left( it \right)^{k} となることがわかった.

Edgeworth展開の導出

ここで本題のEdgeworth展開の導出に入る.

基本的な考え方を再掲しておくと, Zの特性関数を

\varphi_{Z}(t) = \exp \left( - \frac{t^{2}}{2} \right) \left\{ 1 + \sum_{m=1}^{\infty} n^{- \frac{m}{2}} \times (it) \verb|の多項式| \right\}

のように展開することで, Zの確率密度関数を

f_{Z}(z) = \phi \left( z \right) \left\{ 1 + \sum_{m=1}^{\infty} n^{- \frac{m}{2}} \times \verb|Hermite多項式の線形和| \right\}

のように表現することが目標となる.

まず, Zの特性関数\varphi_{Z}(t)

\begin{aligned} \varphi_{Z}(t) &= E \left[ \exp \left( itZ \right) \right] = E \left[ \exp \left( it \frac{\sqrt{n} \left( \bar{X} - \mu \right)}{\sigma} \right) \right] \\ &= E \left[ \exp \left( i \frac{t}{\sqrt{n} \sigma} \sum_{k=1}^{n} X_{k} \right) \right] \exp \left( - \frac{i \sqrt{n} \mu t}{\sigma} \right) \\ &= \left\{ \varphi_{X} \left( \frac{t}{\sqrt{n} \sigma} \right) \right\}^{n} \exp \left( - \frac{i \sqrt{n} \mu t}{\sigma} \right) \end{aligned}

となる. ここで, Xのキュムラント母関数\psi_{X}(t) = \log \varphi_{X}(t) = \sum_{k=1}^{\infty} \frac{\kappa_{k}}{k!} (it)^{k}を用いることで, Zのキュムラント母関数\psi_{Z}(t) = \log \varphi_{Z}(t)

\begin{aligned} \psi_{Z}(t) =& n \log \varphi_{X} \left( \frac{t}{\sqrt{n} \sigma} \right) - \frac{i \sqrt{n} \mu t}{\sigma} = n \psi_{X} \left( \frac{t}{\sqrt{n} \sigma} \right) - \frac{i \sqrt{n} \mu t}{\sigma} \\ =& n \sum_{k=1}^{\infty} \frac{\kappa_{k}}{k!} \left( \frac{it}{\sqrt{n} \sigma} \right)^{k} - \frac{i \sqrt{n} \mu t}{\sigma} \\ =& \frac{i \sqrt{n} \kappa_{1} t}{\sigma} - \frac{\kappa_{2} t^{2}}{2 \sigma^{2}} + n \sum_{k=3}^{\infty} \frac{\kappa_{k}}{k!} \left( \frac{it}{\sqrt{n} \sigma} \right)^{k} - \frac{i \sqrt{n} \mu t}{\sigma} \\ =& - \frac{t^{2}}{2} + \sum_{k=3}^{\infty} n^{1 - \frac{k}{2}} \frac{\kappa_{k}}{k!} \left( \frac{it}{ \sigma} \right)^{k} \end{aligned}

のように計算される. 1次, 2次のキュムラントは\kappa_{1} = \mu, \kappa_{2} = \sigma^{2}であることに注意.

ここで改めてZの特性関数の計算に戻ると,

\begin{aligned} \varphi_{Z}(t) =& \exp \left( \psi_{Z}(t) \right) = \exp \left( - \frac{t^{2}}{2} \right) \exp \left( \sum_{k=3}^{\infty} n^{1 - \frac{k}{2}} \frac{\kappa_{k}}{k!} \left( \frac{it}{ \sigma} \right)^{k} \right) \\ =& \exp \left( - \frac{t^{2}}{2} \right) \left\{ 1 + \left( \sum_{k=3}^{\infty} n^{1 - \frac{k}{2}} \frac{\kappa_{k}}{k!} \left( \frac{it}{ \sigma} \right)^{k} \right) + \frac{1}{2!} \left( \sum_{k=3}^{\infty} n^{1 - \frac{k}{2}} \frac{\kappa_{k}}{k!} \left( \frac{it}{ \sigma} \right)^{k} \right)^{2} + \cdots \right\} \\ \end{aligned}

となり, あとはnについて整理すれば

\varphi_{Z}(t) = \exp \left( - \frac{t^{2}}{2} \right) \left\{ 1 + \frac{1}{\sqrt{n}} \frac{\kappa_{3}}{6 \sigma^{3}} \left( it \right)^{3} + \frac{1}{n} \left( \frac{\kappa_{4}}{24 \sigma^{4}} \left( it \right)^{4} + \frac{\kappa_{3}^{2}}{72 \sigma^{6}} \left( it \right)^{6} \right) + \cdots \right\}

のようにZの特性関数が表現できることがわかる.

この特性関数の表現を反転公式で確率密度関数に戻してやることで

\begin{aligned} f_{Z}(z) =& \phi(z) + \frac{1}{\sqrt{n}} \frac{\kappa_{3}}{6 \sigma^{3}} H_{3}(z) \phi(z) + \frac{1}{n} \left( \frac{\kappa_{4}}{24 \sigma^{4}} H_{4}(z) \phi(z) + \frac{\kappa_{3}^{2}}{72 \sigma^{6}} H_{6}(z) \phi(z) \right) + \cdots \\ =& \phi(z) \left\{ 1 + \frac{1}{\sqrt{n}} \frac{\kappa_{3}}{6 \sigma^{3}} H_{3}(z) + \frac{1}{n} \left( \frac{\kappa_{4}}{24 \sigma^{4}} H_{4}(z) + \frac{\kappa_{3}^{2}}{72 \sigma^{6}} H_{6}(z) \right) + \cdots \right\} \end{aligned}

という式が得られる. これがZの確率密度関数のEdgeworth展開である.

ちなみに, 分布関数のEdgeworth展開も導くことができる. Hermite多項式の性質を利用すると

\begin{aligned} f_{Z}(z) =& \phi(z) + \frac{1}{\sqrt{n}} \frac{\kappa_{3}}{6 \sigma^{3}} H_{3}(z) \phi(z) + \frac{1}{n} \left( \frac{\kappa_{4}}{24 \sigma^{4}} H_{4}(z) \phi(z) + \frac{\kappa_{3}^{2}}{72 \sigma^{6}} H_{6}(z) \phi(z) \right) + \cdots \\ =& \phi(z) - \frac{1}{\sqrt{n}} \frac{\kappa_{3}}{6 \sigma^{3}} \phi^{(3)}(z) + \frac{1}{n} \left( \frac{\kappa_{4}}{24 \sigma^{4}} \phi^{(4)}(z) + \frac{\kappa_{3}^{2}}{72 \sigma^{6}} \phi^{(6)}(z) \right) + \cdots \end{aligned}

となり, 両辺を-\inftyからzまで積分してやれば

\begin{aligned} F_{Z}(z) =& \Phi(z) - \frac{1}{\sqrt{n}} \frac{\kappa_{3}}{6 \sigma^{3}} \phi^{(2)}(z) + \frac{1}{n} \left( \frac{\kappa_{4}}{24 \sigma^{4}} \phi^{(3)}(z) + \frac{\kappa_{3}^{2}}{72 \sigma^{6}} \phi^{(5)}(z) \right) + \cdots \\ =& \Phi(z) - \frac{1}{\sqrt{n}} \frac{\kappa_{3}}{6 \sigma^{3}} H_{2}(z) \phi(z) - \frac{1}{n} \left( \frac{\kappa_{4}}{24 \sigma^{4}} H_{3}(z) \phi(z) + \frac{\kappa_{3}^{2}}{72 \sigma^{6}} H_{5}(z) \phi(z) \right) + \cdots \\ =& \Phi(z) - \phi(z) \left\{ \frac{1}{\sqrt{n}} \frac{\kappa_{3}}{6 \sigma^{3}} H_{2}(z) + \frac{1}{n} \left( \frac{\kappa_{4}}{24 \sigma^{4}} H_{3}(z) + \frac{\kappa_{3}^{2}}{72 \sigma^{6}} H_{5}(z) \right) + \cdots \right\} \end{aligned}

となる. これがZの分布関数のEdgeworth展開である.

Edgeworth展開まとめ

Z = \frac{\sqrt{n} \left( \bar{X} - \mu \right)}{\sigma}について, 確率密度関数及び分布関数は以下のように展開される.

Zの確率密度関数のEdgeworth展開:

f_{Z}(z) = \phi(z) \left\{ 1 + \frac{1}{\sqrt{n}} \frac{\kappa_{3}}{6 \sigma^{3}} H_{3}(z) + \frac{1}{n} \left( \frac{\kappa_{4}}{24 \sigma^{4}} H_{4}(z) + \frac{\kappa_{3}^{2}}{72 \sigma^{6}} H_{6}(z) \right) + \cdots \right\}

Zの分布関数のEdgeworth展開:

F_{Z}(z) = \Phi(z) - \phi(z) \left\{ \frac{1}{\sqrt{n}} \frac{\kappa_{3}}{6 \sigma^{3}} H_{2}(z) + \frac{1}{n} \left( \frac{\kappa_{4}}{24 \sigma^{4}} H_{3}(z) + \frac{\kappa_{3}^{2}}{72 \sigma^{6}} H_{5}(z) \right) + \cdots \right\}

式の形から, n \rightarrow \inftyZが標準正規分布に分布収束することが読み取れる.

ここで展開式に3次, 4次キュムラントが登場しているが, 歪度, 尖度を用いた表現もできる. こちらの表現についても補足情報としてつけ足しておく.

歪度, 尖度を用いた表現

3次, 4次のキュムラントは, 分散\sigma^{2}, 歪度\gamma, 尖度\kappaを用いて以下のように表現できる:

  • \kappa_{3} = E \left[ \left( X - \mu \right)^{3} \right] = \gamma \sigma^{3}
  • \kappa_{4} = E \left[ \left( X - \mu \right)^{4} \right] - 3 E \left[ \left( X - \mu \right)^{2} \right]^{2} = \left( \kappa - 3 \right) \sigma^{4}

これを用いて上記の展開式を表現すると, 以下のようになる.

Zの確率密度関数のEdgeworth展開:

f_{Z}(z) = \phi(z) \left\{ 1 + \frac{1}{\sqrt{n}} \frac{\gamma}{6} H_{3}(z) + \frac{1}{n} \left( \frac{\kappa - 3}{24} H_{4}(z) + \frac{\gamma^{2}}{72} H_{6}(z) \right) + \cdots \right\}

Zの分布関数のEdgeworth展開:

F_{Z}(z) = \Phi(z) - \phi(z) \left\{ \frac{1}{\sqrt{n}} \frac{\gamma}{6} H_{2}(z) + \frac{1}{n} \left( \frac{\kappa - 3}{24} H_{3}(z) + \frac{\gamma^{2}}{72} H_{5}(z) \right) + \cdots \right\}

(歪度, 尖度を用いた表現 終わり)

具体的な分布で確認

ベルヌーイ分布

  • ベルヌーイ分布Bernoulli(p)の基本情報
    • 確率関数: P(X = x) = p^{x} (1 - p)^{1 - x}
    • 特性関数: \phi_{X}(t) = 1 - p + p \exp (it)
    • キュムラント
      • \kappa_{1} = \mu = p
      • \kappa_{2} = \sigma^{2} = p (1 - p)
      • \kappa_{3} = p (1 - p) (1 - 2p)
      • \kappa_{4} = p (1 - p) \left\{ 1 - 6 p (1 - p) \right\}
  • Z = \frac{\sqrt{n} \left( \bar{X} - \mu \right)}{\sigma}の分布関数
    • 基本的には, 二項分布の分布関数と同じ形
    • 分布関数を書き下すと以下のようになる(参考):
F_{Z} \left( z \right) = \sum_{k=0}^{\lfloor \sqrt{n p (1 - p)} z + np \rfloor} \binom{n}{k} p^{k} \left( 1 - p \right)^{n - k}

ただし, \lfloor s \rfloorsを越えない最大の整数とする. また, \lfloor \sqrt{n p (1 - p)} z + np \rfloorの値が0未満の場合は分布関数の値は0, nより大きい場合は分布関数の値は1となる.

  • Zの分布関数のEdgeworth展開
    • 先ほど導出した展開式にキュムラントの値を当てはめていくと, 以下の式が得られる:
F_{Z}(z) = \Phi(z) - \phi(z) \left\{ \frac{1}{\sqrt{n}} \frac{1 - 2p}{6 \sqrt{p (1 - p)}} H_{2}(z) + \frac{1}{n} \left( \frac{1 - 6 p (1 - p)}{24 p (1 - p)} H_{3}(z) + \frac{(1 - 2p)^{2}}{72 p (1 - p)} H_{5}(z) \right) + \cdots \right\}
  • Zの分布関数のEdgeworth展開の可視化
    • 以下の4つのグラフを見比べてみる
      • Zの分布関数
      • 標準正規分布
      • n^{-\frac{1}{2}}の項までのEdgeworth展開
      • n^{-1}の項までのEdgeworth展開
可視化コード
edgeworth_bernoulli.py
import matplotlib.pyplot as plt
import numpy as np
from scipy.stats import norm, binom
from scipy.special import hermitenorm


def edgeworth_bernoulli_cdf(zs, n, p, approx_degree=2):
    h2 = hermitenorm(2, monic=True)
    h3 = hermitenorm(3, monic=True)
    h5 = hermitenorm(5, monic=True)
    coef = np.zeros(len(zs))
    if approx_degree >= 1:
        coef += (h2(zs) * (1 - 2 * p) / (6 * np.sqrt(p * (1 - p)))) / np.sqrt(n)
    if approx_degree >= 2:
        coef += (h3(zs) * (1 - 6 * p * (1 - p)) / (24 * p * (1 - p)) + h5(zs) * ((1 - 2 * p)**2) / (72 * p * (1 - p))) / n
    return norm.cdf(zs, loc=0, scale=1) - coef * norm.pdf(zs, loc=0, scale=1)


def plot_gamma():
    p = 0.2
    ns = [5, 10]
    zs = np.linspace(-4, 4, 1001)
    _, axes = plt.subplots(1, len(ns), figsize=(12, 6))
    for fig_index, n in enumerate(ns):
        bernoulli_cdfs = binom.cdf(np.floor(zs * np.sqrt(n * p * (1 - p)) + n * p), n, p)
        axes[fig_index].plot(zs, bernoulli_cdfs, label="Z", color="black")
        axes[fig_index].plot(zs, edgeworth_bernoulli_cdf(zs, n, p, approx_degree=0), label="Normal(0, 1)", color="blue")
        axes[fig_index].plot(zs, edgeworth_bernoulli_cdf(zs, n, p, approx_degree=1), label=f"Edgeworth($n^{{- 1 / 2}} $)", color="orange")
        axes[fig_index].plot(zs, edgeworth_bernoulli_cdf(zs, n, p, approx_degree=2), label=f"Edgeworth($n^{{- 1}} $)", color="green")
        axes[fig_index].set_title(f"Cumulative Distributions (n={n})")
        axes[fig_index].legend(loc="upper left")
    plt.tight_layout()
    plt.show()


def main():
    plot_gamma()


if __name__ == "__main__":
    main()

グラフを見ると, 以下のことが読み取れる:

  • Edgeworth展開の方が, 標準正規分布と比べてZのラインに近いことがわかる
  • 分布関数のEdgeworth展開を有限の項で止めた場合, 必ずしもその値は0以上になるとは限らない

ガンマ分布

  • ガンマ分布Gamma\left( \alpha, \beta \right)の基本情報
    • 確率密度関数: f(x) = \frac{\beta^{\alpha}}{\Gamma \left( \alpha \right)} x^{\alpha - 1} \exp \left( - \beta x \right)
    • 特性関数: \phi_{X}(t) = \left( \frac{\beta}{\beta - it} \right)^{\alpha}
    • キュムラント
      • \kappa_{1} = \mu = \frac{\alpha}{\beta}
      • \kappa_{2} = \sigma^{2} = \frac{\alpha}{\beta^{2}}
      • \kappa_{3} = \frac{2 \alpha}{\beta^{3}}
      • \kappa_{4} = \frac{6 \alpha}{\beta^{4}}
  • Z = \frac{\sqrt{n} \left( \bar{X} - \mu \right)}{\sigma}の確率密度関数
    • ガンマ分布Gamma\left( n \alpha, \sqrt{n \alpha} \right)を負の方向に\sqrt{n \alpha}だけずらしたもの
    • 確率密度関数を書き下すと, 以下の通り(参考):
f_{Z}(z) = \frac{\left( n \alpha \right)^{\frac{\alpha}{2}}}{\Gamma \left( n \alpha \right)} \left( z + \sqrt{n \alpha} \right)^{n \alpha - 1} \exp \left\{ - \sqrt{ n \alpha } \left( z + \sqrt{n \alpha} \right) \right\}
  • Zの確率密度関数のEdgeworth展開
    • 先ほど導出した展開式にキュムラントの値を当てはめていくと, 以下の式が得られる:
f_{Z}(z) = \phi(z) \left\{ 1 + \frac{1}{\sqrt{n}} \frac{1}{3 \sqrt{\alpha}} H_{3}(z) + \frac{1}{n} \left( \frac{1}{4 \alpha} H_{4}(z) + \frac{1}{18 \alpha} H_{6}(z) \right) + \cdots \right\}
  • Zの確率密度関数のEdgeworth展開の可視化
    • 以下の4つのグラフを見比べてみる
      • Zの確率密度関数
      • 標準正規分布
      • n^{-\frac{1}{2}}の項までのEdgeworth展開
      • n^{-1}の項までのEdgeworth展開
可視化コード
edgeworth_gamma.py
import matplotlib.pyplot as plt
import numpy as np
from scipy.stats import norm, gamma
from scipy.special import hermitenorm


def edgeworth_gamma_pdf(zs, n, alpha, approx_degree=2):
    h3 = hermitenorm(3, monic=True)
    h4 = hermitenorm(4, monic=True)
    h6 = hermitenorm(6, monic=True)
    coef = np.ones(len(zs))
    if approx_degree >= 1:
        coef += (h3(zs) / (3 * np.sqrt(alpha))) / np.sqrt(n)
    if approx_degree >= 2:
        coef += (h4(zs) / (4 * alpha) + h6(zs) / (18 * alpha)) / n
    return coef * norm.pdf(zs, loc=0, scale=1)


def plot_gamma():
    alpha = 1
    ns = [5, 10]
    zs = np.linspace(-5, 5, 1001)
    _, axes = plt.subplots(1, len(ns), figsize=(12, 6))
    for fig_index, n in enumerate(ns):
        gamma_ps = gamma.pdf(zs, a=n * alpha, loc=-np.sqrt(n * alpha), scale=1/np.sqrt(n * alpha))
        axes[fig_index].plot(zs, gamma_ps, label="Z", color="black")
        axes[fig_index].plot(zs, edgeworth_gamma_pdf(zs, n, alpha, approx_degree=0), label="Normal(0, 1)", color="blue")
        axes[fig_index].plot(zs, edgeworth_gamma_pdf(zs, n, alpha, approx_degree=1), label=f"Edgeworth($n^{{- 1 / 2}} $)", color="orange")
        axes[fig_index].plot(zs, edgeworth_gamma_pdf(zs, n, alpha, approx_degree=2), label=f"Edgeworth($n^{{- 1}} $)", color="green")
        axes[fig_index].set_title(f"Probability Densities (n={n})")
        axes[fig_index].legend(loc="upper right")
    plt.tight_layout()
    plt.show()


def main():
    plot_gamma()


if __name__ == "__main__":
    main()

グラフを見ると, 以下のことが読み取れる:

  • Edgeworth展開の方が, 標準正規分布と比べてZのラインに近いことがわかる
  • 確率密度関数のEdgeworth展開を有限の項で止めた場合, 必ずしもその値は0以上になるとは限らない

所感

  • Edgeworth展開はこの記事を書く際に読んでいた文献の中で出会ったものだが, 調べてみるとなかなか汎用性も高く面白い手法だと感じた
    • 統計量の漸近的な挙動を解析するのに非常に便利
  • 数学的な正しさの議論をするには今の自分の数学力では太刀打ちできないため, 気長に勉強を続けていきたい

参考資料

脚注
  1. 引用符を付けたのは, H_{k}(z) \phi(z)は実際には確率密度関数にはならないため(値は負になりえるし, 積分しても1にならない). ↩︎

Discussion