- 独立な2群のt検定(「独立な2群」とは何か、に注意)
男女で心理学テストの平均値に差があるかどうか
統計の好き嫌いで統計テストの平均値に差があるか---統計が好きである人の統計テストの点数の分布と、統計が嫌いな人の統計テストの点数の分布の比較 - 対応のある2群のt検定(何と何が対応しているか、に注意)
同じ対象者に対して指導法の違いが成績に影響するかどうか
この講義では、教科書の第6章「2つの平均値を比較する」をとりあげます。 具体的には、2つの平均値を比較する方法の学習、つまり、 (1)独立な2群の平均値差の検定と、(2)対応のある2群の平均値差の検定、 について学びます。
このウェブページと合わせて教科書を読み進めてください。
学習項目です:
平均がそれぞれμ1、μ2、かつ分散σ2が等しい、正規分布に従う母集団から無作為抽出された標本X1、X2を考える:式で書くと X1~N (μ1, σ2) ,
X2~N (μ2,σ2)
その平均値の差(n1とn2はそれぞれの群のサンプルサイズ)
はやはり正規分布に従う:
これを標準化する(問題: 標準化とは?):
ここで母分散σ2が未知であるなら標本から推定する:
(ここで、と はそれぞれの群の不偏分散
---問題:X1とX2
を合わせた標本の不偏分散の値とこのσ2pooledとの関係は?)
この値によって次の検定統計量を導く:
こうして導かれた検定統計量tの標本分布は、帰無仮説H0:μ1 = μ2のもとで、
自由度df = n1 + n2 - 2のt分布にしたがう。この検定統計量を用いて、2つの平均値の差に関する検定を行うことができるようになる(問題: 対立仮説はどうなる?):
統計1男 <- c(6,10,6,10,5,3,5,9,3,3) 統計1女 <- c(11,6,11,9,7,5,8,7,7,9)次のステップで行う:
> mean(統計1男) [1] 6 > mean(統計1女) [1] 8 > var(統計1男) [1] 7.777778 > var(統計1女) [1] 4次に「プール標準偏差」σpooled を求める。
> プール標準偏差<-sqrt(((length(統計1男)-1)*var(統計1男)+(length(統計1女)-1)*var(統計1女))/ (length(統計1男)+length(統計1女)-2)) > プール標準偏差 [1] 2.426703最後に検定統計量の実現値を計算する:
> t分母 <- プール標準偏差*sqrt(1/length(統計1男)+1/length(統計1女)) > t分子 <- mean(統計1男)-mean(統計1女) > ( t統計量 <- t分子/t分母 ) # 検定統計量 [1] -1.842885検定統計量の実現値がt = -1.84と求まった
> qt(0.025,18) # 検定統計量 df=18、下側確率0.05/2 = 0.025となるtの値を求める [1] -2.100922 # 下側確率であるから、この値よりもt値が小さければ棄却される > qt(0.025,18,lower.tail=FALSE) # df=18、上側確率 1 - 0.05/2 = 0.975となるtの値を求める [1] 2.100922 # 上側確率であるから、この値よりもt値が大きければ棄却されるこの結果、棄却域は t < -2.10 または t > 2.10 となるので、tの値は棄却域に入らないため、帰無仮説は棄却されない。ゆえに、検定の結果は「有意水準5%で有意差が見られなかった」となる
> pt(-1.842885,18) # 下側確率 [1] 0.04093903 # 下側確率とすれば、p値は0.04という値(< 0.05) > 2*pt(-1.842885,18) # 両側検定なので2倍する [1] 0.08187807 # 両側検定であるから2倍したp値は0.08という値(> 0.05)なお、5章「t分布を用いた検定」で紹介した関数t.testによっても簡単に求めることができる(var.equal=TRUEというオプションをつける):
> t.test(統計1男,統計1女,var.equal=TRUE) Two Sample t-test data: 統計1男 and 統計1女 t = -1.8429, df = 18, p-value = 0.08188 # t値、df値、p値の表示 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: -4.2800355 0.2800355 sample estimates: mean of x mean of y 6 8
> クラスA <- c(54,55,52,48,50,38,41,40,53,52) > クラスB<- c(67,63,50,60,61,69,43,58,36,29) > var.test(クラスA, クラスB) F test to compare two variances # 2つの分散の比較のためのF検定 data: クラスA and クラスB F = 0.2157, num df = 9, denom df = 9, p-value = 0.03206 # F値、df値、p値の表示 alternative hypothesis: true ratio of variances is not equal to 1 95 percent confidence interval: 0.05356961 0.86828987 sample estimates: ratio of variances 0.2156709この例では、p値が 0.03であるため、帰無仮説が棄却されます。 つまりこの例では2つの変数の分散が等質であるという仮定は成り立ちません。そのため、この2つの変数に対してはt検定ができない、ということになります。その場合でも2つの群の平均値の比較の検定は可能です。その一つの方法が、次で紹介するWelchの検定です。 [なぜ分散が等質でないと判断されたか]
> t.test(クラスA, クラスB, var.equal=FALSE) Welch Two Sample t-test # Welchのt検定 data: クラスA and クラスB t = -1.1191, df = 12.71, p-value = 0.2838 # F値、df値、p値の表示 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: -15.554888 4.954888 sample estimates: mean of x mean of y 48.3 53.6この結果はp値が0.28なので、帰無仮説が棄却されない、つまりクラスAとクラスBの平均に有意な差はない、という結論。
差得点D ~ N (μD, σ2D) と仮定すると、 標本平均
この標本分布を標準化すると ~ N (0, 1)
ここで、σDが未知なので、これを標本から求めた標準偏差 で代用すると、
は自由度 df = n - 1
のt分布にしたがう
統計テスト1 <- c(6,10,6,10,5,3,5,9,3,3,11,6,11,9,7,5,8,7,7,9) 統計テスト2 <- c(10,13,8,15,8,6,9,10,7,3,18,14,18,11,12,5,7,12,7,7)次のステップで行う:
> 変化量 <- 統計テスト2-統計テスト1 > sd(変化量) [1] 2.772041 > 分母t <-sd(変化量)/sqrt(length(変化量)) > 分子t <- mean(変化量) > t統計量 <- 分子t/分母t > t統計量 [1] 4.839903この結果、検定統計量の実現値は t= 4.84
> qt(0.025,19) # 検定統計量 df=19、下側確率0.05/2 = 0.025となるtの値を求める [1] -2.093024 # 下側確率であるから、この値よりもt値が小さければ棄却される > qt(0.025,19,lower.tail=FALSE) # df=19、上側確率 1 - 0.05/2 = 0.975となるtの値を求める [1] 2.093024 # 上側確率であるから、この値よりもt値が大きければ棄却されるこの結果、棄却域は t < -2.09 または t > 2.09 となるので、tの値は棄却域に入るため、帰無仮説は棄却される。ゆえに、検定の結果は「5%水準で有意差が見られた」となる
> t.test(統計テスト1, 統計テスト2, paired=TRUE) Paired t-test data: 統計テスト1 and 統計テスト2 t = -4.8399, df = 19, p-value = 0.0001138 # t値、df値、p値の表示 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: -4.297355 -1.702645 sample estimates: mean of the differences -3この結果、p値が0.0001という小さな値であるので、帰無仮説が棄却され、検 定の結果は「有意水準5%で、統計テスト1と統計テスト2では有意な差があった」となる。
目的 | 関数名と書式 | 使い方 |
---|---|---|
分散の等質性の検定 | var.test(x1, x2) | var.test(x1, x2) ⇒ 変数x1とx2(これは同一の変数xについてグループ1とグループ2の得点)について、分散の等質性の検定を行う |
独立な2群の検定 | t.test(x1, x2, var.equal=TRUE) | t.test(x1, x2, var.equal=TRUE) ⇒ 変数x1とx2(これは同一の変数xについてグループ1とグループ2の得点)について、 独立な2群のt検定を行う。var.equal=TRUEがないとWelchの検定になる |
Welchの検定 | var.test(x1, x2, var.equal=FALSE) | var.test(x1, x2, var.equal=FALSE) ⇒ 変数x1とx2(これは同一の変数xについてグループ1とグループ2の得点)について、分散の等質性を仮定せずに独立な2群のt検定を行う. var.equal=FALSE により 「分散の等質性が仮定されない」 |
対応のあるt検定 | t.test(x) あるいは t.test(x1, x2, paired=TRUE) | t.test(x)
⇒ 変数xについて、1つの平均値のt検定を実行する。xが2変数の差得点(x = x1 - x2)であれば、対応のあるt検定を行ったことになる t.test(x1,x2,paired=TRUE) ⇒ paired=TRUEにより、x1, x2が対応のあるデータとして、対応のあるt検定を行う |
統計学好き <- c(6, 10, 6, 10, 11, 6, 11, 7) 統計学嫌い <- c(5, 3, 5, 9, 3, 3, 9, 5, 8, 7, 7, 9)[ヒント]
心理学テスト男 <- c(13, 14, 7, 12, 10, 6, 8, 15, 4, 14) 心理学テスト女 <- c(9, 6, 10, 12, 5, 12, 8, 8, 12, 15)[ヒント]
参加前 <- c(61, 50, 41, 55, 51, 48, 46, 55, 65, 70) 参加後 <- c(59, 48, 33, 54, 47, 52, 38, 50, 64, 63)[ヒント]