【分散分析とは?】その原理を図解で理解してExcelの分析ツールで計算してみる
ある物流会社では毎日約50台のトラックの配車を3人で行っています。
各人が配車したトラックの積載率の毎日の平均を調べました。
10日間の結果は次の通りでした。
3人の実力には違いがあると言えるでしょうか?
分散分析とは?
3年A組と3年B組で同じ数学のテストをした時に、2組で点数の差があると言えるかどうかを調べたい時にはz検定やt検定を使います。
しかし、3年C組も合わせた3組で点数の差があると言えるかどうかを調べたい時にはz検定やt検定は使えず、分散分析を使います。
つまり、z検定やt検定は2組の検定にしか使えず、3組以上で検定するには分散分析を使います。
分散分析という名前ですが、グループ間で差があると言えるかどうかを調べるという目的はz検定やt検定と同じ、違いはグループの数だけだと思っておいて大丈夫です。
冒頭の例では3人の成績に差があるかどうかを調べますので、分散分析をすることになります。
分散分析の原理
それではこれから分散分析のやり方を、冒頭の例を使ってスーパーわかりやすく説明していきます。
まず、各スタッフのデータの平均と標準偏差を求めます。
各スタッフのデータはそれぞれ正規分布に従うと考えられますので、ヒストグラムにすると次のようなイメージになります。
つまり、3つの山が重なり合っているイメージです。
しかも山の広がり方は標準偏差によって異なります。
Aさんの山(分布)は平均が77ですので左側にあり、標準偏差が2.1ですので幅の狭い山です。
これに対してCさんの山は平均が81ですので右側にシフトしており、標準偏差も4.6と大きいので幅の広い山です。
これらの山同士が近ければ各スタッフのデータに違いがないと言え、離れていれば違いがあると言えます。
各スタッフの平均値のばらつきを求める
山同士が近いか離れているかを測るのに、どのような指標が有効でしょうか?
そう、分散です。
【分散の重要性がわかる具体例!】スーパーの一列待ちの効果を検証する
いくつかのデータがある時に、それらのデータの散らばり度合いを測る指標が分散でしたね。
ですので、各山の平均値の分散を計算すれば、山同士の散らばり度合いを測ることができます。
ここでの注意点は分散は不偏分散を使っている点です。
不偏分散では自由度がn―1(データ数―1)になります。
【標準偏差はnで割るの?n-1で割るの?】物流における適用例も紹介
また分散から偏差平方和を求めています。
偏差平方和というのは(平均―データ)2をすべてのデータについて足し合わせた値です。
たとえ分散が同じ値でも、10個のデータの分散なのか100個のデータの分散なのかで偏差の絶対量は違ってきます。
ですので、分散にデータ数を掛けて偏差平方和も求めておきます。
この場合は全体の分散を求める時の自由度が2で、かつ2つの平均は10個のデータから計算されていますので、データ数は20になります。
従って分散0.05に20を掛けた0.95が偏差平方和になります。
これが、3人の平均値のばらつきになります。
このばらつきは大きければ大きいほど3人の実力差があるということです。
同一スタッフのデータのばらつきを求める
ところで同じスタッフが配車を行っても、日によって当然ばらつきは出ます。
このような同一スタッフによるデータのばらつきはどのように測れるでしょうか?
そうです、これも分散です。
しかもこの場合は、各スタッフの10個のデータについてそれぞれ分散を求めればOKです。
次のように計算できます。
この場合もデータ数も考慮した偏差の絶対量を求めるために偏差平方和も求めています。
それぞれの不偏分散の自由度は9(10個のデータから計算しているのでn-1は9)ですので、不偏分散に9を掛けて偏差平方和を求めます。
そしてそれらを合計すると2.85になります。
これは、同じスタッフが配車しても、日々の条件によって配車台数が変動することを数値化したものです。
2つのばらつきをF検定で比較する
今求めた2つのばらつきを使うと、
3人の平均値のばらつき>同じスタッフのデータのばらつき
であれば、3人の実力差があると言えますね。
実際、これが分散分析です。
データのばらつきを比較するにはどうすればよいでしょうか?
そう、F検定を使います。
【F検定の使い方】需要の変動係数を検定してカテゴリー分けする方法をExcelで
簡単にF検定をおさらいすると、片方の不偏分散がσ12で、もう片方の不偏分散がσ22である時、F値σ12/ σ22を計算して、それがF分布のグラフの端に位置すれば2つの不偏分散は違うと言えるのでした。
ですので、まずは先に計算した偏差平方和を不偏分散に直します。
不偏分散は偏差平方和÷n―1で計算します。
【スーパーわかりやすく!】不偏標準偏差を求めるにはn-1で割ることを証明する
まず3人の平均値のばらつきを表す不偏分散は3つのデータ(3人それぞれの平均値)から計算しているので、データ数は3となり、n―1は2です。
次に同じスタッフのデータのばらつきを表す不偏分散は、各3人の不偏分散は10個のデータから計算しているのでn―1は9、これが3人分あるので27です。
従って
σ12=3人の平均値の不偏分散=0.95÷2=0.47
σ22=同じスタッフの不偏分散=2.85÷27=0.105
になります。
よって
F値=σ12/σ22=0.47÷0.105=4.5
となります。
このF値が累積F分布のどこに位置するのかはF.DIST関数で計算できます。
F.DIST(F値、分子の自由度、分母の自由度、TRUE)
=F.DIST(4.5, 2, 27, TRUE)
=0.98
これは0からこのF値(=4.5)までの間に、98%のデータが含まれることを意味します。
通常、F値が95%までの間にある場合に差異なしとみなします。(=有意水準5%)
95%に相当するF値は計算してみると3.35ですので、4.5ということはもはや2つの分散は同じとは言えないことになります。
つまり、3人の実力差はあると考えるのが妥当だということです。
Excelの分析ツールを使って分散分析をしてみる
このように実際にやってみると、分散分析の計算はそれほど難しくはありませんが、自由度の考え方が少し厄介で、間違いの元です。
でも安心して下さい。
Excelの分析ツールを使えば一発で計算できます。
データ⇒データ分析⇒分散分析:一元配置⇒OKをクリックします。
すると設定画面が現れますので、下記のように入力します。
すると即座に次のような表ができます。
観測された分散比がF値のことで、P-値がそれに対応する(1-累積確率)です。
ご丁寧にも判断の基準となる95%点のF値も表示してくれています。(=3.35)
その他にもいろいろな値が表示されていますが、下記のようにすべて先ほど計算した値です。
まとめ
分散分析とはデータのばらつきを
それぞれのグループの平均のばらつき
と
グループ内のデータのばらつき(誤差)
に分解し、2つのばらつきをF検定することです。
こうすることにより、グループ間の平均値に差があるかどうかを検定することができます。
z検定やt検定は2つのグループの平均値しか検定できませんが、分散分析は3つ以上のグループの検定ができます。
これはグループの数がたとえ100個あったとしても、たった2つのばらつきに分解してF検定するだけなので、グループの数に依らないためです。