📊

【統計検定準1級】t分布

2024/08/04に公開

はじめに

この記事では、統計検定準1級取得に向けて学習したことをまとめていきます。
工学系の数学ではなく数理あるあるの、論述ゴリゴリな解答になっていると思いますのであらかじめご了承ください。
注意:さらに計算過程は数学文化の『省略の美』を無視してエレファントに書いています。

【リンク紹介】
統計検定準1級のまとめ記事一覧
これまで書いたシリーズ記事一覧

学習書籍について

この記事では「統計学実践ワークブック」を中心に、学んだことをまとめていきます。記事を読んで本格的に勉強してみたいなと思った方は、是非ご購入を検討なさってください。


参考書籍について

統計実践ワークブックは、大量の知識項目と問題が収められている反面、計算過程や知識背景が大きく省略されているため、知識体系をきちんと学ぶ参考書として東京大学から出版されている名著「統計学入門」を使っています。
※ワークブックとしては素晴らしい質だと思いますが、どうしてもその内容量とページ数の都合上、問題のない範囲で削除されているということです。人によっては1冊で問題ない方もおられると思いますが、私には無理でした。


t分布

確率変数X, Yは連続型で互いに独立であるとする。
X標準正規分布N(0, 1)に従い、Yが自由度nカイ2乗分布\chi^2 (n)に従うとする。
今、統計量T

T = \cfrac{X}{\sqrt{\cfrac{ \ Y \ }{n}}}

と定め、この確率密度関数f

f(t) = \cfrac{\Gamma (\frac{n + 1}{2})} {\sqrt{n \pi} \ \Gamma (\frac{n}{2})} \left( 1 + \cfrac{t^2}{n} \right)^{- \frac{n + 1}{2}} \hspace{5mm} (t \geqq 0)

であるとき、この確率密度関数f自由度nt分布(t distribution with n degrees of freedom)といい、t(n)と表す。※テキストによっては自由度をnではなくギリシャ文字の\nu(ニュー)を用いて、t分布をt(n)ではなくt_\nuで表すものもある(というかこちらの方がメジャー?)
ただし、\Gammaガンマ分布のガンマ関数を表し、\Gamma (\frac{n + 1}{2}), \Gamma (\frac{n}{2})はそれぞれ

\Gamma \left( \frac{n + 1}{2} \right) = \int_{0}^{\infty} x^{\frac{n + 1}{2} - 1} e^{-x} dx
\Gamma \left( \frac{n}{2} \right) = \int_{0}^{\infty} x^{\frac{n}{2} - 1} e^{-x} dx

である。さらに、t分布をベータ分布のベータ関数\Betaを用いて次のように表すことができる。

f(t) = \cfrac{1}{\sqrt{n} \ \Beta (\frac{n}{2}, \frac{1}{2})} \left( 1 + \cfrac{t^2}{n} \right)^{- \frac{n + 1}{2}} \hspace{5mm} (t \geqq 0)

ただし、

\Beta \left( \frac{n}{2}, \frac{1}{2} \right) = \int_{0}^{1} x^{\frac{n}{2} - 1} (1 - x)^{\frac{1}{2} - 1} dx

である。

t分布に関する性質など

n \rightarrow \inftyのとき、t分布は標準正規分布N(0, 1)と一致する。

・確率変数X_1, X_2, \cdots, X_n母平均\mu不偏標本分散U^2正規分布N(\mu, U^2)に従うとする。このとき、統計量

\cfrac{ \ \ \overline{X} - \mu \ \ }{\cfrac{ \ \ U \ \ }{\sqrt{n}}}

自由度n - 1t分布に従う(※式変形などはこちら)

グラフの描画

コードはこちら

参考資料→Pythonで理解する統計解析の基礎
※参考にはしていますが表記は大分変更しています。

import numpy as np
import matplotlib.pyplot as plt
import japanize_matplotlib                    # グラフ上での日本語表示
from scipy import stats, integrate
from scipy.optimize import minimize_scalar    # 関数の最小値を求める

# 表示桁数を小数点以下第3位に設定
%precision 3

# [Jupyter notebook only]
# グラフ表示を非インタラクティブモード(jupyter notebook内に表示)に設定
# インタラクティブモードだと別ウィンドウで表示される
%matplotlib inline

colors = ['#006C4F', '#ee7800', '#3155A6']

fig = plt.figure(figsize = (10, 6))
ax  = fig.add_subplot(111)

# 0から20までのサンプルを500個生成
x = np.linspace(-5, 5, 500)

for n, ls, color in zip([3, 5, 10], linestyles, colors):

    # 自由度nのt分布をインスタンス化
    rv = stats.t(n)
    
    ax.plot(x, rv.pdf(x),
            label = f'自由度{n}のt分布',
            ls    = ls,
            color = color
           )

# 標準正規分布を比較用に描画
rv = stats.norm()
ax.plot(x, rv.pdf(x),
        label = '標準正規分布N(0, 1)',
        color = 'gray'
       )

ax.legend()
plt.show()

t分布の期待値

E[T]T期待値

E[T] = 0 \hspace{5mm} (n > 1)

t分布の分散

V[T]T分散

V[T] = \cfrac{n}{n - 2} \hspace{5mm} (n > 2)

非心t分布

確率変数Y, Zは連続型で互いに独立であるとする。
Yが自由度mカイ2乗分布\chi^2 (m)に従い、Z正規分布N(\lambda, 1)に従うとする。
今、確率変数T

T = \cfrac{Z}{\sqrt{\cfrac{ \ Y \ }{m}}}

と定め、この確率密度関数を自由度n非心度\lambda非心t分布(noncentral t distribution with n degrees of freedom)といい、t(m, \lambda)と表す。なお、t(m, 0)t(m)と一致する。

参考資料

\bf{\textcolor{red}{記事が役に立った方は「いいね」を押していただけると、すごく喜びます \ 笑}}
ご協力のほどよろしくお願いします。

Discussion