R検定 t検定(対応あり):前後比較で「母平均」が変化したか調べる

「勉強の前後でスコアが上がったけれど、これは本当に効果があったと言える?」このような、同一対象に対して何らかの働きかけを行い、その効果を測定したい場面で使われるのが、「t検定(対応あり)」です。

統計学では、単に10人の点数が上がったことだけでなく、「この講座を受講する全ての人(母集団)において、受講前後の平均(母平均)に差が生じているか」を検証します。

今回のシナリオ:短期集中講座の効果

ある資格試験の受験者10名を対象に、1週間の「スコアアップ集中講座」を実施しました。

同じ10名の受講前後の点数を比較し、「受講前後で母平均が変化した(効果があった)と言い切れるか」を検証します。

  • Before: 講座受講前の点数(10名)
  • After: 講座受講後の点数(同じ10名)

データの準備


# 講座受講前の点数(10名分)
before <- c(62, 75, 50, 74, 63, 61, 76, 52, 64, 53)

# 講座受講後の点数(同じ10名分)
after  <- c(68, 80, 58, 79, 72, 65, 82, 60, 68, 62)

講座受講前の点数の平均値を計算する。


mean(before)

[1] 63

講座受講後の点数の平均値を計算する。


mean(after)

[1] 69.4

帰無仮説と対立仮説:何を検定するのか?

対応ありのt検定では、「前後の差」に注目して仮説を立てます。

  • 帰無仮説: 前後の母平均に差はない
    • 「講座を受けても、スコアの母平均は変化していない(効果はない)」という仮説です。
  • 対立仮説: 前後の母平均に差がある
    • 「講座を受けたことで、スコアの母平均が変化した(効果があった)」という、確かめたい仮説です。

「差がない」という前提(帰無仮説)をデータによって否定(棄却)することで、消去法的に「差がある(対立仮説)」と結論づけるのが検定の仕組みです。

t検定の前提条件:実行前にチェックすること

「対応あり」のt検定を正しく使うためには、以下のポイントを確認しておく必要があります。

「差分」が正規分布しているか

対応ありのt検定では、個々のデータの分布以上に、「1人ひとりの変化量(後 - 前)」のデータが正規分布に従っているかが重要です。変化に極端な偏りがある場合は、別の手法を検討する必要があります。

データの整合性

  • サンプルサイズが一致していること: 前後の比較なので、データ数は必ず同じでなければなりません。
  • 対応が正確であること: beforeの1番目とafterの1番目は、必ず同一人物のデータである必要があります。

t検定の実行

Rではt.test()関数に「paired = TRUE」という引数を追加します。

変化があるかどうかを検定する(両側検定)


# t検定(対応あり)を実行
t.test(before, after, paired = TRUE)

Paired t-test

data:  before and after
t = -10.352, df = 9, p-value = 2.681e-06
alternative hypothesis: true mean difference is not equal to 0
95 percent confidence interval:
 -7.798559 -5.001441
sample estimates:
mean difference 
           -6.4 

「スコアが下がったか」を検定する(片側検定)


# before の方が母平均が大きい(スコアが下がった)ことを検証する場合
t.test(before, after, paired = TRUE, alternative = "greater")

Paired t-test

data:  before and after
t = -10.352, df = 9, p-value = 1
alternative hypothesis: true mean difference is greater than 0
95 percent confidence interval:
 -7.533306       Inf
sample estimates:
mean difference 
           -6.4

「スコアが上がったか」を検定する(片側検定)


# after の方が母平均が大きい(スコアが上がった)ことを検証する場合
t.test(before, after, paired = TRUE, alternative = "less")

Paired t-test

data:  before and after
t = -10.352, df = 9, p-value = 1.341e-06
alternative hypothesis: true mean difference is less than 0
95 percent confidence interval:
      -Inf -5.266694
sample estimates:
mean difference 
           -6.4 

結果の読み方:p-value(p値)と有意水準

結果を判断するための基準はp-value(p値)です。

有意水準との比較

統計的検定では、p値を判断するためのしきい値(有意水準)を、事前に決めておくのがルールです。一般的には0.05(5%)が用いられることが多いです。

  • p値 < 0.05:「統計的に有意な変化があった」と判断します。受講前後の母平均に差があると結論づけます。
  • p値 ≧ 0.05:「統計的に有意な変化があったとは言えない」と判断します。

今回の例「変化があるかどうかを検定する(両側検定)」では、p値が0.000002681のような非常に小さな値になり、0.05を大きく下回ります。そのため、「受講前後で母平均に有意な差がある(講座に効果があった)」と結論づけることができます。

補足: 「対応あり」とは?

今回の検定は、「同じ対象(人や物)から得られた、ペアになっている2つのデータ」の差を分析しています。もし、比較する2つのグループが「全く別の人たち(独立したグループ)」である場合は、「対応なし」という別の手法を使います。

まとめ:t検定(対応あり)のポイント

同一対象の前後比較などで効果を測定するt検定(対応あり)について、重要なポイントを整理しておきます。

  1. 目的は「変化」の検証:「受講前」と「受講後」のように、同一グループに対して何らかの働きかけを行った際、母平均に有意な変化が生じたかを判定します。
  2. 帰無仮説と対立仮説を意識する:「変化はない(効果はない)」という帰無仮説を棄却できるかどうかを検証します。
  3. 「差分のデータ」が主役:個々のデータの分布以上に、一人ひとりの変化量(差分)が正規分布していることが、検定を正しく行うための前提条件となります。
  4. Rでの実行は「paired = TRUE」:デフォルト(対応なし)と区別するため、必ず「paired = TRUE」引数を指定することを忘れないようにしましょう。
  5. p値で偶然かどうかを判断する:算出されたp値が事前に決めた有意水準(通常0.05)を下回れば、その変化は「たまたま」ではなく、統計的に有意な効果があったとみなします。

t検定(対応あり)は、教育やビジネスの施策評価などにおいて非常に強力な武器になります。統計的な結果だけでなく、得られたスコアの伸び(効果の大きさ)が目標に対して十分だったかという実務的な視点も持って、分析結果を解釈することが重要となります。