※私は数学者ではありません。自分用のまとめとしてこれを書いています。楽しむ範囲でご覧いただければ幸いです。内容の正確性については専門家のサイトや動画、専門書等で必ず確認をお願いします。
* * *
前回、とてつもなく重要な概念である射影ベクトルについて学びました。大地のベクトル $\mathbf{b}$ に映される $\mathbf{a}$ の射影ベクトルは
$$\frac{\langle \mathbf{a}, \mathbf{b}\rangle}{\langle \mathbf{b}, \mathbf{b}\rangle}\mathbf{b}$$
射影倍率 $\|\mathbf{a}\|\|\mathbf{b}\|\cos\theta$ を分子に代入すると
$$\frac{\|\mathbf{a}\|\|\mathbf{b}\|\cos\theta}{\langle \mathbf{b}, \mathbf{b}\rangle}\mathbf{b}$$
$\langle \mathbf{b}, \mathbf{b}\rangle=\|\mathbf{b}\|^2$ を分母に代入すると
$$\frac{\|\mathbf{a}\|\|\mathbf{b}\|\cos\theta}{\|\mathbf{b}\|^2}\mathbf{b}$$
約分すると
$$\frac{\|\mathbf{a}\|\cos\theta}{\|\mathbf{b}\|}\mathbf{b}$$
分数部分を $\lambda$ とおくと、射影ベクトルは
$$\lambda \mathbf{b}$$
大地のベクトル $\mathbf{b}$ を $\lambda$ 倍したものが射影ベクトルです。ここまで書くと、勘のいい人は「固有値と固有ベクトルの関係に似てる!」と思わず叫ぶのではないでしょうか。固有値と固有ベクトルは多くの観測値から導かれる射影ベクトルのサマリーのようなものとみると面白いですね。固有値分解に限らず、線形代数は基底とスカラーに尽きるのですが… 今回はこの辺りの話をします。
* * *
情報のゲインとロス
これまで、相関行列を例に固有値分解をくりかえし紹介してきました。
$$\begin{pmatrix} 1 & \rho \\ \rho & 1 \end{pmatrix}=\frac{1}{\sqrt{2}}\begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}\begin{pmatrix} 1+\rho & 0 \\ 0 & 1-\rho \end{pmatrix}\frac{1}{\sqrt{2}}\begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}$$
1つめの固有値 $\lambda_1=1+\rho$ に対応するのは、右上に向かう45°線です。下図は、右上に向かう45°線を大地とみなして射影ベクトルを描いています。真上から照らすお日様によって、緑の大地に影が差しています。
オレンジベクトルの射影ベクトルに "ゲイン" と書いています。これはオレンジベクトルが持つ情報のうち、緑の大地に映じられた成分が射影ベクトルであることを意味しています。オレンジのうち大地に映じられていない成分(すなわち "ロス")は、このブログで "お日様ベクトル" と名付けた水色ベクトルです。
オレンジベクトル=射影ベクトル+お日様ベクトル
ですので
お日様ベクトル =オレンジベクトル-射影ベクトル
お日様ベクトル=ロス、射影ベクトル=ゲインですので
ゲイン=オレンジベクトル-ロス
ロス =オレンジベクトル-ゲイン
となります。いうまでもなく、ゲインは最大にしたいですし、ロスは最小にしたいです。高校数学の点と直線の距離で学んだように、ロスが最小(点と直線の距離が最短)になるのは、ベクトルの終点から直線に向かって垂直に線を下すときです。
内積と相関係数
平均がともに0である2種類のデータ $\mathbf{a}$ と $\mathbf{b}$ の相関係数を内積の記法を用いて書くと
$$\rho=\frac{\langle \mathbf{a}, \mathbf{b}\rangle}{\|\mathbf{a}\|\|\mathbf{b}\|}$$
射影倍率 $\|\mathbf{a}\|\|\mathbf{b}\|\cos\theta$ を分子に代入すると
$$\rho=\frac{\|\mathbf{a}\|\|\mathbf{b}\|\cos\theta}{\|\mathbf{a}\|\|\mathbf{b}\|}$$
とてつもなく不思議なことに、相関係数は $\cos\theta$ と等しくなります。
$$\rho=\cos\theta$$
さらに、とてつもなく重要なことは、この角度 $\theta$ は相関行列によって変換された $x$ 軸の基底と $y$ 軸の基底がなす角であるということです。相関行列によって変換後の $x, y$ 2軸のなす角、相関係数、固有値の関係をまとめると次のようになります。
- なす角90°:$\rho=0$、$\lambda_1=1$、$\lambda_2=1$
- なす角60°:$\rho=\frac{1}{2}$、$\lambda_1=1+\frac{1}{2}$、$\lambda_2=1-\frac{1}{2}$
- なす角45°:$\rho=\frac{\sqrt{2}}{2}$、$\lambda_1=1+\frac{\sqrt{2}}{2}$、$\lambda_2=1-\frac{\sqrt{2}}{2}$
- なす角30°:$\rho=\frac{\sqrt{3}}{2}$、$\lambda_1=1+\frac{\sqrt{3}}{2}$、$\lambda_2=1-\frac{\sqrt{3}}{2}$
- なす角0° :$\rho=1$、$\lambda_1=2$、$\lambda_2=0$
相関係数が0のとき、変換後の2軸がなす角は90°ですので、情報ゲインはありません。相関係数が1に向かって高まるにしたがい、変換後の2軸のなす角は小さくなり、射影ベクトルの影は伸びますので、情報ゲインは高まります。相関係数が1のとき、すべてのベクトルの終点が45°線上になりますので、情報ゲインが100%となり、情報ロスは0%になります。
(以前の記事からグラフを再掲しました)
相関行列による変換をくどいほど繰り返してきましたが、伏線回収できましたね。コーシー=シュワルツの不等式、$\cos\theta$、相関係数はみな同じものです。
主成分とは
統計学の分野に主成分分析というものがあります。この響きのよい名前をどこかで聞いたことがあるかもしれません。主成分とは、データからの情報ゲインが最大になる(=情報ロスが最小になる)成分です。
ベクトルが1つだけ置かれていた前節の図で情報ロスを最小にする大地ベクトルは、下図のように、傾きをオレンジベクトルと同じにしたものです。このとき、オレンジベクトルが持つ情報は大地に100%映じられます。情報ロスはまったくありません。
データが1つしかなければ、ゲインを最大にする大地ベクトルの傾きをみつけるのは簡単です。オレンジベクトルに合わせるだけです。しかし、私たちが実際に扱うのは100、1,000、多いときには1,000,000を超えるポイントを持つデータです。このとき、傾向線を引くのは難しくなります。たとえば、次のグラフは、2つの変数 $a$ と $b$ を500個ずつ観測して、関係を散布図にしたものです。
こうしたぼんやりとしか傾向が読み取れないデータから、射影ベクトルの合計が最長になり、ロスベクトルの合計が最短になるように選ばれるのが主成分です。情報ゲインを最大にするために影を伸ばせ! ということです。
主成分分析については…
- Hottelling, Harold, 1933, Analysis of a Complex of Statistical Variables into Principal Components, Journal of Educational Psychology, 24(6), 417–441.
- Hottelling, Harold, 1936, Relations Between Two Sets of Variates, Biometrika, 28, 3/4, 321-377.
- Girshick, M. A., 1936, Principal Components, Journal of the American Statistical Association, 31, 195, 519-528.
- 小林久高, 主成分分析 : 社会調査データの多変量解析(2), 同志社社会学研究, 26, 31-72, 2022年。
(私は同志社大学関係者でも小林先生でもありません。ciniiで検索したら出てきました。ゼミのレポートや卒業論文で主成分分析を利用する学生やゼミの教材を探している若手の先生にお勧めです。)