分散分析(ANOVA)は、複数の群(グループ)の平均に差があるかどうかを判断するための統計手法です。
名前だけ聞くと難しそうに感じますが、実際には 「全体のばらつきを、群間のばらつきと群内のばらつきに分けて比較する」 という、とてもシンプルな考え方に基づいています。
この記事では、分散分析の原理を図解を使って直感的に理解できるように解説します。
特に、分散分析の最初のステップである「平方和の分解」は、構造をつかむと一気に理解が進む重要ポイントです。
分散分析は統計学の中でも応用範囲が広く、品質管理、実験計画法、データ分析など多くの場面で使われます。
高校数学で学ぶ「平均」「偏差」「二乗和」などの知識だけで理解できる内容なので、 統計を初めて学ぶ人や、数学の基礎を確認しながら進めたい人にも取り組みやすいテーマです。
この記事を読むと次のことがわかります。
- 分散分析とは何か
- 群間ばらつきと群内ばらつきの意味
- 平方和の分解(ST・SA・SE)
- 自由度の考え方
- F検定との関係
統計検定・QC検定・データ分析の実務にも役立つ内容です。
はじめて分散分析を学ぶ際には、原理が理解できず混乱するのでは?と思いますので(少なくとも私はそうでした)、この記事を読んでイメージをつかんでいただければと思います!
分散分析のイメージ
例えば、このような標本データがあったとします。

群1と群2と群3では、差がありそうです。
群1が一番小さく、群2が一番大きそうですね。
差がありそうなのですが、差があるかどうかはどうやって判断しましょうか?
こういう場面で、統計的に群間に差があるかどうかを判断する手法が分散分析です。
分散分析という名前のとおり、分散を使います。
使う分散は、群間の分散と郡内の分散です。
それぞれを標本データを使って計算して、両者の比較を行い、群間に差があるかどうかを判断します。
分散分析のステップ
分散分析のステップは大きく分けて3つあります。それぞれについて順番に説明します。

①平方和の分解
平方和は、ばらつきを示す指標です。
ばらつきとは、観測値や測定値が揃っていない程度のことです。

例えばこの5点は平均を中心にばらついていますよね。
平均から各点までの長さが長ければ、ばらつきが大きいですし、短ければ、ばらつきが小さいことを示します。
ここで、各点ごとではなく、全体のばらつきを示したい時には、この長さを二乗して足すということをします。
これを平方和と言います。

全データを用いて計算した全平方和は、群間平方和と群内平方和に分解することができます。
これを平方和の加法性と言います。
これ以降、全平方和のことをST、群間平方和のことをSA、郡内平方和のことをSEと表記します。
では、実際にデータを使って説明します。
群1から3点、群2から3点、群3から3点の標本をとってきたとします。
分散分析は、この構造モデルを使用すると理解しやすいです。

xが9つあるわけですが、それぞれについて、とりあえずこの式にあてはめて考えることにしましょう。
この構造モデルを使用するメリットは、後ほどわかりますのでご心配なく!

さて、これらの9つの点の全平方和STは、各xの値から全体平均µをひいた長さの二乗の合計で求まりますよね。
つまり、9つの式の左辺の二乗の合計が、全平方和STですよね。

αは、全体平均から各群の平均までの長さです。
この列の二乗の合計が、群間平方和SAなんです。

e は、各データから各群の平均までの長さです。
この列の二乗の合計が、群内平方和SEなんです。

さぁ、そろそろみえてきましたかね?
全平方和ST、群間平方和SA、群内平方和SE、登場人物が出そろいましたね!
実は、このように構造モデルで分解した各成分は、左辺の平方和の合計と右辺の平方和の合計が合致するという性質があります。

とはいえ、こういう話は理論だけだと まゆつばものに聞こえるかもしれません。
そこで、実際に具体的な数値を入れて計算し、本当に一致するのか確かめてみましょう!

9点の値がそれぞれこうだとすると、全体平均は5.1になります。
群1の平均は2.3、群2の平均は8.3、群3の平均は4.7です。
これを使って、全平方和ST、群間平方和SA、群内平方和SE を計算するとこうなります。

54.72と11.22を足すと、ちゃんと65.94となりますよね!
このように、分散分析における最初のステップである平方和の分解では、全平方和STを、群間平方和SAと群内平方和SEに分解します。
この例では、群間平方和SAが群内平方和SEに比べて明らかに大きいので、群間差ありと判断できそうですよね。
もし、各群の平均にあまり差がない場合には、群間平方和SAは小さく計算されます。
そして、群間平方和SAが群内平方和SEに比べて大きくなかったら、群間差があるとは言えないと判断します。
ここで、群間平方和SAがどれだけ小さかったら群間差があるとは言えないと判断し、群間平方和SAがどれだけ大きかったら群間差があると判断したら良いでしょうか?
②母分散の推定
その方法は、群間成分の母分散と群内成分の母分散の比較です。
よって、次のステップとしては、算出した平方和を使って母分散の推定を行う必要があります。
母分散は、平均平方(平方和を自由度で割った値)が推定値となります。

平均平方を計算するには、自由度が必要です。
全平方和STを計算する際に使った変数9つのうち、自由に決めることができるのは8つです。
だから全平方和STの自由度は8です。
群間平方和SAを計算する際に使った変数3つのうち、自由に決めることができるのは2つです。
だから群間平方和SAの自由度は2です。
自由度は、平方和と同じく加法性があります。
だから、群内平方和SEの自由度は8-2=6になります。
群間の平均平方は、群間平方和SAを自由度2で割って計算します。
群内の平均平方は、群内平方和SEを自由度6で割って計算します。
群間成分の母分散が大きければ群間の平均平方は大きくなり、群間成分の母分散が小さければ群間の平均平方は小さくなるのは事実です。
しかし、厳密には、群間の平均平方は群間成分の母分散そのものの推定値ではありません。
とはいえ、分散分析の導入段階では、そこは気にせずに、”とりあえず、群間の平均平方は群間のばらつきを表す量”くらいの理解にとどめておくのが良いと思います。
そのほうが、分散分析の概念を理解しやすいと思います。

厳密性を気にしすぎて学習が前に進まないのでは、本末転倒ですからね…
細かい部分は、後からゆっくり積み上げていけば大丈夫!
③母分散の比較
さて、最後のステップは、群間の平均平方と群内の平均平方の比較です。
平均平方の比較なので、ここで使用するのはF検定です。


検定統計量として、群間の平均平方÷群内の平均平方を計算し、F表と照らし合わせてp値が0.05よりも大きいか小さいかで、群間差があるかないかを判断します。


まとめ
この記事では、分散分析(ANOVA)の基本的な考え方と、 全体のばらつきを「群間の平方和」と「群内の平方和」に分解する流れを解説しました。
- 分散分析は複数の群の平均の差を調べる手法
- 平方和の分解(ST=SA+SE)が理解の核心
- 群間の平均平方と群内の平均平方の比がF値
- F値からp値を求めて群間差の有無を判断する
- 実務でも広く使われる重要な分析手法
この記事のYouTube動画はこちら

