平方和分解の秘密

2ヶ月間ブログ更新をサボりました。
その間何をしていたかというと、統計についての本を書いていました。
アニモ出版社様より「統計データをすぐに分析できる本」というタイトルで出版されます。

統計データをすぐに分析できる本――社長から「コレを分析して」と言われても困らない!

統計データをすぐに分析できる本――社長から「コレを分析して」と言われても困らない!

内容はタイトルの通り、ジャンルはビジネス書です。学術書ではありません。
実際に本屋さんに出回るのは来年になる予定です年内になります。
この2カ月間、ブログに投入していたパワーを全部この本につぎ込みました。
その間、ブログコメントの返事をはじめ、あちこちへの返答を放りっぱなしにしていてすいません。
どうやら自分の書く出力に上限があることが分かりました。この状態は、今年いっぱい続く見込みです。

さて、今回のお題は「なぜ、平方和分解が成り立つのか」についてです。
これはもともと上の本に含めるはずだったのですが、話の流れ上不要になったのでカットした部分です。
そのまま捨ててしまうのも勿体ないので、以下に廃品利用します。

平方和分解とは、データのばらつきに関する公式の1つです。
ばらつきのあるデータを複数のグループに分けたとき、

 (全体の偏差平方和) = (グループ間の偏差平方和) + (グループ内の偏差平方和)

といった関係が成り立ちます。この関係が、分散分析の基礎となっています。

上記は「よくわかる多変量解析の基本と仕組み」という本から抜粋したものです。

図解入門よくわかる多変量解析の基本と仕組み (How‐nual Visual Guide Book)

図解入門よくわかる多変量解析の基本と仕組み (How‐nual Visual Guide Book)

なぜ、このような分解が成り立つのでしょうか?
本には数式による証明が書いてあるのですが、どうも直観的に納得がゆきません。

改めて平方和分解の式を見て下さい。

 (全体の偏差平方和) = (グループ間の偏差平方和) + (グループ内の偏差平方和)

これって何に似ているかと言うと、ピタゴラスの定理にそっくりです。

  c^2 = a^2 + b^2

実は、平方和分解の本質は、ピタゴラスの定理を多次元に拡張したものなのです。
2乗の和が分解できるときには、どこかに必ず直角三角形が潜んでいます。
データの数をうんと少なくして3個に絞れば、直角三角形を直接絵にすることができます。

※ 12/11 以下の記述は不正確でした。正しいものに差し替えました。
※ T_NAKAさん、コメントありがとうございます!


いま、A,B,C の3個のデータがあったとして、Aをグループ1に、BとCをグループ2に分けたとしましょう。


A,B,C3個のデータの平均値からの偏差 a, b, c を、3次元空間のX軸,Y軸,Z軸上にプロットします。
すると、上の図の右側のような絵になります。
X軸,Y軸,Z軸と言うより、A軸,B軸,C軸と言った方が分かりやすいかもしれません。
この右側の絵で色を付けた部分が「直角三角形」であり、
この「直角三角形」の上で成り立っているピタゴラスの定理が平方和分解の正体です。

なぜ、b^2 + c^2(オレンジ色の線)と、a(緑色の線)が直角に交わるのでしょうか。
それは、グループ内の変動と、グループ間の変動が「直交している」
〜 互いに相手に直接影響を及ぼさない関係になっているからです。
例えばグループ2の中で、BとCを、平均値を変えないまま変動させたとしても、
その変動はグループ2の中だけで完結し、グループ1には伝わらないでしょう。
グループ1から見た場合、影響が及ぶのはグループ2の平均値だけなのです。
グループ2の内部にどんな変動があろうとも、平均値が変わらない限り、
グループ1は知ったこっちゃないわけです。
変動が互いに影響を及ぼさないこと 〜 それが「直交する」ということの意味です。
そして、直交あるところにピタゴラスの定理が成立する、それが即ち平方和分解ということです。

参考までに、Aがちょうど平均値に等しくなった場合の図を付け加えます。

この場合、直角三角形がぺったんこに潰れてしまうので、かえって意味が分かり難いかもしれません。
このぺったんこに潰れた図から出発して、少しずつAの位置を平均値からずらしてゆけば、
データ変動が「直交する」様子がイメージできるものと思います。

データが4個以上になると4次元なので、普通の直角三角形を描くことはできません。
それでも「直交する」性質は残っているはずなので、努力と根性で何とかイメージしてください。
ではでは。


まず、平方和分解とはどのような計算なのか、具体的な数値データで確かめてみましょう。
* 少数データ2グループの平方和分解の様子 (Excelファイル)
http://brownian.motion.ne.jp/memo/SSSample.xlsx

以下は、2グループに2データずつの場合の様子です。

 全変動 = 50
 グループ内変動の和 = 34
 全変動 - グループ内変動の和 = 16
 一方、グループ間変動 = 8
ですから、グループ間変動 8 × データ数 2 = 16
となり、確かに平方和分解が成り立っています。

次に、データが3つの場合について計算してみましょう。

 全変動 = 38
 グループ内変動の和 = 32
 全変動 - グループ内変動の和 = 6
 一方、グループ間変動 = 4.5
なので、グループ間変動 4.5 × (4/3) = 6 ?!
この場合、平方和分解を成り立たせるには、データ数に相当する箇所に
謎のファクター (4/3) という数字をあてはめなければなりません。
この (4/3) という数字は何処から出てきたのか。
それを知るためには、先に「回帰分析におけるピタゴラスの定理」を見ておく必要があります。

直線による回帰分析では、次の等式が成り立ちます。
  (全データの平方和)=(予測値の平方和)+(残差の平方和)
平方和の意味をデータの変動のことだと解釈すれば、決定係数とは「全データ変動のうち、どれだけを予測値の変動が占めているか」であると見なせるでしょう。上の等式のように、データ変動を平方和に分解することを「平方和分解」と言います。では、なぜ平方和分解が成り立つのか。そのカラクリは、実はピタゴラスの定理によって理解できるのです。
話を簡単にするため、平面上に3個のデータA,B,Cがあるものとします。3個のデータの、平均値からの偏差をそれぞれa, b, cとします。また、平均値と予測値の差をそれぞれa^, b^, c^ としましょう。

この a, b, c と a^, b^, c^ を、以下のような平均値を原点とする3次元のグラフに描いてみます。

この3次元グラフの軸は、それぞれデータAの値、Bの値、Cの値を意味します。3次元グラフの上で、平均値、予測値、実データの3点を結んで三角形を作ると、予測値の頂点に相当する角は直角になります。なぜなら、残差には予測値の成分が全く含まれていないからです。あるいは、残差の長さが最も短くなるように予測値を決めた結果、角度が直角になったのだ、とも言えます。この直角三角形の上にピタゴラスの定理を当てはめれば、
  (全データの平方和)=(予測値の平方和)+(残差の平方和)
が成り立ちます。

「回帰分析におけるピタゴラスの定理」の本質は、予測値と残差が直行することにあります。
平均値→予測値ベクトルと、予測値→実データベクトルが直行するので、平方和分解が成り立つわけです。
※ ちなみに、上の囲みの部分が本から削り取ったボツ原稿です。
※ 一応、言い訳しておかないと本の売り上げに響きそうなので (^^;)

さて、上の回帰分析のピタゴラスの定理を、分散分析にあてはめるには、一工夫必要です。


この図は、データが3つの場合の、回帰直線と、グループ内平方和、グループ間平方和の関係を表したものです。
回帰直線は、ちょうど全データの平均点を通ります。
全データの平均点は、Aと、B+Cの平均を 2:1 に内分した点です。
図から三角形の相似を使って、
 ・予測値の平方和を求めると、a^ ^2 + b^ ^2 + c^ ^2 = 3/2 a^ となります。
 ・グループ間平方和を求めると、(2/3 a^)^2 + (2/3 a^)^2 = 8/9 a^ となります。
 ・予測値の平方和 -> グループ間平方和 に変換するには、(8/9 a^) ÷ (3/2 a^) = (4/3)
これが、上に示した謎のファクター (4/3) の正体です。

結局とのところ、「直角三角形」の概念は回帰分析の中にあったのです。
分散分析の図形的な理解は、安直に思った以上に複雑でした。あしからず。

※ 12/03 追加.「入門 多変量解析の実際」という本に、以下の図が載っていました。

この図は重回帰分析における予測値と残差の関係を表したものです。
この直角三角形こそが、分散分析の本質を突いたものだと私は思っています。

このように、原データ全体に依存していた分散Vyを、モデルで説明できる部分Vy^と、
説明しそこねた部分Veとに分解する、というロジックは、さまざまな統計解析に極めて広く出てくるものである。
広い意味では「分散分析の理論」といってもよいだろう。

入門 多変量解析の実際 第2版 (KS理工学専門書)

入門 多変量解析の実際 第2版 (KS理工学専門書)