分布収束¶
確率変数の列{Ui}i=1,2,…が確率変数Uに分布収束(convergence in distribution)するとは、
n→∞limP(Ui≤x)=P(U≤x)=FU(x) が、FU(x)の連続点で成り立つことをいい、Ui→dUと表す。分布収束の代表例は中心極限定理である。
中心極限定理¶
中心極限定理(central limit theorem: CLT)とは、一言でいうと、
標本数が十分に大きければ、元の分布がどんな分布であっても、その標本平均の分布はN(μ,nσ)の正規分布になる
という定理。
シミュレーションで確かめる中心極限定理¶
例えば、0から1の範囲の値をとる一様分布Uniform(0,1)の母集団があったとする。母平均は1/2=0.5である。
標本を100個得られたとして、ヒストグラムと標本平均を描くと次のようになる。
import numpy as np
import matplotlib.pyplot as plt
import japanize_matplotlib
np.random.seed(0)
n = 100
x = np.random.uniform(low=0, high=1, size=n)
fig, ax = plt.subplots(dpi=90, figsize=[4, 2])
ax.hist(x)
ax.set(title="Histogram of Data")
ax.axvline(x.mean(), color="darkorange")
ax.text(x.mean() + 0.02, 1, f"標本平均: {x.mean():.3f}", color="darkorange")
fig.show()
「調査を行って標本をとって平均を計算する」という作業をたくさん繰り返したとすると、この標本平均の分布は正規分布に近づいていき、その平均値は母平均に近づいていく。
n_trial = 500
mean_values = []
for trial_i in range(n_trial):
x = np.random.uniform(size=n)
mean_values.append(x.mean())
fig, ax = plt.subplots(dpi=90, figsize=[4, 2])
ax.hist(mean_values)
ax.set(title="平均値の標本分布")
mu = np.array(mean_values).mean()
ax.axvline(mu, color="darkorange")
ax.text(mu + 0.005, 5, f"μ = {mu:.3f}", color="darkorange")
fig.show()
もう少し詳しい話¶
定理 (中心極限定理)
X1,X2,…,i.i.d.∼(μ,σ2)とする。このとき、次の分布収束が成り立つ。
n→∞limP(σn(Xˉ−μ)≤x)=∫−∞x2π1e−y2/2dy=Φ(x) ここでΦ(x)は標準正規分布の累積分布関数
(証明) Zi=(Xi−μ)/σ,i=1,2,…とおくと、E[Zi]=0,Var(Zi)=1,E[Zˉ]=0,Var(Zˉ)=n−1となる。
TODO: 続き書く
標本和の標本分布¶
標本和X1+X2+⋯+Xnや標本平均Xˉの具体的な標本分布は母集団分布に依存する。
ある分布に従う2つ以上の確率変数の和が元の分布と同じ分布に従うことを再生性をもつという。二項分布、ポアソン分布、正規分布は再生性をもつ。
二項母集団¶
母集団が二項分布のとき、中心極限定理で正規分布に近似して解く事が多い。
正規母集団¶
母集団が平均μ、分散σ2の正規分布のとき、標本和は正規分布N(nμ,nσ2)に従い、標本平均はN(μ,σ2/n)に従う。
ポアソン母集団¶
母集団が平均λのポアソン分布Po(λ)、標本和はポアソン分布Po(λ)に従う。ただし、f(x)=e−λλx/x! であり、あまり大きなλを扱うのは現実的ではない(例えばe−100は3.72e-44という極めて小さな値になってしまう)。そのため中心極限定理を使って扱う場合も多い。