t検定で比較できるのは2グループまでです。「3つの条件を同時に比較したい」という場面では一元配置分散分析(One-way ANOVA)を使います。製造ラインが3系統ある、添加剤の濃度を3水準で試した——そういうケースに対応できます。この記事では概念から Excel の操作手順まで、具体的な数値を使って解説します。
t検定との違い
「3グループあるならt検定を3回やればいいのでは?」と思うかもしれません。でも、それをやると第一種の過誤(本当は差がないのに差があると判定してしまうミス)の確率が膨らんでしまいます。
有意水準5%でt検定を3回行うと、少なくとも1回は誤って棄却する確率が約14%まで上がります。一元配置分散分析なら、3グループを1回の検定でまとめて比較できるので、この問題を回避できます。
t検定と仮説検定の基本的な考え方を押さえてから読むと、より理解が深まります。
変動の分解:分散分析の核心
分散分析の考え方は「データ全体のばらつきを、グループ間のばらつきとグループ内のばらつきに分ける」ことです。\[ S_T = S_A + S_E \]
- \(S_T\):総変動(全データのばらつき)
- \(S_A\):群間変動(グループ平均と全体平均の差によるばらつき)
- \(S_E\):誤差変動(各グループ内のばらつき)
グループ間の差が大きく、グループ内のばらつきが小さければ、「グループ間に意味のある差がある」と言えます。この比率がF値です。\[ F = \frac{V_A}{V_E} = \frac{S_A / \phi_A}{S_E / \phi_E} \]
\(V_A\)は群間分散、\(V_E\)は誤差分散、\(\phi\)は自由度です。F値が大きいほど、グループ間の差が誤差に比べて大きいことを意味します。
変動の分解:分散分析の核心
分散分析の考え方は「データ全体のばらつきを、グループ間のばらつきとグループ内のばらつきに分ける」ことです。\[ S_T = S_A + S_E \]
- \(S_T\):総変動(全データのばらつき)
- \(S_A\):群間変動(グループ平均と全体平均の差によるばらつき)
- \(S_E\):誤差変動(各グループ内のばらつき)
グループ間の差が大きく、グループ内のばらつきが小さければ、「グループ間に意味のある差がある」と言えます。この比率がF値です。\[ F = \frac{V_A}{V_E} = \frac{S_A / \phi_A}{S_E / \phi_E} \]
\(V_A\)は群間分散、\(V_E\)は誤差分散、\(\phi\)は自由度です。F値が大きいほど、グループ間の差が誤差に比べて大きいことを意味します。
具体例:3つの処理条件が製品強度に与える影響
処理条件A・B・Cの3グループで製品の引張強度(MPa)を4回ずつ計測しました。条件によって強度に差があるかを有意水準5%で検定します。
| 測定値 | 条件A | 条件B | 条件C |
|---|---|---|---|
| 1 | 52 | 61 | 55 |
| 2 | 55 | 58 | 60 |
| 3 | 49 | 65 | 57 |
| 4 | 54 | 60 | 58 |
| 平均 | 52.5 | 61.0 | 57.5 |
全体平均は \(\bar{x} = (52.5 + 61.0 + 57.5) / 3 = 57.0\) MPaです。
変動の計算
群間変動 \(S_A\)(グループ平均と全体平均の差の2乗和):\[ S_A = 4 \times \left[(52.5 – 57.0)^2 + (61.0 – 57.0)^2 + (57.5 – 57.0)^2\right] = 4 \times [20.25 + 16.00 + 0.25] = 146.0 \]
誤差変動 \(S_E\)(各グループ内の2乗和の合計):\[ S_E = (52-52.5)^2+(55-52.5)^2+(49-52.5)^2+(54-52.5)^2 + \cdots = 76.0 \]
自由度は群間 \(\phi_A = 3-1 = 2\)、誤差 \(\phi_E = 12-3 = 9\) です。\[ F = \frac{146.0/2}{76.0/9} = \frac{73.0}{8.44} \approx 8.65 \]
F分布表より自由度(2, 9)の臨界値は \(F_{0.05}(2,9) = 4.26\) です。\(F = 8.65 > 4.26\) なので帰無仮説を棄却。3条件の間に統計的に有意な差があります。
Excelで一元配置分散分析を行う手順
Step 1:データを入力する

列ごとに1条件のデータをまとめます。1行目に条件名(A・B・C)、2行目以降にデータを縦に並べます。
Step 2:データ分析ツールを起動する

「データ」タブ →「データ分析」→「分散分析:一元配置」を選択して「OK」をクリックします。データ分析アドインが表示されない場合の導入手順はExcelで分散分析の記事に書いています。
Step 3:入力範囲と設定を指定する

- 入力範囲:条件名を含むデータ全体を選択
- データ方向:「列」を選択
- 先頭行をラベルとして使用:チェックを入れる(条件名を含む場合)
- 有意水準:0.05
- 出力先:任意のセルを指定 or 新規ワークシート or 新規ブック
Step 4:分散分析表を読む
出力結果の「分散分析表」を確認します。今回の例では次のようになります。
| 変動要因 | 変動 (SS) | 自由度 | 分散 (MS) | F値 | P-値 | F境界値 |
|---|---|---|---|---|---|---|
| グループ間 | 146.0 | 2 | 73.0 | 10.95 | 0.004 | 4.26 |
| グループ内(誤差) | 60.0 | 9 | 6.67 | |||
| 合計 | 206.0 | 11 |
P-値(0.008)が有意水準(0.05)より小さいので、3条件の間に有意差があると判断します。
分散分析の後:どのグループ間に差があるか
分散分析で有意差が出ても、「どの条件とどの条件の間に差があるか」まではわかりません。それを調べるには多重比較法を使います。
多重比較法にはいくつか種類があります。選び方や計算手順は多重比較法とは?種類と選び方で解説しています。よく使われるのはTukey法・ボンフェローニ法・ホルム法です。
前提条件
一元配置分散分析を使うには3つの前提があります。
- 各グループのデータが正規分布に従っている
- 各グループの分散が等しい(等分散性)
- データが独立して得られている
正規性や等分散性が確認できない場合は、ノンパラメトリック版のクルスカルワリス検定が代替手法になります。
因子が2つある場合は二元配置分散分析を使います。PythonでANOVAを実装したい場合はPythonで分散分析をご覧ください。
分散分析を実施する前に必要なサンプル数を確認しておくと、実験設計がスムーズになります。計算方法はサンプルサイズの決め方|t検定・分散分析に必要なn数を参照してください。
まとめ
- 一元配置分散分析は3グループ以上の平均値を1回の検定で比較できる手法
- データ全体のばらつきを「群間変動」と「誤差変動」に分解し、その比(F値)で判定する
- P値が有意水準を下回れば、どこかのグループ間に差があると判断できる
- どのグループ間に差があるかは、続けて多重比較法で調べる
分散分析は「有意差の有無を確認する検定」で、多重比較は「どこに差があるかを特定する検定」です。セットで使うものと覚えておくと、実務での使い方がイメージしやすくなります。
分散分析で有意差が確認できたら、効果量(η²)を計算することで群間の差の大きさを数値で示せます。η²の計算手順は効果量(Cohen’s d・η²)の求め方で解説しています。

