人工知能を作りたい!

統計的仮説検定

母分散の等質性に関するF検定、母平均の差に関する t 検定(2群、対応なし)、Welch(ウェルチ)の検定




はじめに

t 検定(2群、対応なし)を実行するためには、以下に示す3つの前提条件を満たす必要があります。

●標本抽出が無作為に行われている。(無作為抽出)
●母集団分布が正規分布に従っている。(正規性)
●2つの群の母分散が等質である。(母分散の等質性)

2つの群の母分散が等質でない場合、Welch(ウェルチ)の検定という特殊な t 検定を行う必要があります。




例題(母分散が等質である場合)

英語テストを作成し、全国から無作為に抽出した高校生1年生男子10人と高校一年生女子10人にその英語テストを受けてもらいました。そして、以下のような英語テスト得点のデータを得ました。

<男子の英語テスト得点>
53, 37, 49, 72, 43, 62, 41, 52, 76, 65

<女子の英語テスト得点>
45, 57, 68, 35, 54, 48, 85, 40, 55

2つの母集団(全国の高校1年生男子と全国の高校1年生女子)それぞれの英語テスト平均点に有意な差があるといえるでしょうか。




帰無仮説と対立仮説の設定

「2つの群ぞれぞれの平均点」とは、「2つの群ぞれぞれの母平均」のことです。

帰無仮説 H0: μ1 = μ2 (2つの群それぞれの母平均は等しい)
対立仮説 H1: μ1 ≠ μ2 (2つの群それぞれの母平均は異なる)
有意水準 α =0.05




Rによる統計解析

<母分散の等質性の検定>
まず、母分散の等質性の検定を、関数 ver.test() を使って行います。

関数 ver.test() の書式は
ver.test(群1のデータ, 群2のデータ)
です。

母分散の等質性の検定において、帰無仮説と対立仮説と有意水準は以下のようになります。

帰無仮説 H0:2つの群それぞれの母分散は等しい
対立仮説 H1:2つの群それぞれの母分散は異なる
有意水準 α =0.05


> 男 <- c(53, 37, 49, 72, 43, 62, 41, 52, 76, 65)
> 女 <- c(45, 57, 68, 35, 54, 48, 85, 40, 55)


男子の得点データを変数「男」に、女子の得点データを変数「女」に格納します。


> var.test(男, 女)
        F test to compare two variances

data: 男 and 女
F = 0.76871, num df = 9, denom df = 8, p-value = 0.6996
alternative hypothesis: true ratio of variances is not equal to 1 95 percent confidence interval:
 0.1764218 3.1532175 sample estimates:
ratio of variances
         0.7687108


「F test to compare two variances」は「2つの分散の比較のためのF検定」というタイトルです。

「data:」の横に検定の対象となる変数が「男 and 女」と示されます。下の行に行くと、検定統計量Fの実現値、F分布の自由度 (「num df」が分子の自由度、「denom df」が分母の自由度) 、p 値が示されます。

p 値が0.6996となり、有意水準0.05より大きいので帰無仮説は棄却されません。つまり、「帰無仮説 H0:2つの群それぞれの母分散は等しい」が採択されました。

「alternative hypothesis: true ratio of variances is not equal to 1」は、「対立仮説:母分散の比率が1(比が1対1)ではない」を示しています。つまり、「対立仮説 H1:2つの群それぞれの母分散は異なる」です。

「95 percent confidence interval:」は、95%信頼区間の下限と上限の値を示しています。「sample estimates:」は、標本から計算された不偏分散の比を示しています。



<t 検定(2群、対応なし)>
それでは、 t 検定の前提である「母分散の等質性」は満たされているということなので、関数 t.test() を使って、t 検定(2群、対応なし)を実行します。

関数 t.test() の書式は
t.test(群1のデータ, 群2のデータ, var.equal=TRUE)
です。

var.equal=TRUE がないデフォルトでは、Welch(ウェルチ)の検定が実行されます。ですので、 t 検定(2群、対応なし)を実行するには var.equal=TRUE というオプションを指定する必要があります。


> t.test(男, 女, var.equal=TRUE)

        Two Sample t-test

data: 男 and 女
t = 0.13614, df = 17, p-value = 0.8933
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -12.88655 14.66433
sample estimates:
mean of x mean of y
 55.00000 54.11111


「Two Sample t-test」は、「2つのサンプルの t 検定」というタイトルです。

「data:」の横に検定の対象となる変数が「男 and 女」と示されます。下の行に行くと、検定統計量 t の実現値、 t 分布の自由度、 p 値が示されます。

p 値が0.8933となり、有意水準0.05より大きいので、「帰無仮説 H0: μ1 = μ2 (2つの群それぞれの母平均は等しい)」が採択されました。

「alternative hypothesis: true difference in means is not equal to 0」は、「対立仮説: μ1 ≠ μ2 」、つまり「対立仮説: μ1 - μ2 ≠ 0」を示しています。これより両側検定であることが分かります。

「95 percent confidence interval:」は、95%信頼区間の下限と上限の値を示しています。「sample estimates:」は、標本から計算された標本平均の実現値を示しています。




例題(母分散が等質でない場合)

英語テストを作成し、全国から無作為に抽出した高校生1年生男子10人と高校一年生女子10人にその英語テストを受けてもらいました。そして、以下のような英語テスト得点のデータを得ました。

<男子の英語テスト得点>
53, 37, 49, 72, 43, 62, 41, 52, 76, 65

<女子の英語テスト得点>
25, 57, 68, 15, 54, 88, 85, 20, 75

2つの母集団(全国の高校1年生男子と全国の高校1年生女子)それぞれの英語テスト平均点に有意な差があるといえるでしょうか。




帰無仮説と対立仮説の設定

「2つの群ぞれぞれの平均点」とは、「2つの群ぞれぞれの母平均」のことです。

帰無仮説 H0: μ1 = μ2 (2つの群それぞれの母平均は等しい)
対立仮説 H1:μ1 ≠ μ2(2つの群それぞれの母平均は異なる)
有意水準 α=0.05




Rによる統計解析

<母分散の等質性の検定>
まず、母分散の等質性の検定を、関数 ver.test() を使って行います。

関数 ver.test() の書式は
ver.test(群1のデータ, 群2のデータ)
です。

母分散の等質性の検定において、帰無仮説と対立仮説と有意水準は以下のようになります。

帰無仮説 H0:2つの群それぞれの母分散は等しい
対立仮説 H1:2つの群それぞれの母分散は異なる
有意水準 α =0.05


> 男 <- c(53, 37, 49, 72, 43, 62, 41, 52, 76, 65)
> 女 <- c(25, 57, 68, 15, 54, 88, 85, 20, 75)


男子の得点データを変数「男」に、女子の得点データを変数「女」に格納します。


> var.test(男, 女)

        F test to compare two variances

data: 男 and 女
F = 0.2253, num df = 9, denom df = 8, p-value = 0.03922
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
 0.05170811 0.92418815
sample estimates:
ratio of variances
         0.2253043


p 値が0.03922となり、有意水準0.05より小さいので帰無仮説は棄却されます。つまり、「対立仮説 H1:2つの群それぞれの母分散は異なる」が採択されました。



<Welch(ウェルチ)の検定>
t 検定の前提である「母分散の等質性」は満たされていないということなので、t 検定(2群、対応なし)に代えて、Welch(ウェルチ)の検定を実行します。

Welch(ウェルチ)の検定を行う関数 t.test の書式は
t.test(群1のデータ, 群2のデータ)
です。

var.equal=TRUE がないデフォルトでは、Welch(ウェルチ)の検定が実行されます。


> t.test(男, 女)

        Welch Two Sample t-test

data: 男 and 女
t = 0.086778, df = 11.165, p-value = 0.9324
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -21.61563 23.39341
sample estimates:
mean of x mean of y
 55.00000 54.11111


「Welch Two Sample t-test」は「ウェルチの2つのサンプルの t 検定」というタイトルです。

p 値が0.9324となり、有意水準0.05より大きいので帰無仮説は棄却されません。つまり、「帰無仮説 H0: μ1 = μ2 (2つの群それぞれの母平均は等しい)」が採択されました。




まとめ

t 検定(2群、対応なし)を行う場合、まず、関数 var.test(群1のデータ, 群2のデータ) を実行して「母分散の等質性」をチェックします。

母分散が等質である場合、関数 t.test(群1のデータ, 群2のデータ, var.equal=TRUE) を使って、t 検定(2群、対応なし)を実行します。

母分散が等質でない場合、関数 t.test(群1のデータ, 群2のデータ) を使って、Welchの検定を実行します。