- 目次
- 理解
- コード
- まとめ
【理解】t分布とは
t分布の前提について
ウィリアム・ゴセット(student)の研究
ウィリアム・ゴセットのビールの研究により発掘されたt分布について、正規分布との違いを解説します。
ギネスビールとt分布
ウィリアム・ゴセットとビール酵母
アイルランド発祥の有名なギネスビールのダブリン醸造所に、ウィリアム・ゴセットという人物が1899年に就職しました。
当時のビールの醸造の過程で、酵母の数を調べるのに、正規分布で推定していました。
酵母の数を正確に計測しなければ、ビールの味が不安定だったそうです。
醗酵タンクが少なくサンプル数が少なかったという点がポイントになります。
正規分布による推定では不充分でした。
正規分布による推定
酵母の数や平均
標本平均
ここで推定に使うビール(発酵タンク)のサンプル数は
t分布をなぜ使うのか?
先ほどの数式が当時も信じられていましたが、分散
サンプル数が少ないとき、母分散が分かるときと、分からないときで、話が変わってしまうのです!
母分散が分かるとき(正規分布)
母分散
標準化して、次が成り立ちます:
母分散が分からないとき(t分布)
母分散
しかし、実は、残念ながら、これを使った
ゴセットはそれまでのデータから、これが他の確率分布に従うことを発見しました。
スチューデントのt分布といいます。
※
ウィリアム・ゴセットの発見
「スチューデント」という名称が突如出てきました。
これはゴセットのペンネームです。ギネスビールでは、企業内で発見したことを実名で外部に発表することが禁止されていたので、ゴセットは「スチューデント」というペンネームを使って論文としてt分布を世界に公開しました。
なお、tには特に理由はないみたいで、フィッシャーとゴセットがアルファベット
特に、サンプル数
なお、サンプル数
t検定について
標本数が小さい。母分散が分からない。
母集団の正規性の仮定は必要(ヒストグラムを書いてみる)
お菓子の糖質の表記が0.1gであった。無作為に20個のお菓子で調査した結果,実際の糖質の平均は0.2gであった。統計的な差はあるのだろうか?
このときの p値(両側検定)は,??%である。
なお,Excel では,2*(1-NORM.S.DIST(I3,TRUE)) と計算した。
A群のサンプル数が
t分布に従う確率変数の差について,標準誤差を次のように定めれば,自由度
標準誤差 SE
サンプル数が
差の標本平均値が
【コード】Pythonでt分布の計算
t分布の表示
t分布のPythonコードを紹介します。
そして、t分布と正規分布を同時に描画して、差異を観察するコードを紹介します。
t分布のコード【Python】
t分布のPythonコード
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm #normは正規分布
from scipy.stats import t #t分布
n = 10 # サンプルの個数
deg = n-1 # 自由度
#t分布を表示(自由度n-1)
X = np.arange(-3, 3, 0.1)
Y = t.pdf(X, deg)
plt.plot(X, Y, color="red", label = "t of n-1")
#グラフの表示
plt.legend() #凡例表示
plt.show()t分布の表示結果

t分布と正規分布の比較【Python】
分布を比較するコード
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm #normは正規分布
from scipy.stats import t #t分布
n = 2 # サンプルの個数
mu = 50 # 母平均
sigma = 10 # 母標準偏差
deg = n-1 # 自由度
#正規分布を表示
X = np.arange(-3, 3, 0.1)
Y = norm.pdf(X, 0, 1)
plt.plot(X, Y, color="orange", label = "N(0,1)")
#t分布を表示(自由度n-1)
W = np.arange(-3, 3, 0.1)
Z = t.pdf(W, deg)
plt.plot(W, Z, color="red", label = "t of n-1")
#t分布を表示(自由度n)
WW = np.arange(-3, 3, 0.1)
ZZ = t.pdf(WW, deg+1)
plt.plot(WW, ZZ, color="black", label = "t of n")
#グラフの表示
plt.legend() #凡例表示
plt.show()分布の表示結果
自由度

自由度を変えて、いくつも観察してみましょう。
t分布と正規分布の比較
t分布の観察
確率変数 の観察
#t分布の観察
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm #normは正規分布
from scipy.stats import t #t分布
n = 5 # 群の個数
mu = 50 # 母平均
sigma = 10 # 母標準偏差
deg = n-1 # 自由度
trial = 10000 # 試行回数
data = []
for i in range(trial):
# 平均 mu, 標準偏差 sigma の正規乱数を n個取得
sample = np.random.normal(mu, sigma, n)
# 標本平均を計算する
x_bar = np.average(sample)
#標本分散を計算する
s2 = sum((x - x_bar)**2 for x in sample)/(n-1)
#確率変数Tを計算する
T = (x_bar - mu)/np.sqrt(s2)*np.sqrt(n)
data.append(T)
# ヒストグラムを出力
plt.hist(data, bins=200, density=True, label = "T from sample") #densityは確率密度にする命令
#正規分布を表示
X = np.arange(-3, 3, 0.1)
Y = norm.pdf(X, 0, 1)
plt.plot(X, Y, color="orange", label = "N(0,1)")
#t分布を表示(自由度n-1)
W = np.arange(-3, 3, 0.1)
Z = t.pdf(W, deg)
plt.plot(W, Z, color="red", label = "t of n-1")
#t分布を表示(自由度n)
WW = np.arange(-3, 3, 0.1)
ZZ = t.pdf(WW, deg+1)
plt.plot(WW, ZZ, color="black", label = "t of n")
#グラフの表示
plt.legend() #凡例表示
plt.show()試行結果


自由度
ただし,
標本分散を利用した確率変数
【まとめ】ポイントノート
「t分布」とは
サンプル数が少ないとき正規分布の代わりに利用する確率分布のこと。
準備
正規分布
A. 標本平均を利用した確率変数
確率変数
B. 確率密度関数
C. t検定の種類
- 一標本t検定
- 対応のある独立ニ標本t検定
- 独立ニ標本t検定(スチューデントのt検定)
- ウェルチのt検定
ポイント解説
標本平均
不偏分散
イメージ
標本数が大きいとき, t分布と正規分布は近似できます。


C
母平均を調査するときで, 母分散が不明なときにt分布が使えます。
(2) 標本が対で, それぞれの母集団が正規分布に従う場合
(3) 標本が独立で、比較する群の分散が等しいと仮定できる場合
(4) 標本が独立で、等分散性が仮定できない場合


