Skip to Main Content

★手計算とRで学ぶ統計学: 一元配置分散分析 (対応あり)

「なぜ統計学が必要か」という問いをひもとき,実践を通じて読者の方と統計学の心理的距離を縮めるガイドです。

基本・一元配置分散分析 (対応あり)

ここでは,対応のある一元配置分散分析の流れを実際の値を使って確認してみましょう。\(t\) 検定と同様に,「対応のある」分散分析では,独立でない2群以上の平均値差を比較しています。

(データ概要)
ある学習法を実施する前,実施中,実施後のテストの点数 (10点満点) に差があるかを検討するため,4人の学生に対して3回 (実施前,実施中,実施後) テストを行ったところ,以下のような結果が得られました。

\begin{array}{cccc}
  \hline
  ID & Before & Between & After \\
  \hline
 1 &  3   & 8 & 10   \\
  \hline
 2 & 2   & 4 & 6   \\
  \hline
3 & 2   & 1 & 16  \\
  \hline
4&  5   & 4 & 9   \\
  \hline
\end{array}

①仮説を立てる
今回は
帰無仮説\(H_{0}\): 学習法の実施前,実施中,実施後のテストの点数に統計的に有意な差がない
対立仮説\(H_{1}\): 学習法の実施前,実施中,実施後の少なくともどれか1つの組み合わせでテストの点数に統計的に有意な差がある
という仮説を立てます。

 

②データの自由度を求める
検定統計量の選択を行う前に,群間変動 (ここでは実施前 / 実施中 / 実施後の3水準による変動) と群内変動 (個人差を除去した参加者間の変動) の自由度を求めます。
群間変動の自由度は \( (水準数) - 1 = 3 - 1  = 2\),群内変動の自由度は\( (データ総数) - (水準数)  - (参加者数-1) = 12 - 3 -  (4 -1) = 6\) と求められます。

 

③検定統計量を選択する
今回の事例では,群間変動と群内変動の自由度 \(df_{B}\),\(df_{W}\)を用いる検定統計量\(F\) を使用します。また,帰無仮説の棄却 / 保留の判断には\(F\left(df_{B}, df_{W}\right)\) \(= F\left(2, 6\right)\) となる \(F\) 分布を使用します。

 

④有意水準\(\alpha\) (第一種の過誤が生じることをどこまで許容するか) を定める
\(\alpha = 0.05\) と定めることが一般的です。研究の目的や分野によっては異なる有意水準 ( \(\alpha = 0.1\),\(\alpha = 0.01\)など) を定めることもあります。

 

⑤各群の平均,各水準の平均,データ全体の平均を求める
まずは参加者それぞれの平均と各水準 (実施前 / 実施中 / 実施後) の平均,データ全体の平均を求めます。
それぞれの参加者の平均 \(\overline{x_{A}} ,\overline{x_{B}}, \overline{x_{C}}, \overline{x_{D}}\) は
\begin{align}
\overline{x_{A}} &=\frac{1}{n_{A}}\sum_{i =1}^{n_{A}}x_{i A} \\
&= \frac{1}{3} \left( 3 + 8 + 10 \right) \\
&= 7 
\end{align}

\begin{align}
\overline{x_B} &=\frac{1}{n_B}\sum_{i =1}^{n_B}x_{i B} \\
&= \frac{1}{3} \left( 2 + 4 + 6 \right) \\
&= 4
\end{align}

\begin{align}
\overline{x_C} &=\frac{1}{n_C}\sum_{i =1}^{n_C}x_{i C} \\
&= \frac{1}{3} \left( 2 + 1 + 6  \right) \\
&= 3
\end{align}

\begin{align}
\overline{x_D} &=\frac{1}{n_D}\sum_{i =1}^{n_D}x_{i D} \\
&= \frac{1}{3} \left( 5 + 4 + 9  \right) \\
&= 6
\end{align}

各水準の平均\(\overline{x_{before}}, \overline{x_{during}}, \overline{x_{after}} \)は
\begin{align}
\overline{x_{before}} &= \frac{1}{4} \left( 3 + 2 + 2 + 5  \right) \\
&= 3
\end{align}
\begin{align}
\overline{x_{during}} &= \frac{1}{4} \left( 8 + 4 + 1 + 4  \right) \\
&= 4.25
\end{align}
\begin{align}
\overline{x_{after}} &= \frac{1}{4} \left( 10 + 6 + 6 + 9  \right) \\
&= 7.75
\end{align}

また,データ全体の平均\(\overline{x} \)は
\begin{align}
 \overline{x} &=\frac{1}{N}\sum_{i = 1}^{m}\sum_{j = 1}^{n_{i}}x_{ij} \\
&= \frac{1}{N}\sum_{i = 1}^{m}\left\{ \left(x_{i1} +  ... +x_{in_1}\right) + \left(x_{i1} +  ... +x_{in_2}\right) + \left(x_{i1} +  ... +x_{in_3}\right) + \left(x_{i1} + ... +x_{in_4}\right) \right\} \\
&= \frac{1}{12}\left\{ \left(x_{11} + x_{12} + x_{13}\right) + \left(x_{21} + x_{22} +x_{23}\right) + \left(x_{31} + x_{32} + x_{33}\right)+ \left(x_{41} + x_{42} + x_{43}\right) \right\} \\
&= \frac{1}{12}\left\{\left(3 + 8 + 10\right) + \left(2 + 4 + 6\right) + \left(2 + 1 + 6\right) + \left(5 + 4 + 9\right) \right\} \\
&= 5
\end{align}
です。ここで,\(N\) はデータの総数,\(m\) は参加者数をあらわします。この場合は \(N = 12\),\(m = 4\) です。
また,\(i\)は各群のサンプルサイズの範囲の整数値をとります。この場合,A,B,C,Dすべての参加者で水準数は3なので,いずれの式でも\(1\leq i \leq3\)となります。

⑥要因分散,個人差を除去した誤差分散を求める
○要因分散
要因分散は,水準ごとの処理の効果 (ここでは実施前 / 実施中 / 実施後による変動) と水準間で生じた偶然のばらつきを表す指標です。
まずは要因間平方和\(SS_{Processing}\),つまり各水準の平均値とデータ全体の平均の2乗にサンプルサイズをかけた値の総和を求めます。
\begin{align}
SS_{Processing} &= \sum_{i=1}^mn_{i}\left(x_{i} - \overline{x}\right)^2 \\
&= 4\left(3 - 5\right)^2 + 4\left(4.25 - 5\right)^2 + 4\left(7.75 - 5\right)^2 \\
&= 48.5
\end{align} 

この要因間平方和を要因の自由度2で割ることで要因分散が求められます。
\begin{align}
MS_{Processing} &= \frac{SS_{Processing}}{df_{Processing}} \\
&= \frac{48.5}{2} \\
&= 24.25
\end{align} 


○個人差を除去した誤差分散
個人差を除去した誤差分散を求めるためには,まず群内平方和と参加者間変動の差を求めます。
各参加者のある時点でのデータと各参加者の平均の差の二乗の総和によって群内平方和を求めます。自由度\(df_{Within}\) は \((水準数) \times (水準ごとのサンプルサイズ -1) = 3 \times (4 -1) = 9 \) です。
\begin{align}
SS_{Within} &= \sum_{i=1}^m\sum_{j=1}^{n_{i}} \left(x_{ij} - \overline{x_{i}}\right)^2 \\
&= \sum_{i=1}^m\left\{ \left(x_{i1} - \overline{x_{i}}\right)^2 +  \left(x_{i2} - \overline{x_{i}}\right)^2 + ... +  \left(x_{in_{i}} - \overline{x_{i}}\right)^2\right\} \\
&=  \left\{ \left(x_{11} - \overline{x_{1}}\right)^2 +  \left(x_{12} - \overline{x_{1}}\right)^2 +  \left(x_{13} - \overline{x_{1}}\right)^2\right\} \\
&+ \left\{ \left(x_{21} - \overline{x_{2}}\right)^2 +  \left(x_{22} - \overline{x_{2}}\right)^2 +  \left(x_{23} - \overline{x_{2}}\right)^2\right\} \\
&+ \left\{ \left(x_{31} - \overline{x_{3}}\right)^2 +  \left(x_{32} - \overline{x_{3}}\right)^2 +  \left(x_{33} - \overline{x_{3}}\right)^2\right\} \\
&+ \left\{ \left(x_{41} - \overline{x_{4}}\right)^2 +  \left(x_{42} - \overline{x_{4}}\right)^2 +  \left(x_{43} - \overline{x_{4}}\right)^2\right\} \\
&= \left\{ \left(3 - 3\right)^2 +  \left(8 - 4.25\right)^2 + \left(10 - 7.75\right)^2\right\} \\
&+ \left\{ \left(2 - 3\right)^2 +  \left(4 - 4.25\right)^2 + \left(6 - 7.75\right)^2\right\} \\
&+ \left\{ \left(2 - 3\right)^2 +  \left(1 - 4.25\right)^2 + \left(6 - 7.75\right)^2\right\} \\
&+ \left\{ \left(5 - 3\right)^2 +  \left(9 - 4.25\right)^2 + \left(4 - 7.75\right)^2\right\} \\
&= 43.5
\end{align}

次に,各参加者のデータの平均と全体の平均の差の二乗と水準数の積から参加者間平方和を求めます。自由度\(df_{Participant}\) は \((水準ごとのサンプルサイズ -1) = 4 -1 = 3 \) です。
\begin{align}
SS_{Participant} &= 3 \times\sum_{i=1}^m \left(\overline{x_{i}} - \overline{x}\right)^2 \\
&= 3 \times \left\{ \left(x_{1} - \overline{x}\right)^2 +  \left(x_{2} - \overline{x}\right)^2 + \left(x_{3} - \overline{x}\right)^2 + \left(x_{4} - \overline{x}\right)^2 \right\} \\
&= 3 \times \left\{ \left(7 - 5\right)^2 +  \left(4 - 5\right)^2 + \left(3 - 5\right)^2+ \left(6 - 5\right)^2 \right\} \\
&= 3 \times 10 \\
&=30.0
\end{align}

よって,個人差を除去した誤差分散は以下のように求められます。
\begin{align}
MS_{Error} &= \frac{SS_{Within} - SS_{Participant}}{df_{Within} - df_{Participant}} \\
&= \frac{43.5 - 30.0}{9 - 3} \\
&=  2.25
\end{align} 

⑦\(F\)値を求める
要因分散,個人差を除去した誤差分散が求められたので,それらの比である\(F\)値を求めます。
\begin{align}
F &= \frac{要因分散}{個人差を除去した誤差分散} \\[7pt]
&= \frac{24.25}{2.25} \\[7pt]
&\fallingdotseq 10.78
\end{align}

⑧データの自由度と有意水準をもとに棄却域 (データから求めた\( F\)値がこの中に含まれれば帰無仮説を棄却する) を定める
\(F\) 分布表で \(F\left(2, 6\right)_{0.05}\) の数値を見ると,\(F \left(2, 6\right)_{0.05} = 5.14\) であることがわかります。よって,求めた\(F\) 値が\(5.14 <x< \infty \) の範囲に含まれていれば帰無仮説を棄却,含まれていなければ帰無仮説についての判断を保留することにします。

⑨\(F\) 値と棄却域を比較し,帰無仮説を棄却するかどうか決める (手計算の場合のみ)
データから求めた\(F\) 値はおよそ10.78であるため,棄却域内にあります。
よって,今回は帰無仮説を棄却し,「学習法の実施前,実施中,実施後の少なくともどれか1つの組み合わせでテストの点数に統計的に有意な差がある」と結論づけます
(※1)

(※1) 「どの群の間に統計的に有意な差があるのか」を検討するためには多重比較を行います。