趣味の統計

心理統計のはなし(偏差への偏愛ともいう)。Web上に散らばっている「アンケート」へのつっこみ。その他。

分散公式から学んだこと(4)

前回まで

第1回では、分散定義式から分散公式が本当に導けるのか?について、学び始めの頃に感じていた疑問について書きました。
第2回では、観測値の合計と平均値のn倍が一致する、という、言われてみれば当然の式変換を使うと、ちゃんと分散公式が導けることについて書きました。
そして第3回では、四捨五入した平均値を使って分散(の近似値)を計算すると、四捨五入で丸めた分の2乗だけ、正しい分散よりも大きくなるんだよ、ということについて書きました。
今回は、このことが分散分析の理解へとつながっていたことについて書きます。便宜上、別の仮想データを使います。

仮想データと分散

データはこれを使います。
 -1,1,3,-2,3,-2,2,1,1,0,3,3,3,2,0,1,0,3,3,2
平均値は \bar x = 1.3、分散はV(x)=2.71標準偏差s(x)=1.65です。
さて、このデータに対して、平均値の推定(1変数のt検定)を行います。基準値は0です。分析ツールHAD(Version 18.002)で分析した結果は次の通りです。

(注:HADが不偏分散の平方根標準偏差として使用しています。検算される際にはお気を付けください。)
え? これがどうしたん? と思いますよね。

検定結果を日本語訳する

この検定結果を日本語に訳してみます。t値は3.44、p値は0.003ですから、1%水準で有意です。これはつまり、

えーと。
「このデータは平均が0だよね、平均が1.3とか言っているけど、それはたまたまだよね」帰無仮説さんは言っているみたいですね。わかります。帰無仮説さんは、0がお好きなんですよね。よく存じております。
でもねえ、残念ながらですねえ、t検定の結果ですねえ、「平均が0の母集団からサンプルサイズ20で標本を取り出した時に、平均が1.3以上になる確率って、たっっっっっっったの0.3%しかないのだぞ」と、t様はおっしゃっているんですねえ。はい、残念ですねえ。今回はt様のおっしゃるとおりということで。帰無仮説さんは棄却ということで。
ごきげんよう

仮説検定の謎なキャラ設定については好きなようにつっこんでいただくとして、先に進めます。

もし平均が0だとしたら

帰無仮説さんの言うことをとりあえず取り入れて、平均が0だと仮定してみましょう。そうすると、分散は2.71ではありません。どれだけ大きくなりますか? 第3回までをお読みいただいた方は即答できますね。
平均を0だと仮定するということは、正しい平均と1.3だけずれています。ですから、1.3の2乗、つまり1.69だけ大きくなり、4.4になってしまいます。これってつまり、こういうことです。

帰無仮説さんの言う通り、平均を0だと仮定してみたけど、そうしたら分散が4.4になっちゃった。Xさんが主張する分散よりも1.69も大きいじゃないか。これは不当だ。不当に分散が大きくなりすぎている。平均が0だなんて、絶対に認めないぞ!

ね、わかりますよね。不当に分散が大きくなってしまったら、データXさんの立場がない。「そんなにとっ散らかってないもんね!」という、魂の叫びが聞こえそうです。試しに計算してみると、本来の分散は2.71、平均が0だとした(つまり帰無仮説さんが主張する、偽の)分散は4.4。なんと、1.6倍以上になっているんですね。そりゃ怒るでしょう。

分散分析って結局

この考えを反芻しているうちに、私は気づきました。
これって分散分析じゃん?(似てると思うぞ・・・)
わかります?
私は最初、分散分析って、なんかとっても複雑なイメージで理解してしまったのですが、整理すると、「僕たちの平均値を返せ!」っていう発想なんだと思います。
もう少し説明します。
データを集めて全体の平均値を計算します。でも、それは仮の計算であって、本来は、「群」ごとの平均値を計算して、「ほら、ちゃんと統計的に平均値に差があるでしょ」ということを示したいのが分散分析です。話を単純にするために2水準で書くと、「スマホの使用時間が長い人」よりも「スマホの使用時間が短い人」のほうが、「睡眠満足度が高い」でしょ、みたいに主張したい。(これだけならt検定を使うのが普通ですが、分散分析で行っても同じ結果になります)
当然、2つの群では満足度の平均値が異なるのですが、最初は全体平均を使って分散を計算するので、どっちの群も分散は大きくなりすぎるのです。だって、自分たちの群の平均値と「ずれている値」である、全体の平均値を使っているんですから。「全体の平均なんか使ってないで、ちゃんと群ごとの、僕たちの平均値を使ってよ!」と、それぞれの群は叫ぶのです。「僕たちの平均値を返せ!」ってね。
その後で、分散分析を実行します。すると、「なるほど、君たちの言う通りにすると、分散は小さくなるね。ほら、こんなに小さくなったよ」めでたしめでたし。この「小さくなった分」の分散が、分散分析でいうところの「群間平方和」で、群ごとの平均値を使うことでどれくらい効果があったのか(どのくらい分散が小さくなったのか)を定量的に示すのが「分散説明率=決定係数R^2」なのです。
さて、話はつながったでしょうか?
さきほどの1変数t検定と、上で例示した分散分析の共通点は何かというと、「本来の平均値からずれた値を使ってしまうと、分散は不当に大きくなりすぎる。」ということでした。その「不当に大きくなった」分をもとにもどすと、分散は小さくなります。どれくらい小さくなった?という指標が分散説明率(=決定係数)でした。つまり、1変数のt検定は、この分散分析の考え方を、部分的に示していてくれたのです。ただし、決定係数の考え方を使って、1変数のt検定を実施することはできません。あくまでも「考え方が似ている」ということを伝えたいのです

決定係数R^2の計算

決定係数の計算は、基本的には単純です。小さくなった分の分散が、一番初めの分散の何%であるかを示せばいい。なので、
決定係数=群間平方和÷全平方和
です。「全平方和」は、「全体の平均値」を使って求めた平方和です。平方和とは、偏差の2乗を合計した値です。これをサンプルサイズで割ると分散になりますが、その直前の値ですね。
「群間平方和」とは、「全体の平均値」と「群の平均値」との差を2乗して合計したもの。「正しい平均値(群の平均値)からずれているぶんの2乗だけ、分散は大きくなるね」ということを第3回で書きましたが、まさしくその値がここに出てきます。

分散公式との格闘を終えて

分散の公式に対する「?」を感じたのが、学び始めた2014年。そうか、これって分散分析について考えていたんだ、ということがわかったのが、いつだったか忘れましたが、学び始めてから数年たっていたように思います。これだけの迷子経験を経て、私はやっと、分散分析と少し和解することができたように思います。
分散分析ってわからーーん!といって戦っている方の、少しでもお役に立てたかなあ。そうだといいけれど。