t 検定は n がどのくらい大きくなれば、正規分布に近づくのか?

前回の julia で t 分布と正規分布の確率密度函数 PDF を描いてみよう を見ていると、n=20 くらいで、かなり t 分布は正規分布に近いような感じがします。

実用上、気になるのは、両側検定の時に検定率 5% となる 97.5 パーセンタイルの t 値が、正規分布の時の 1.9599639845400583 にどのくらい近いか? ということではないでしょうか。

そこで、julia + pyplot で、n=3 から 100 までの自由度を x 軸に、それぞれの 97.5 パーセンタイルを y 軸に描いて、正規分布の時の 1.9599639845400583 を点線で描いてみましょう。

using Distributions
using PyCall
using PyPlot
@pyimport seaborn as sns

x = collect(3:100)

y=Array[]
y= quantile(TDist(3), 0.975)

for i in 4:100
 y = vcat(y, quantile(TDist(i), 0.975))
end

plot(x,y)

n_y = quantile(Normal(),0.975)

hlines(n_y, 0, 100 , linestyles="dashed")
ylim(0, 3.5)

できあがりは、下図です。

n=100 のとき、97.5 パーセンタイルは、1.98397 です。0.02 程がどれほどの差かは、時と場合によるのでしょうか。n=20 くらいでは、かなり遠く感じますね。

quantile(TDist(3), 0.975) で、自由度 3 の時の 97.5 パーセンタイルが求まります。

B! LINE