寺尾 敦 青山学院大学社会情報学部 atsushi@si.aoyama.ac.jp 社会統計 第9回:1要因被験者内デザイン 寺尾 敦 青山学院大学社会情報学部 atsushi@si.aoyama.ac.jp
被験者間デザイン・被験者内デザイン 他者の監視とパフォーマンスとの関係を検討した(架空)実験では,実験の参加者を各条件にランダムに割り当てた.各実験条件への参加者が異なる実験デザインを,被験者間デザイン(between-subjects design)と呼ぶ. これに対して,どの条件でも参加者が同一である実験デザインを,被験者内デザイン(within-subjects design)と呼ぶ.
デザインの例 1要因被験者間デザイン:3つのタイプライターの違いを評価するため,24人のタイピストを,それぞれのタイプライターに対して,8人ずつランダムに割り当てた. 1要因被験者内デザイン:3つのタイプライターの違いを評価するため,8人のタイピストそれぞれが,3つのタイプライターすべてでテストを行った. ホーエル『初等統計学』第11章より
データ(架空) タイプ I タイプ II タイプ III 44 40 54 39 37 50 33 28 56 53 55 43 38 45 51 66 47 49 58 60 65
被験者間デザインでの分析 変動因 平方和(SS) df 平均平方 F 級間 336 2 168.0 1.87 級内 1888 21 89.9 全体 2224 23 結論:3条件の母集団平均に差があるとは言えない. すなわち,3種類のタイプライターの間に,パフォーマンスを 左右する差があるとは言えない.
被験者内デザインでの分析 変動因 平方和 df 平均平方 F タイプライター 336 2 168.0 19.6* タイピスト 1768 7 252.6 29.5* 誤差 120 14 8.57 全体 2224 23 * p < .05 結論:3条件の母集団平均はすべて等しくはない すなわち,3種類のタイプライターの間には,パフォーマンスを 左右する差がある.
1要因被験者内デザインでは,変動因が2つ(例:「タイプライター」と「タイピスト」)ある. したがって,2要因の分散分析であるとも考えられる.第1要因の水準と第2要因の水準の組み合わせは,すべて1回ずつテストされるので,繰り返しのない二元配置法とも呼ばれる.
被験者内デザインのモデル 参加者 i の,j 番目のタイプライターでのスコアは,以下のモデルで決定されたと考える. 被験者間デザインの解析では,個人差要因は誤差の中にプールされていた. 全体の平均 + タイプライターの効果 + 個人差要因 + 誤差
被験者内デザインでの効果 全水準をこみにしたときの母集団平均を μ ,興味ある要因(例:タイプライター)の第 j 水準の母集団平均を μ.j としたとき,この水準に属することの効果 αj は, 第 i 番目の参加者の母集団平均を μi. としたとき,この参加者の効果 βi は,
帰無仮説 興味ある要因(水準数 J) 個人差要因(水準数 I) (βi の母集団分散はゼロ) 対立仮説は, 興味ある要因と同様の式で帰無仮説を表現することも可能.鷲尾『実験の計画と解析』p.80 参照. 対立仮説は, 注意:興味ある3つのタイプライターと異なり,タイピストはタイピストの母集団から無作為抽出されたと考えられるため,帰無仮説の表現が異なっている.しかし,あまり気にしないでよい.
練習問題1 1人目のタイピストの平均は46,2人目のタイピストの平均は42である.タイプライターI, II, III の平均はそれぞれ,47, 44, 53 である.全体の平均は48である.この2人の成績を,全体平均(の推定値),タイプライターの効果(同),個人差の効果(同),誤差(同)に分解せよ. タイプ I タイプ II タイプ III タイピスト1 44 40 54 2 39 37 50
全体平均 要因の効果 個人差要因 誤差
被験者内デザインにおける 平方和の分解 全平方和を,興味ある要因の平方和,個人差の平方和,誤差の平方和に分解する.
平均平方と母集団分散の推定 被験者間デザインのときと同様に,それぞれの平均平方を,対応する自由度で割ったものを考える. 興味ある要因および個人差要因に関する平均平方は,それぞれ対応する帰無仮説が正しいとき,母集団分散の不偏推定量になる. 誤差の平均平方は帰無仮説の真偽によらす,母集団分散の不偏推定量になる.
平均平方の比 1要因被験者内デザインでは,2種類の F 比を考える. 興味ある要因の平均平方 / 誤差の平均平方 個人差要因の平均平方 / 誤差の平均平方 被験者間デザインのときと同様に,これら統計量が F 分布に従うことを利用して,仮説検定を行う.平均平方と同様に,自由度も分解されることに注意.
被験者内デザインでの分析 変動因 平方和 df 平均平方 F タイプライター 336 2 168.0 19.6* タイピスト 1768 7 252.6 29.5* 誤差 120 14 8.57 全体 2224 23 * p < .05 結論:3条件の母集団平均はすべて等しくはない すなわち,3種類のタイプライターの間には,パフォーマンスを 左右する差がある.
タイプライター要因の F 統計量が有意であった.このことを,この要因の主効果(main effect)が有意であると言う. タイピスト要因の主効果も有意だった.しかし,1要因被験者内デザインの実験では,個人差に興味がないことも多い.
乱塊法 1要因被験者内デザインは,乱塊法と呼ばれるデザインのひとつである. 「実験計画法」の講義 それぞれのタイピストが3つのタイプライターを評価する順序は,ランダムにする.あるいは,カウンターバランスをとることができればなおよい. どの順序も同じ回数だけ出現するようにする.
練習問題2 工員 機械の種類 1 2 3 4 44 38 47 36 46 40 52 43 34 32 33 5 42 49 39 上のデータは,5人の工員が4種類の異なる機械を用いて生産した1日あたりの製品数である.分散分析により,機械の違いと,工員の個人差を検討せよ. (ホーエル『初等統計学』第11章,章末問題5)
練習問題2の分析を実行する R スクリプト 製品数 <- c(44,46,34,43,38, 38,40,36,38,42, 47,52,44,46,49, 36,43,32,33,39) 機械 <- factor(c(rep("m1",5), rep("m2",5), rep("m3",5), rep("m4",5))) 人 <- factor(rep(c("p1","p2","p3","p4","p5"),4)) boxplot(製品数 ~ 機械, xlab="機械", ylab="製品数") boxplot(製品数 ~ 人, xlab="人", ylab="製品数") summary(aov(製品数 ~ 機械 + Error(人/機械))) # 以下のように書いてもよい # summary(aov(製品数 ~ 機械 + 人))
箱ひげ図の出力(機械ごと)
箱ひげ図の出力(人ごと)
分散分析表の出力(1) > summary(aov(製品数 ~ 機械 + Error(人/機械))) Error: 人 Df Sum Sq Mean Sq F value Pr(>F) Residuals 4 161.5 40.37 Error: 人:機械 Df Sum Sq Mean Sq F value Pr(>F) 機械 3 338.8 112.93 18.39 8.78e-05 *** Residuals 12 73.7 6.14 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
分散分析表の出力(2) > summary(aov(製品数 ~ 機械 + 人)) Df Sum Sq Mean Sq F value Pr(>F) 機械 3 338.8 112.93 18.388 8.78e-05 *** 人 4 161.5 40.38 6.574 0.00485 ** Residuals 12 73.7 6.14 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 相関比(機械): 相関比(人):
データ行列の分解を確認する R スクリプト # 全体平均 grand <- mean(製品数) # データの行列 data_mat <- matrix(製品数, nrow=5, ncol=4) # 全平均を要素として持つ行列 grand_mat <- matrix(rep(grand,20), nrow=5, ncol=4) # 各列に,データ行列の列平均(機械ごとの平均)を並べた行列 colmean_mat <- matrix(rep(colMeans(data_mat),5), nrow=5, ncol=4, byrow=T) # 各行に,データ行列の行平均(工員ごとの平均)を並べた行列 rowmean_mat <- matrix(rep(rowMeans(data_mat),4), nrow=5, ncol=4) (つづく)
# 機械の効果 effect_m_mat <- colmean_mat - grand_mat # 工員の効果 effect_p_mat <- rowmean_mat - grand_mat # 誤差 error_mat <- data_mat - colmean_mat - rowmean_mat + grand_mat # データ行列の分解を確認する # data_mat # = grand_mat + effect_m_mat + effect_p_mat + error_mat
平方和の分解を確認する R スクリプト # 全平方和 SS <- sum((data_mat - grand_mat)^2) # 機械要因の平方和 SS_m <- sum(effect_m_mat^2) # 工員要因の平方和 SS_p<- sum(effect_p_mat^2) # 誤差の平方和 SS_e <- sum(error_mat^2) # 平方和の分解を確認する # SS = SS_m + SS_p + SS_e
理解確認のポイント 実験条件への参加について,1要因被験者間デザインと被験者内デザインの違いを説明できますか? 1要因被験者内デザインでの,分散分析の構造モデルを書き,式の要素を説明することができますか? この分散分析モデルに従って,データを分解することができますか?
1要因被験者内デザインでの,平方和の分解の式を書き,興味ある要因の平方和,個人差の平方和,誤差の平方和について説明できますか? それぞれの平方和の自由度がいくつになるか,わかりますか? 分散分析を実行し,分散分析表を作成することができますか?