社会人が統計学の基礎を学び、実務で活かす

PythonでF検定(等分散性の検定)を行う方法 (Pythonによる統計学入門)

スポンサーサーチ

今回はPythonを用いて等分散性の検定(F検定)を行う方法を解説します。

等分散性の検定では2つのグループの分散(または標準偏差)が違うかどうかをF検定を用いて結論づけることができます。

仮説は以下のようになります。

H_0: 二つの群の分散は等しい。

H_A: 二つの群の分散は違う。

例えばt検定を利用する際に、二つのグループの分散が違うのであれば
ウェルチのt検定を利用することが多いのですが、

二つのグループの分散が違うかどうかを判断するために、
このこの等分散性の検定(F検定)を利用することができます。

Pythonを用いてこの等分散性の検定をするために、
まずは以下のように必要なライブラリをインポートしましょう。

例えば、日本人のアメリカ人の成人男性の身長の分散が
違うと言えるかどうかを検定してみたいと思います。

以下のように、日本人とアメリカ人の成人男性を30人づつ
抽出して、身長を測定します。

この標本抽出にあたって、日本人の平均身長を171cm、標準偏差を6、
アメリカ人の平均身長を180cm、標準偏差を8と仮定しました。

それぞれのグループの標本分散を求めてみます。

>>> stat.variance(Japan)
37.972195402298865
>>> stat.variance(US)
67.518896551724112

このように日本人の身長の標本分散は約38、
アメリカ人の標本分散は約67.5とでました。

この数字だけを見ると、二つのグループの分散は違うような気もします。

次に以下のコードで各グループの身長のヒストグラムを
比べてみましょう。

このヒストグラムを見ると各グループの分散はそれほど違わないようにも見えますね。

それでは、正式に等分散性の検定(F検定)を行います。

scipy.stats.bartlett()関数を利用し、カッコの中に
各グループの身長が格納されたベクトルを入れるだけです。

結果は以下のようになります。

>>> scipy.stats.bartlett(Japan,US)
BartlettResult(statistic=2.3290558523567992, pvalue=0.1269788727635183)

P値が0.127となりますので帰無仮説を棄却することができません。
つまり、二つのグループの分散が違うとは結論付けられません。

※この記事を書くのに以下のページを参考にしました。
– https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.stats.bartlett.html
– https://docs.python.org/3/library/statistics.html


プログラミングとソフトウェア

スポンサー募集中。

統計ドットリンクでは広告出稿をご希望のスポンサー様を募集しております。ページビューなどは、「お問い合わせ」からご連絡ください。

更新・勉強会などの情報を受け取る。

以下からFacebookページをフォローもしくは、メールマガジンへの登録をすると、更新情報、勉強会、講習会、交流会の案内など各種情報を受け取ることができます。

↑こちらからFacebookページをフォロー。
 

メルマガ登録はこちら

理系の就職・職業訓練

統計ドットリンクでは、理系の大学生、大学院生、第二新卒の就職や転職を応援しています。職業訓練、求人やエージェントなどの必要な情報を選別し、紹介しています。 就職、職業訓練の情報を確認する。
PAGETOP
Powered by WordPress & BizVektor Theme by Vektor,Inc. technology.