3つ以上の平均値の比較(One way ANOVA)

女子学生:t検定は2つのグループ間の平均値の違いの有意性を調べることができるのはわかりました。でも、3つ以上のグループがあるときはどうするんですか?

男子学生:その場合はANOVA検定を使えばいいんですよね。

女子学生:ANOVAってどういう意味なんですか。

先生:ANOVAはAnalysis Of Varianceの略で、日本語では分散分析と訳されます。

女子学生:分散に関する分析ということですか。平均値の分析ではないんですか?

先生:平均値の違いに関する分析なんだけど、分散、つまりデータのばらつきを元に分析するからそういう名前がついてるんだ。この章では、この詳細を見ていきましょう。

ANOVAの基礎

ANOVA検定と一言で言っても実はいくつかのタイプのものがあります。まず、一般的で最もよく使われるものがOne-way ANOVA(一元配置分散分析)と呼ばれるものですが、これは1つの説明変数に含まれる複数のグループによる平均値の違いを分析するときに使われるものです。例えば3つの学校による平均点の違いを調べるときなどです。

これに対して2つの説明変数による平均値の違いを分析するのがTwo-way ANOVAと言われるものです。例えば3つの学校による平均点の違いを調べたいのですが、それぞれの学校では男女の割合が若干違います。その場合学校による違いなのか男女による違いなのかがよくわかりません。そこでこうした2つの変数による影響を同時に調べようとするのがTwo-way ANOVAです。

さらに3つ以上の変数による影響を調べるためのFactorial ANOVAなどといったものもあります。

また、同じ被験者(参加者)が 複数回の測定 を受ける場合に使用、時間経過や異なる条件での測定を分析可能

学生の試験成績を「開始前」「中間」「終了後」の3回測定し、スコアの変化を調べる。

この章では、その中でももっともシンプルな形のOne-way ANOVA(一元配置分散分析)の解説をしていきます。この章ではこのタイプの検定を単純にANOVA検定と呼びます。

学校の成績

あなたが調査している学区には3つの学校があり、それぞれの学校での生徒のテスト結果があります。

成績データ

それぞの平均値をチャートにしたのが以下のものです。

平均点を比べると学校Bが最も高く、その後にA、そしてCということになっています。さて、これらの差は意味のあるものなのでしょうか、それともただのデータのばらつきによる差なのでしょうか。これこそがここで私たちが知りたいことで、ここでANOVAを使うことができます。

帰無仮説

まずここでの、帰無仮説とは何でしょうか。これはt検定の時と似ています。t検定の時は2つのグループの間に差がない、正確には平均値が同じであるということでした。ここでのANOVAの場合は3つ、または3つ以上のグループの間に差がない、つまり平均値が同じだということです。

今度は対立仮説ですが、t検定のときは2つのグループの平均値には差があるということでした。今回のANOVA検定の場合はグループが3つ以上ある場合です。なので少しややこしく感じるかもしれませんが、実は単純です。3つのグループのうち少なくとも1つの平均値は他と異なるというものです。

さて、帰無仮説が差がないというものであったとしても、もちろん私たちはそんなことはないことは知っています。というのもデータはばらつくわけですから、たとえ3つのグループが同じだったとしても、若干は違いがある出るでしょう。

そこでそれら複数のグループの平均値の差は、同じ母集団からランダムに取り出した複数のグループ間の差と同程度なのか、それともそういった同じ集団からからでてきたという前提では説明しきれないほど大きい差なのかが問題となります。

そこで複数のグループ間の差の大きさが問題となるわけですが、その大きさをどうやって表せばよいでしょうか。t検定の時は、2つのグループ間の平均値の差を標準誤差で割ることで差を標準化した数値t値を算出し、このt値の大きさを持って判断しました。実はANOVAも基本は同じです。ただt値のようにグループが2つであればその差を求めればよいのですが、ANOVAの場合はグループが複数あるため単純に差と言ってもそれぞれの組み合わせ分あります。

そこでANOVAの場合は、差の代わりにそれぞれのグループの平均値のばらつきを使います。そしてそのばらつきがそれぞれのグループ内でのばらつきに対してどれだけ大きいのかをF値として算出し、この値がどれだけ大きいのかを判断します。

そこでF値を算出するための式は概念的に以下のようになります。

F値 = グループ間の平均値のばらつき / グループ内のばらつき

この仕組みをもう少し詳しくみていってみましょう。

グループ間の平均のばらつき

ここではさきほどの学校の例を使ってみていきましょう。以下のチャートはそれぞれの学校の平均点と全体の平均点を表したものです。

ここで私たちが知りたいのはそれぞれの学校の平均点が全体の平均点からどれだけばらついているのかということです。そこでこのばらつきを見やすくしたのが以下のチャートです。

そして私たちが知りたいのはそれぞれの平均値の全体の平均から平均してどれだけ離れているかを算出します。

それぞれのグループ間の違いが大きいのであれば、この数値は大きくなるでしょう。逆にグループ間の違いが小さいのであれば、それぞれの平均値と全体の平均値との差は小さくなるでしょう。しかし、この差が大きいか小さいかの判断は、データがどれだけばらついているのかによって変わってきます。

そこでそれぞれの学校の生徒のスコアを表したのが以下のチャートです。

見ての通りそれぞれの学校ではスコアにばらつきがあります。そこで先ほど算出した学校間の平均値のばらつきがこれらのそれぞれの学校でのばらつきに比べてどれだけなのかを判断したいのです。

つまり、グループ間のばらつき(正確には分散)がグループ内のばらつきに比べてどれだけ大きいかということです。

これを数式にしたのが例のF値を計算する式です。

F値 = グループ間の平均値のばらつき / グループ内のばらつき

さきほどグループ間のばらつきが大きいか小さいかは、それぞれの平均値が出てくる元となるグループごとのばらつきがどれだけ大きいのかによるという話をしました。例えば、先ほどのような平均値のばらつきが同じデータがあります。

しかしそれぞれのグループ内のばらつきは先ほどの例に比べてかなり小さかったとすると以下のようになります。

この場合は3つの学校の平均値はそれぞれのグループ内のばらつきが小さい分、そんなにばらつくことはなさそうです。

最初の例ではBとCのデータのばらつきには重なっている範囲が多く、学校Bでも学校Cの生徒に比べて同等か低いスコアであることもありました。しかし今回の例では学校Bと学校Cを比べた場合、Bのすべての生徒のスコアはCのだれよりも高いスコアとなっています。

これはAとCについても同じことが言えます。つまり、同じ平均値のばらつきでもそれぞれのグループ内のばらつきに比べて大きいか小さいかによって意味合いが変わってくるということです。

これは重要なポイントなので繰り返しますが、グループ間のばらつき(分散)がグループ内のばらつきに比べてどれだけ大きいのか、これこそが複数のグループに違いがあるのかどうかを判断するときに重要なポイントとなります。

同じグループ間のばらつきでも、グループ内のばらつきが大きいのであればそれは比較的小さいばらつきということになり、逆にグループ内のばらつきが小さいのであればそれは比較的大きいばらつきを意味します。

もちろん逆も然りです。つまりグループ内のばらつきが同じであれば、それこそグループ間のばらつきの大きさこそがそれが大きいのか小さいかの判断基準となります。

これこそがF値であって、それを求める式はグループ間の平均値のばらつきをグループ内のばらつきで割ったものとなるのです。

F値 = グループ間の平均値のばらつき / グループ内のばらつき

つまり、F値とはグループ間の大きさを「標準化」したものとも言えるでしょう。

自由度

2乗和の値を F 比にするためには,SS b とSS w の自由度を計算しなくてはなりません。自由度はある計算を行う対象の「データ」のサイズ(行数)から,そこで満たされなくてはならない「制約」の数を引いたものになります。

まずはグループ間のばらつきは、それぞれのグループの平均値に対して、全体の平均値からのばらつきを計算したものです。そこで計算の対象となるデータの数はグループの数であるG(この場合は3)であり、その際の制約は全体の平均値の数である1となります。(1個の制約)

グループ内のばらつきは対象となるすべてのデータ、つまりすべての行のそれぞれの値に対して、それぞれが属するグループの平均値からのばらつきを計算しています。そこで計算の対象となるデータのサイズはNで、その際の制約はグループの数である3となります。( G 個の制約)

それぞれの自由度は以下のようになります。

自由度が求まれば、後はグループ間のばらつきとグループ内のばらつきをそれぞれの自由度で割ることで、グループ間2乗平均とグループ内2乗平均を求めることができます。

最後に,グループ間2乗平均をグループ内2乗平均で割ることで F 比を求めることができます。

非常に一般的な話をすれば, F 統計量の背後にある考え方はとても単純です。大きな F 値は,グループ間のばらつきがグループ内のばらつきに比べて大きいことを意味します。ですから, F 値が大きければ帰無仮説を棄却する根拠が十分あることになるわけです。

さてこのF値が比較的大きいか小さいかがわかっただけではグループ間の違いが有意なのかどうかの判断はできません。私たちが知りたいのはその数値が帰無仮説を棄却できるほど十分に大きいのかどうかです。そこで必要となるのが、手元のデータから得られたF値かさらに大きい値が出るであろう確率を出してくれる確率分布です。

そしてこの確率分布をF分布と呼びます。そうです、統計学はクリエイティブな人たちが集まる世界ではありません。おかげで確率分布の名前、そしてその分布においてとる値の名前という点ではあまり混乱が起こることはありません。

同じ母集団から繰り返し複数(たとえば3つ)のサンプルを抽出し、複数の平均値のばらつきを計算し、それぞれのグループの中のばらつきを計算した上でF値を算出するということを繰り返した場合、そのF値のばらつきはF分布という確率分布に従うのです。

それでは、ここからは実際にExploratoryを使ってANOVA検定を行ってみましょう。そのさいにこれまでに説明したF値がどう計算されるのかも具体的にみていってみましょう。そうすることでANOVAの仕組みをより深く理解できるようになります。

Let’s do it!

結論から言うとここではP値が0.106、つまり10.6%なため、棄却水準を5%とすると帰無仮説を棄却できません。つまりこれらの学校の平均値には違いがないということになります。

このP値の根拠となるのはF値の列にある2.44という数値が、F分布という確率分布上のどこにあるかということです。それによって、この2.44かそれ以上に大きな数値が得られる確率を求めることができ、この値がP値となるからです。

このF値がF分布のどこに位置するかについては確率分布のタブの下で見ることができます。

仮説検定とは一度慣れてしまうとどれでも使い方、解釈の仕方、そして判断の仕方は同じものです。つまり、最初に説明変数と目的変数を定義し、統計量と言われる違いまたは関係性を表す数値、ANOVAの場合はF値を計算し、何らかの確率分布を使ってその統計量が得られる確率であるP値を計算し、棄却水準と比べて小さければ帰無仮説を棄却、そうでなければそのまま帰無仮説を受け入れつづけるという意思決定を行います。

そして統計量やP値の計算は今どきであれば統計やデータ分析ができるソフトウェアによって簡単に行うことができるので、実質私たちが行わなければいけないのは検定を実行し、出力されたP値を元に意思決定を行うのみとなります。

ただ、それだけだとあまりにもブラックボックス過ぎますので、ここから少しF値が実際に計算されるのかを具体的にみていってみましょう。

F値の計算

F値の計算過程はサマリ・タブの下で確認することができます。

すでに説明したようにF値とはグループ間の平均のばらつき(分散)の大きさをグループ内のばらつき(分散)の大きさで割ることで標準化した数値です。

<式のイメージ>

それではこのグループ間の平均の分散(ばらつきの平均)とグループ内のばらつきの平均がどう計算されるのかを順を追ってみていきましょう。

「第3章の分散と標準偏差」の章で触れた分散の計算を思い出してください。簡単に言うと、分散とは、全体の平均とそれぞれの値の差を計算し、それらを2乗したものの平均が分散、その分散のルート(または平方根)したのが標準偏差でした。ここではまさにこの分散の計算をグループの数分の平均というデータに対して、そしてグループ内のデータに対して行います。

グループ間の平均の分散の計算

まず、1行目は変数がSchoolと書いてありますが、この行がグループ間の平均値の分散に関する情報となります。分散を計算するにはまず全体の平均とそれぞれのグループの平均との差(偏差)を2乗して足し上げる必要があります。

3つのグループそれぞれの平均は以下のようになります。

学校 平均スコア
A 77.4
B 80
C 72.1

全体の平均値である76.5とそれぞれの平均の差を計算します。この値を偏差と呼びます。

学校 平均スコア 偏差
A 77.4 0.9
B 80 3.5
C 72.1 -4.4

次に、それぞれの偏差を2乗します。

学校 平均スコア 偏差 偏差の2乗
A 77.4 0.9 0.81
B 80 3.5 12.25
C 72.1 -4.4 19.36

あとはこれらの数値の平均を取ればいいので、単純に3で割りたいところですが、1つ気をつけなくてはいけないことがあります。というのは今回はそれぞれの生徒の数はちょうど同じなので気にする必要はないのですが、いつもそうとは限りません。そんなときには重み付き平均を計算する必要があります。重み付き平均はt検定のときにも触れましたが、それぞれのグループの人数を掛けて最後に全員の数で割るだけです。

学校 平均スコア 偏差 偏差の2乗 重み付け偏差2乗
A 77.4 0.9 0.81 8.1
B 80 3.5 12.25 122.5
C 72.1 -4.4 19.36 193.6

そしてこれらすべての重み付け偏差2乗を足し上げたものがグループ間の偏差の合計となります。

8.1 + 122.5 + 193.6 = 324.2

この値が2乗和の列の下に表示されている値です。

これは3つのグループ30人分の合計なので、これを全体の人数で割れば偏差の平均、つまり分散となります。ここで全体の人数で割りたいところですが、ここで一つ気をつけなくてはいけないのが、自由度です。データ量が多い時はあまり気にする必要がありませんが、データ量が少ない場合はデータの持つバイアスを調整するために、自由度を計算し、その数を使って平均値を計算すると言う話をt検定の時に話しましたが、ここでも同じです。

この場合、3つのグループ(学校)の平均なので自由度は3から1を引いた2となります。

3 - 1 = 2

そこで前述の2乗和の324.2をこの自由度の2で割った分散が2乗平均の列にある162.1となります。

2乗和 / (データの数 - 1) = 324.2 / (3 - 1) = 324.1 / 2 = 162.05

これが2乗平均の列にある162.1です。

グループ内の分散の計算

次にグループ内の分散の計算について見ていってみましょう。表の2行目は残差と書かれていますがこれがグループ内の分散に関するものです。

グループ内の分散はそれぞれのグループの平均値とそれぞれのメンバー(生徒)の値の差を計算し(偏差)、これらを2乗します。

これらの値の平均値を計算したいので、まずは合計を算出しますが1793.3となります。これが2乗和の列にある数値です。

これを全員の人数である30で割って平均、つまり分散を求めたいのですが、ここでもそのまま全員の人数30で割るのではなく、自由度を考慮する必要があります。

それぞれのグループから1を引くのですが、3つのグループがあるため単純に人数30から3を引いた27が自由度となります。

(10 - 1) + (10 - 1) + (10 - 1) = 30 - 3 = 27

そして先ほどの2乗和1793.3をこの自由度で割ると66.42となります。

1793.3 / 27 = 66.4185

F値の計算

グループ間の平均の分散とグループ内の分散が求まったのであとはこれらの比率としてF値を算出できます。グループ間の平均の分散をグループ内の分散で割ると2.4398となります。

162.05 / 66.4185 = 2.4398

これがF値の列の下の値です。

あとはこのF値が有意かどうかを見るだけです。自由度が2のF分布の確率分布を使うと、今回得られた2.44というF値かそれ以上の値が得られる可能性は0.1つまり10%ほどです。

ということは、棄却水準を5%(0.05)とした場合、10%は5%よりも大きいため、帰無仮説を棄却することができません。つまり、3つのグループの平均はそれなりに差があるものの、ここにあるデータからだけではその違いが有意だとは言えないということです。

Export Chart Image
Output Format
PNG SVG
Background
Set background transparent
Size
Width (Pixel)
Height (Pixel)
Pixel Ratio