分散分析(ANOVA)について
統計検定の問題に出てきたが、ふんわりとしか知らなかったので、感覚的な理解から理論までしっかりと理解してみる。
分散分析(ANOVA)とは
分散分析(Analysis of Variance, ANOVA)とは、2標本の母平均に差があるかどうか検定するt検定とは違い、3標本以上もしくは一つのデータに2つの要素が含まれるものの母平均の差を検定する方法となっている。
分散分析にはF分布による検定(F検定)を行い、以下のような分散分析表というものを作っていく。列には各指標、行には因子と呼ばれるものを入れていく。
![](https://assets.st-note.com/img/1729173167-xyu5hWKlXmEfGBSjtpc9YbTn.png)
また、分散分析には以下のような種類があり、主に因子の数によって分類される。
一元配置分散分析:1つの因子からなるデータを分析する
二元配置分散分析:2つの因子からなるデータを分析する
多元配置分散分析:3つ以上の因子からなるデータを分析する
ここでいう「因子」とは、母平均に影響を与える(差を生ませる)ことのある要因のことで、例としては、クラスごとのテストの点数の平均の場合は「クラス」が因子の一つとなる。この因子の数で分類される種類によって、この後に書いていく分析方法も変わってくる。
一元配置分散分析
一元配置分散分析の理論と分析方法を確認していく。
平方和
一元配置分散分析では、(1)データ全体の平均からの各データずれを(2)データ全体の平均からの因子ごとの平均のずれと(3)因子ごとの平均からの各データのずれに分けて考える。
3つの独立した確率変数$${X_1, X_2, \dots, Xn}$$、$${Y_1, Y_2, \dots, Y_n}$$、$${Y_1, Y_2, \dots, Y_n}$$があり、それらをまとめて$${Z_{ij}, (i=1, 2, \dots, n; j=1,2,3)}$$とする。iはデータの数、jはグループの数を表しており、1, 2, 3はそれぞれX, Y, Zに対応する。そのとき、上記は以下のように表すことができる。((1)を$${S_T}$$、(2)を$${S_A}$$、(3)を$${S_E}$$とする)
$$
m = \frac{1}{3n} \sum_{i=1}^n \sum_{j=1}^3 Z_{ij} \\
m_j = \frac{1}{n} \sum_{i=1}^n Z_{ij} \\
S_T = \sum_{i=1}^n \sum_{j=1}^3 (Z_{ij} - m)^2 \\
S_A = \sum_{i=1}^n \sum_{j=1}^3 (m_j - m)^2 \\
S_E = \sum_{i=1}^n \sum_{j=1}^3 (Z_{ij} - m_j)^2
$$
$${S_T}$$を総平方和、$${S_A}$$を要因平方和、$${S_E}$$を残差平方和と呼び、$${S_T = S_A + S_E}$$という関係性が定義できる。ちなみに、この関係性の導出は以下のように行える。
$$
S_T = \sum_{i=1}^n \sum_{j=1}^3 (Z_{ij} - m)^2 \\
= \sum_{i=1}^n \sum_{j=1}^3 [(Z_{ij} - m_j) + (m_j - m)]^2 \\
= \sum_{i=1}^n \sum_{j=1}^3 [(Z_{ij} - m_j)^2 + 2(Z_{ij} - m_j)(m_j - m) + (m_j - m)^2] \\
$$
ここで、真ん中の$${\sum_{i=1}^n \sum_{j=1}^3 2(Z_{ij} - m_j)(m_j - m)}$$の部分は$${\sum_{j=1}^3 (m_j - m)}$$が0となるため、その部分も0となることが分かる。これは、全体の平均からと因子ごとの平均を全ての因子で足し合わせているため、0になるのは自明である。そうすると、
$$
S_T = \sum_{i=1}^n \sum_{j=1}^3 [(Z_{ij} - m_j)^2 + 2(Z_{ij} - m_j)(m_j - m) + (m_j - m)^2] \\
= \sum_{i=1}^n \sum_{j=1}^3 [(Z_{ij} - m_j)^2 + (m_j - m)^2] \\
= \sum_{i=1}^n \sum_{j=1}^3 (m_j - m)^2 + \sum_{i=1}^n \sum_{j=1}^3 (Z_{ij} - m_j)^2 \\
= S_A + S_E
$$
となり、$${S_T = S_A + S_E}$$という関係性が正しいことが分かる。
ちなみに、分散分析のF検定では、グループ(因子)内でのばらつきとグループ間でのばらつきの比を用いることで、グループ間のばらつきが有意にあるかどうかを見ている。
自由度
次に自由度を求める。
自由度は上記の $${ S_T, S_A, SE }$$ の式を見ると分かる。$${S_T}$$はすべてのデータ(3n個)から1を引いたもの、$${S_A}$$はグループ数(3個)から1を引いたもの、$${S_E}$$は$${S_T}$$の自由度から$${S_E}$$の自由度を引いたものになる。
つまり、自由度はそれぞれ
$${S_T : 3n - 1}$$
$${S_A : 2}$$
$${S_E : 3n - 3}$$
となる。
平均平方
次は平均平方を求める。
平均平方とは、各平方和($${S_T, S_A, S_E}$$)をそれぞれの自由度で割ったもので、その中でも検定に必要となるのは要因平方和と残差平方和のみとなる。それらを以下のような式で表す。
$$
MS_A = \frac{1}{2} \sum_{i=1}^n \sum_{j=1}^3 (m_j - m)^2 \\
MS_E = \frac{1}{3n-3} \sum_{i=1}^n \sum_{j=1}^3 (Z_{ij} - m_j)^2
$$
検定
ここまできたら、あとは検定統計量を算出してF分布を用いた検定を行うのみとなる。分散分析では、要因平均平方と残差平均平方の比(検定統計量)を使ってF分布での検定ができる。検定統計量Fは以下の式で表せる。
$$
F = \frac{MS_A}{MS_E}
$$
上記の検定統計量Fは自由度(2, 3n-3)に従うF分布となり、任意に定めた有意水準による判断を行うことで、帰無仮説が棄却される/されないの結果を結論づけることができる。
二元配置分散分析
次に二元配置分散分析の理論と分析方法を見ていく。
二元配置分散分析はその名の通り二つの因子が含まれるデータに対して用いる手法となっている。二つの因子の例を挙げると、 作物を育てる際にn種類の土とk種類の肥料の量の各パターンの標本があった場合、土と肥料の量がそれぞれ因子となる。
二元配置分散分析も一元配置分散分析と同じように、分散分析表を作って検定していく。その際に主に違う所は、要因平方和の数が増えたという所だ。一元配置分散分析では要因平方和は一つのみだったが、二元配置分散分析は各因子それぞれひとつづつ(2つ)と「交互作用」の合わせて3つ求める必要が出てくる。
平方和
平方和は以下のように定義する。
$${S_T}$$:総平方和
$${S_A}$$:因子Aの要因平方和
$${S_B}$$:因子Bの要因平方和
$${S_{AB}}$$:因子A, Bの交互作用の要因平方和
$${S_E}$$:残差平方和
二元配置分散分析の場合は、任意の因子A, Bに対して複数の標本があるため、なんと定義に総和が4つ連なるめちゃくちゃめんどくさい感じになっている。なので、文章での定義を書こうと思う… ただ、重要なのは交互作用があるというところなので、そこを覚えておけばそこまで一元配置分散分析と差はないので問題なし。
自由度
自由度は平方和に対して以下のようになっている。
総平方和:データの総数 - 1
因子A要因平方和:因子Aの数 - 1
因子B要因平方和:因子Bの数 - 1
因子A, Bの交互作用要因平方和:(因子Aの数 - 1)(因子Bの数 - 1)
残差平方和:総平方和 - 因子A要因平方和 - 因子B要因平方和 - 因子A, Bの交互作用要因平方和(*の自由度)
平均平方
平均平方は一元配置分散分析と同様で平方和を自由度で割ったものとなる。
検定
検定に関しても、一元配置分散分析と同様に各平均平方を残差の平均平方で割ることで検定統計量を算出でき、F検定を行うことができるようになる。
繰り返しのない二元配置分散分析
実は上記の二元配置分散分析は、任意の要因A, Bに対して2つ以上の複数の標本があった場合に限った分析方法となる(これを「繰り返しのある二元配置分散分析という」)。その理由は、任意の要因A, Bに対して1つしか標本が無い場合(これを「繰り返しのない二元配置分散分析」という)は残差が0になってしまうためだ。
では、繰り返しのない二元配置分散分析はどうしたらいいのかというと、交互作用を計算しないという選択肢を取る。これは、繰り返しのない場合は残差から交互作用を分離できないためだ(標本が1つしかないため)。
そうしたら単純に一元配置分散分析と同じように、因子A, Bそれぞれに対して平方和を求めた後にそれを使い残差を求め、検定統計量を出すというだけでになる。なので、交互作用の検定はできなくなる。