t分布

t統計量

\(\bar{X}\): 標本の平均(いわゆるデータの平均値)

\(\mu\): 母集団の平均値(検定で推定したい値)

\(\sigma^2\): 母集団の分散(この母分散が未知

母分散が既知の場合の統計量

\(Z=\dfrac{\bar{X}-\mu}{\sqrt{\dfrac{\sigma^2}{n}}} \, \, \sim N(0, \, 1) \)

しかし \(\sigma^2\) が不明なので、この統計量は使用することができません

そこで \(\sigma^2\) の代わりに標本不偏分散 \(s^2\) を使います

標本不偏分散: \(s^2=\dfrac{1}{n-1} \Sigma {(x_k-\bar{X})^2}\)\(\qquad(k=1,2, \cdots,n)\)

母分散が未知の場合、統計量はこの標本不偏分散を使用したt統計量となります

t統計量の分布は標準正規分布カイ二乗分布の比になっています

証明

t統計量: \(t=
\dfrac{\bar{X}-\mu}{\sqrt{\dfrac{s^2}{n}}}=
\dfrac
{\bar{X}-\mu}
{\sqrt{\dfrac{\sigma^2}{n}}\sqrt{\dfrac{s^2}{\sigma^2}}
}
=\dfrac{\dfrac{\bar{X}-\mu}{\sqrt{\dfrac{\sigma^2}{n}}}}{\sqrt{\dfrac{\dfrac{(n-1)s^2}{\sigma^2}}{n-1}}} \)

\(\dfrac{\bar{X}-\mu}{\sqrt{\dfrac{s^2}{n}}} \sim N(0, \, 1)\)

\(\dfrac{(n-1)s^2}{\sigma^2} \sim \chi^2 (n-1)\) 自由度(\(n-1\))の\(\chi^2\)分布

証明終わり

よって、統計量tが従う分布を自由度(\(n-1\))のt分布といいます

\(t=\dfrac{\bar{X}-\mu}{\sqrt{\dfrac{s^2}{n}}}\)

studentのt分布という名前でも知られています。この分布を定義したのはWilliam Gossetです。ギネスビール社に勤めていた彼は、会社に内緒でこのt分布に関する論文(1908)を投稿するためにStudentというペンネームを使ったということです。

確率密度関数

上記の証明よりZとWが独立かつ\(Z \sim N(0, \, 1), \quad W \sim \chi^2(k)\) を満たす場合

\(\dfrac{Z}{\sqrt{\dfrac{W}{k}}}\)が従う分布を自由度kのt分布といい、\(t(k)\)と標記します

確率密度関数:\(f(x;\,k)=\dfrac{1}{\sqrt{k}B(\dfrac{k}{2},\,\dfrac{1}{2})}(1+\dfrac{x^2}{k})^{-\dfrac{k+1}{2}}\)

ベータ関数 \(B(\alpha,\,\beta)=\int^{1}_{0}x^{\alpha-1}(1-x)^{\beta-1}dx\)

期待値:\(0 \quad (k>1)\)

分散:\(\dfrac{k}{k-2} \quad (k>2)\)

自由度15のt分布でX=3のときの確率を求めてみましょう

例)\(df=15, \, x=3\)

\(B(\dfrac{15}{2},\,\dfrac{1}{2})=\int^{1}_{0}x^{7.5-1}(1-x)^{0.5-1}dx=0.6580778\)

f <- function(x) (x^(7.5-1))*(1-x)^(0.5-1)
(i <- integrate(f, 0, 1))
(t <- (1/(sqrt(15)*0.6580778 ))*((1+(3^2/15))^(-8)))

Rの関数から求めてみましょう

dt(x=3, df=15)

t分布のグラフ

#グラフ
x <- seq(-5, 5, length=100)
data <- data.frame(
    t1=c(dt(x, 1)),
    t3=c(dt(x, 3)),
    t10=c(dt(x, 10)),
    t50=c(dt(x, 50))
)
 
cols <- c("black", "green", "blue", "red")
ltys <- c(rep(1, 4))
 
plot(
    0, 0, type = "n",
    xlim=c(-5, 5), ylim=c(0, 0.4),
    xlab="", ylab=""
)
 
for (i in 1:ncol(data)) {
    lines(
        x, data[, i], lty=ltys[i], col=cols[i]
    )
}

legend(
        "topright",
        legend=c("k=1", "k=3", "k=10", "k=50"),
        col=cols,
        lty="solid"
)

コメント欄 『間違い』や『分かりにくい部分』などのご意見もお寄せください

タイトルとURLをコピーしました