よしだの備忘録

シミュレーションやデータサイエンスに関する備忘録

統計的仮説検定をPythonで実装する Part.1

シミュレーションをやっていたので統計力学はできるのですが、
統計学は実際に使ったことがありませんでした。

なので、統計的仮説検定をPythonで実装していきたいと思います。
検定自体の詳細は良書がいくつもあると思うので、そちらにお任せします。
ここでは、簡単な考え方やポイント、コードを書いていきたいと思います。
(全て独学なので、間違い等あれば教えていただけると助かります)

統計的仮説検定の流れ

  1. 母集団に関する帰無仮説と対立仮説を立てる

 「母平均の差が0」のような帰無仮説を立てる。この際、対立仮説は「母平均の差が0ではない」のような対立仮説を立てる。
*1

  1. 1の仮説を検証できる検定統計量を選ぶ
  2. 有意水準を決める
  3. 収集したデータを用いて検定統計量の値を求める
  4. 3で決めた有意水準を元に、帰無仮説を棄却するかしないか決める

使用時の注意点

 帰無仮説を棄却できなかった時の「有意差がない」場合でも、「等しい」ということではありません。言えることとしては、実験などで得られた結果は「偶然でも十分起こる」程度ですという意味でしかありません。

具体的な検定について

t検定

正規母集団からの無作為抽出で、母集団の分散がわからない場合に平均値の検定を行うことを考えます。
母集団の分散がわかっている時は、 Z = ( \bar{X} - \mu)/(\sigma/\sqrt{n})の検定統計量を使用すればいいんですが、
今回の場合は母集団の分散がわからないので、以下のようなデータから求められる不偏分散の平方根を用います。


 Z = ( \bar{X} - \mu)/(\hat{\sigma}/\sqrt{n})
この検定統計量は、自由度n-1のt分布に従います。*2

続きはまた更新します。

*1:対立仮説が「母平均の差が0でない( \mu_1-\mu_2\neq0)」のような場合は両側検定、対立仮説が「母平均の差が0より大きい( \mu_1-\mu_2>0)」のような場合は片側検定になります。

*2:t分布の説明はこちらhttps://atarimae.biz/archives/14046