カイ二乗分布
こちらが非常にわかりやすいです。
確率変数 X_1,X_2,\cdots,X_n
が\\
互いに独立に標準正規分布 N(0,1)に従うとき,\\
X=X_1^2+X_2^2+\cdots +X_n^2
は自由度 n のカイ二乗分布に従う
今回は正規分布に従う変数をn個用意し、二乗和のヒストグラムを作成する。
プログラム
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
import matplotlib.pyplot as plt
n = 5
sample = 1000000
a = np.random.normal(
loc = 0, # 平均
scale = 1, # 標準偏差
size = (sample ,n),# 出力配列のサイズ
)
b = np.power(a,2) #要素二乗
b = np.sum(b,axis =1) #行で和を取る
plt.hist(b,bins=100)
plt.xlim(-3,20)
ちゃんとカイ二乗分布が掛けました。これは自由度5のカイ二乗分布です。
自由度nごとのカイ二乗分布
1
2
3
4
5
10
ちょっとずつ右にずれていっているのがわかります。
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
import matplotlib.pyplot as plt
ans = []
for i in range(1,10,1):
print(i)
n = i
sample = 1000000
a = np.random.normal(
loc = 0, # 平均
scale = 1, # 標準偏差
size = (sample ,n),# 出力配列のサイズ
)
"""
分散 平均0
"""
b = a - 0
b = np.power(b,2) #要素二乗
b = np.sum(b,axis =1) #行で和を取る
ans.append(b)
fig, ax = plt.subplots()
for i in range(1,10,1):
ax.hist(ans[i-1],bins=100,alpha = 0.5,label = str(i))
ax.legend()
ax.set_xlim(-3,20)
plt.show()
追記:自由度n-1はどこから来たか
今、サンプル(標本集団)を標準正規分布 N(0,1)から持ってきました。
つまり、母集団は標準正規分布 N(0,1)と考えてました。
平均が0だと考えているので、サンプルの分散は
(x_1 - 0)^2 + \cdots (x_n - 0)^2 \\
=x_1^2 +\cdots +x_n^2
でした。
ここで、サンプル(標本集団)には母集団の平均がわからなかったとしましょう。
そこで、分散を計算するのに、サンプルの平均を使うことにしました。(ここがn-1の由来)
実際に、先ほどのプログラムを書き換えてみます。
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
import matplotlib.pyplot as plt
n = 3
sample = 1000000
a = np.random.normal(
loc = 0, # 平均
scale = 1, # 標準偏差
size = (sample ,n),# 出力配列のサイズ
)
"""
分散 平均0
"""
b = a - 0
b = np.power(b,2) #要素二乗
b = np.sum(b,axis =1) #行で和を取る
"""
サンプル分散 平均:サンプル平均
"""
average = np.mean(a,axis = 1,keepdims=True) #サンプル平均を計算
b2 = a - average #サンプル平均を引く
b2 = np.power(b2,2) #要素二乗
b2 = np.sum(b2,axis =1) #行で和を取る
fig, ax = plt.subplots()
ax.hist(b,bins=100,alpha = 0.5,label = "population average")
ax.hist(b2,bins=100,alpha = 0.5,label = "sample average")
ax.legend()
ax.set_xlim(-3,20)
plt.show()
こんな感じになり、ちゃんと分布が変わっていることがわかります。
n=2(標本集合各要素数2)
3
4
5
6
数値実験でも、平均をサンプル平均で代用すると、二乗和の分布は(n-1)自由度のカイ二乗分布になることが確かめられました!