ねこすたっと

ねこの気持ちと統計について悩む筆者の備忘録的ページ。

分散分析(ANOVA):二元配置分散分析

分散分析(Analysis of Variance, ANOVA)を学ぶ目的でKutner先生のApplied Linear Statistical Models(5th edition)を拾い読みし始めました。 前回は平方和と自由度の分割について、要因が1つの場合を使って確認しました。

necostat.hatenablog.jp

今回は要因が2つの場合の分散分析について、"Chapter 19: Two-Factor Studies with Equal Sample Sizes" を拾い読みします。

二元配置分散分析(Two-way ANOVA)とは

要因が1つだけのときは、要因の各水準(=グループ)の真の平均を  \mu_i としたセル平均モデル(cell mean model)を考えました。これは、次のように要因の各水準ごとの真の平均値をパラメータとして設定したモデルです(添字については分散分析(ANOVA):平方和と自由度の分割を参照してください。)。

 
\begin{aligned}
Y_{ik} &= \mu_i + \varepsilon_{ik} \\
\varepsilon_{ik} &\sim Normal(0, \sigma ^2) \\
\varepsilon_{ik} &\perp \varepsilon_{i'k'} 
\end{aligned}

要因が2つのときも同じようにセル平均モデルを考えることができます。例えば水準がa個ある要因Aと、水準がb個ある要因Bがある場合、全体ではa×b個の水準があることになりますので、a×b個の水準を持った1つの要因について一元配置分散分析を行うことができます。

でもこの方法だと、「a×b個の水準のどこかには違いがある」ということは分かっても、要因Aのa個の水準が全て等しい効果を持つか、ということは分かりません。そこで、a×b個の水準の平均値がそれぞれの要因の効果から導かれるモデルを考えます。このようなモデルを、セル平均モデルに対して因子効果モデル(factor effect model)と呼ぶようです*1

一方の要因の効果は他方の要因の状態によらず一定であると仮定する場合

最もシンプルなのは、あるセル(=2つの要因の組み合わせ)における平均値が、それぞれの要因の効果の和となっていると考えるモデルでしょう。このとき、一方の要因の効果は他方の要因の状態によらず一定であると仮定していることになります。

数式で表せば次のとおりです(観測値  Y_{ijk} との関係を表す式は前述のセル平均モデルと同じなので割愛)。

 
\begin{aligned}
\mu_{ij} &= \mu_{..} + \alpha_{i.} + \beta_{.j} \\
\sum_{i} a_{i.} &= 0 \\
\sum_{j} b_{.j} &= 0 \\
\end{aligned}

ここで、

  •  \mu_{ij} = \frac{ \Sigma_i \Sigma_j \mu_{ij}}{ab} :要因Aがi番目の水準で要因Bがj番目の水準であるセルの真の平均
  •  \alpha_{i.} = \mu_{i.} -  \mu_{..} :要因Aのi番目の水準が持つ効果
  •  \beta_{.j} =  \mu_{.j} - \mu_{..} :要因Bのj番目の水準が持つ効果

です。個々のセルの平均  \mu_{ij} が全体の平均 \mu_{..} = \Sigma_i \Sigma_j \mu_{ij} /ab に一致するように、α, βのそれぞれの和が0になるよう制約を設けています。

一方の要因の効果が他方の要因の状態に依存すると仮定する場合

例えば「ある治療の効果が男性と女性で異なる」のような状態がこれに相当します。この状態を「要因間に交互作用(interaction)がある」と表現します。数式で表すと以下のとおり。

 
\begin{aligned}
\mu_{ij} &= \mu_{..} + \alpha_{i} + \beta_{j} + (\alpha\beta)_{ij}\\
\sum_{i} \alpha_{i} &= 0 \\
\sum_{j} \beta_{j} &= 0 \\
\sum_{i} (\alpha\beta)_{ij} &=0 \\
\sum_{j} (\alpha\beta)_{ij} &=0
\end{aligned}

ここで、

  •  \mu_{ij} = \frac{ \Sigma_i \Sigma_j \mu_{ij}}{ab} :要因Aがi番目の水準で要因Bがj番目の水準であるセルの真の平均
  •  \alpha_{i.} = \mu_{i.} -  \mu_{..} :要因Aのi番目の水準が持つ効果
  •  \beta_{.j} =  \mu_{.j} - \mu_{..} :要因Bのj番目の水準が持つ効果
  •  \alpha \beta_{ij} = \mu_{ij} - \mu_{i.} - \mu_{.j} + \mu_{..}: 要因Aのi番目の水準と要因Bのj番目の水準の組み合わせにおける交互作用効果

です。

新たに交互作用の和に関する制約が加わっています。例えば  \sum_{i} (\alpha\beta)_{ij} =0 という制約は、要因Bのj番目の水準の平均について  \mu_{.j} = \mu_{..} + \beta_j が成立するために必要です。

平方和の分割

一元配置分散分析のときと同様、平方和(sum of squares, SS)を分割してみます。要因の各水準の組み合わせ(セル)には等しくn個の観測値が含まれるとして、i-j番目の水準のk番目の観測値と全体平均の差  Y_{ijk} - \bar{Y}_{...} は次のように分解できます。

両辺について \Sigma_i \Sigma_j \Sigma_k を取って、なんやかんや計算すると

 
\begin{aligned}
SSTO &= SSTR + SSE \\
&= SSA + SSB + SSAB +SSE
\end{aligned}
  •  SSTO = \Sigma_i \Sigma_j \Sigma_k (Y_{ijk} - \bar{Y}_{...})^2(全体の平方和)
  •  SSTR = n\Sigma_i \Sigma_j  (\bar{Y}_{ij.} - \bar{Y}_{...})^2(群間平方和)*2
  •  SSA = nb \Sigma_i (\bar{Y}_{i..} - \bar{Y}_{...})^2
  •  SSB = na \Sigma_j (\bar{Y}_{.j.} - \bar{Y}_{...})^2
  •  SSAB = n\Sigma_i \Sigma_j (\bar{Y}_{ij.} - \bar{Y}_{i..}- \bar{Y}_{.j.} + \bar{Y}_{...})^2
  •  SSE = \Sigma_i \Sigma_j \Sigma_k (Y_{ijk} - \bar{Y}_{ij.})^2(群内平方和)

が得られます。

自由度の分割

自由度(degree of freedom, df)も分割します。観測総数がnab, 要因群数がabなので、

  • SSTOの自由度:nab - 1
  • SSTRの自由度:ab - 1
  • SSEの自由度:nab - ab = (n-1)ab

となります。SSEの自由度は「それぞれの群内の観測数(=n)から群内平均の分(=1)を引いたもの(=n-1)がab群分ある」として解釈できそうです。

要因に関する自由度はさらに、

  • SSAの自由度:a-1
  • SSBの自由度:b-1
  • SSABの自由度:(a-1)(b-1)

に分割できます。上記を足し合わせると

 
\begin{aligned}
(a-1) + (b-1) + (a-1)(b-1) = (ab -1)
\end{aligned}

となり、SSTRの自由度に一致します。

分散分析表

平方和を自由度で割った平均平方和(mean square, MS)と合わせて表にまとめてみます。

分散分析では2つの平均平方の比が1からかけ離れているかどうかF分布をもとに計算します。 MSEは群内誤差の分散の推定値ですが、他の平均平方が推定するものは要因の効果をどのように仮定するか(固定効果・変量効果)によって変わります。この話はまた別の機会にまとめます。

おわりに

  • 固定効果・変量効果の話に入らなかったので二元配置分散分析の話としては中途半端になってしまいました。

*1:あまり使われてない名前のようですが、書籍の記載から勝手に訳しました

*2:TRはtreatmentから取っていますが「要因」で統一します