読者です 読者をやめる 読者になる 読者になる

Rを通じて統計学を学ぶ備忘録ブログ

SPSSからRに移行したい私のような人向けのR解説ブログ兼学習用備忘録。

第57回 マルチレベル分析と分散分析

第57回はマルチレベル分析と分散分析について書きます。マルチレベル分析の理論を学ぶ中で、「級内相関」というものに出会います。級内相関の考え方は、分散分析の考え方に似ていると思ったので、分散分析をおさらいする復習回となります。詳しくは書きませんが、マルチレベル分析では以下のように、変数の分散を検討します。

変数の分散=集団レベルの分散+個人のレベルの分散

これが、分散分析の「平方和の分解」に似ていると思いましたので、復習を書こうと思った次第です。せっかくのシルバーウィークなので、無駄にグラフィカルに分散分析を復習していきます。以下、一元配置分散分析の説明となります。

 

□分散分析とは

 

分散分析とは、3群以上の平均値の比較を検討する際に用いる分析手法です。Analysis of Varianceを略してANOVAと呼ばれています。データが持つ誤差によるばらつきと、要因による変動を分離し、分散比を求めることで、要因の効果による変動の大きさを評価しようというものです。

wikipediaによると、データの分散成分の平方和を分解し、誤差による変動から要因効果による変動を分離する。次に、平方和を自由度で割ることで平均平方を算出する。そして、要因効果によって説明される平均平方を分子、誤差によって説明される平均平方を分母とすることでF値を計算する(F検定)。

 というわけです。分散分析について、わかりやすく書かれています。このブログを読み終わればの話ですが・・・それくらい時間と労力をかけて説明いたします。マルチレベルの方に時間を割くべきだと思いますが・・・

 

□分散分析の例〜鳥と豚と象〜

では、さっそく例をあげて分散分析を説明していきます。3,4,5kgの鳥が3羽、7,8,12kgの豚が3匹、15,17,19kgの象が3頭いたとします。今回の分析の目的は、鳥、豚、象の体重の平均値に差があるのかを検討することです。図にまとめると、以下のようになります。

f:id:teruaki-sugiura:20150920000033p:plain

鳥の平均値は「4kg」

豚の平均値は「9kg」

象の平均値は「17kg」

動物全体の平均値は「10kg」

となります。図解するために、各動物の体重分布(勿論、架空の分布像です)をのせています。では、ここからどのように分析していけばよいでしょうか。wikipediaの説明を参考にすると、要因の効果と誤差を分離するとありました。そこで、要因の効果をこう考えるのいかがでしょうか(こう考えたらどうでしょうと言いつつも、考えたのはFisher大先生です)。全体の平均を基準に設定し、各要因を引いてみると、「要因の効果による変動」と理解できそうです。つまり、象の平均は「17kg」だけれど、動物全体の平均は「10kg」なので、17kg-10kg=「+7kg」という数字は「象という要因の効果による変動」だ!!と考えるわけです。しかし、象の平均値は17kgなのですが、15kgの象がいたり、19kgの象もいるわけです・・・・つまり、象の体重も変動することがわかります。そこで、これを平均値のまわりに散らばる「誤差」だ!!と考えるわけです。なので、19kgの象が発生した背景には、そもそも他の動物よりも、象(要因)という動物の体重は重いんだけれども、全ての象が全部17kgではなく、その周辺を変動(誤差)するというメカニズムがあるのではないだろうか・・・つまり、以下のように考えます。

f:id:teruaki-sugiura:20150920000044p:plain

 さて、先が見えてきました。他の個体についても、同様のメカニズムにより発生していると考えると、以下のようにまとめることができそうです。

f:id:teruaki-sugiura:20150920000502p:plain

これが分散分析の基本的な考えとなります。「要因効果=意味のある変動」と「誤差=意味のない効果」に分離していきます。 各個体全てを書き下すと以下のような数式にまとめることができます。先ほどの19kgの象は行列式の右下です。

f:id:teruaki-sugiura:20150920001121p:plain

モデル式としてはこのように書けそうです。

f:id:teruaki-sugiura:20150920001248p:plain

さて、次のステップはどうしましょう・・・・その前に、この行列式をよく見てみると、要因効果(群間平均)は「各動物の平均から全体の平均を引いたもの」、誤差(群内変動)は「各個体から各要因の平均を引いたもの」。つまり、「偏差」を求めていることがわかります。「偏差」が得られれば二乗してみましょう(二乗しないと、正負相殺で0になってしまいますし・・・)。そして、合計してみましょう。偏差平方和の出来上がりです。 

f:id:teruaki-sugiura:20150920003103p:plain

要因(群間)の変動の総和=258

誤差(群内)の変動の総和=24 

この偏差平方和を自由度で割ってみると、平均平方(分散)を求めることができそうです。そして、その分散を比べてみると、要因の効果が大きいのか、反対に誤差の方が大きいかを評価することができそうです。言い換えると、要因の効果がないのであれば、それは誤差の効果によって、なくなってしまうだろうと、Fishers先生は考えたわけです。そのため、F値というのは、誤差効果に対する相対的な要因効果を評価しているわけです。今回の場合は、要因の効果は、誤差のおよそ32倍くらいあると評価されています。以下のような表にまとめることができます。

f:id:teruaki-sugiura:20150920003332p:plain

F値は、要因効果/誤差効果により算出され、今回は自由度(2,6)のF分布に従いますのでで、19.33となります。以上より、19.33<32.2となるので、動物の体重には差がある!ということがわかります。

計算式を見ればわかりますが、F値はシーソーのような関係にあります。

f:id:teruaki-sugiura:20150920004835p:plain

以上、天下り感は否めませんが、分散分析の説明はおしまいです。

 

 ◻︎平方和の分解

先ほどの説明では、以下のように表すことができると書きました。

f:id:teruaki-sugiura:20150920001248p:plain 

もう少し数学的に書くと

f:id:teruaki-sugiura:20150920000502p:plain

最終的には、これを2乗をして計算を進めましたが、そもそも二乗しても左右の関係は対等なままなのでしょうか。結論からいうと対等ですが・・・以下のようになります。

f:id:teruaki-sugiura:20150920010157p:plain

これを「平方和の分解 」といいまして、共分散分析、回帰分析、主成分分析など、様々なところで登場する重要な計算手法です。

以下の表は今回の計算過程をまとめたものです。なぜか、象が牛になっていますが、気にしないでください。元画像データ消えましたので、修正不可です。笑

f:id:teruaki-sugiura:20150920010514p:plain

F値の算出の仕方が、級内相関の考え方と似ている気がしたので、分散分析のおさらい回となりました。

次はマルチレベル分析に頑張ります。シルバーウィーク中になんとかまとめたい。

 

 

 

 

広告を非表示にする