※私は数学者ではありません。自分用のまとめとしてこれを書いています。楽しむ範囲でご覧いただければ幸いです。内容の正確性については専門家のサイトや動画、専門書等で必ず確認をお願いします。
* * *
前回、単位円内を終点とするベクトルに働きかけたとき、行き先がどこになるのか考えました。相関行列の働きかけにより、単位円(真円)は傾いた楕円に押しつぶされ、究極的には45°線になりました。
今回は、この押しつぶしと傾きの尺度(ぺしゃんこの尺度)とも言うべき、固有値と固有ベクトルを紹介します。文系の私たちも、ゼミナールや演習科目で主成分分析をしたり、証券ポートフォリオの効率的フロンティアを描いたりする機会があります。そうした場面にも幅広く応用されます。
少々天下り的な説明になりますが、計算結果と図表を対応させることでイメージは掴めるのではないかと思います。
* * *
私たち文系にとって、固有値と固有ベクトルは次のようなものです。
- 固有ベクトル:行列の働きから向きを取り出したもの
- 固有値:行列の働きから強さを取り出したもの
ここでは、相関行列を例に固有ベクトルと固有値についてみます。
$$\begin{pmatrix} 1 & \rho \\ \rho & 1 \end{pmatrix}$$
* * *
固有ベクトル
下図は前回のグラフです。私たちが中学生の頃から慣れ親しんだ座標平面は、相関行列の働きによって反時計回りに45°回転します。座標平面の横軸は左下から右上に向かう線に、縦軸は左上から右下に向かう線に45°ずつ回転します。
このことから、相関行列の固有ベクトルは、原点から右上45°に向かう長さ1のベクトルと、原点から右下45°に向かう長さ1のベクトルの2本であることがわかります。
まず、右上45°に向かう固有ベクトルについて考えます。45°は、小学生のとき使った太っちょの三角定規の底辺と斜辺を挟む角度です。したがって、固有ベクトルはこの三角定規の斜辺にそって原点から1進むベクトルになります。
太っちょの三角定規の3辺の長さの比は横:縦:斜辺$=1:1:\sqrt{2}$ ですが、固有ベクトルの長さは1ですので、斜辺の長さが1になるように調整します。すると
横:縦:斜辺 $=\frac{1}{\sqrt{2}}:\frac{1}{\sqrt{2}}:1$
これで、原点から右上45°に向かう固有ベクトルの終点の座標は $(\frac{1}{\sqrt{2}}, \frac{1}{\sqrt{2}})$ だとわかりました。よって、1つめの固有ベクトルは
$$\begin{pmatrix} \frac{1}{\sqrt{2}} \\ \frac{1}{\sqrt{2}} \end{pmatrix}$$
つづいて、右下に向かう固有ベクトルについて考えます。原点から右下45°に向かう長さ1のベクトルの終点の座標は $(\frac{1}{\sqrt{2}}, -\frac{1}{\sqrt{2}})$ です。よって、2つめの固有ベクトルは
$$\begin{pmatrix} \frac{1}{\sqrt{2}} \\ -\frac{1}{\sqrt{2}} \end{pmatrix}$$
2つの固有ベクトルをくっつけ、共通の係数 $\frac{1}{\sqrt{2}}$ を行列の外に出すと
$$\begin{pmatrix} \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} \\ \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}} \end{pmatrix}=\frac{1}{\sqrt{2}}\begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}$$
この行列は、私たちが慣れ親しんだ横軸と縦軸からなる座標平面に相関行列を働きかけると、反時計回りに45°傾くことを表します。固有ベクトルは、行列に備えられた向きの働きを浮かび上がらせます。
* * *
固有値
前回、相関行列に入力される相関係数が0から1へ大きくなるにしたがい、500個の◯の分布は単位円(真円)から楕円に押しつぶされることをみました。前回のグラフを再掲します。
左上:$\rho=0.2$、右上:$\rho=0.4$、左下:$\rho=0.6$、右下:$\rho=0.8$
楕円の長半径(右上45°に伸びる長いほうの半径)は、真円である単位円の1からしだいに伸び、相関係数が1のとき2になります。短半径(右下45°に伸びる短いほうの半径)は、単位円の1からしだいに縮み、相関係数が1のとき0になり消滅します。
長半径への引き伸ばし倍率を $\lambda_1$、短半径への収縮倍率を $\lambda_2$ とおきます。$\lambda_1$ と $\lambda_2$ を $\rho$ による最もやさしい式で表すと
$$\lambda_1=1+\rho, \qquad \lambda_2=1-\rho$$
$\lambda_1$ は $\rho$ が0のとき1であり、$\rho$ が1に近づくにしたがい2に近づきます。これは長半径の引き伸ばしの特徴をうまく捉えています。同様に、$\lambda_2$ は $\rho$ が0のとき1であり、$\rho$ が1に近づくにしたがい0に近づきます。これも短半径の収縮の特徴をうまく捉えています。実は、これが行列に備えられた強さを取り出す固有値です。
右上45°に向かう固有ベクトルは相関係数が大きくなるにしたがい強く(倍率が高く)なり、右下45°に向かう固有ベクトルは相関係数が大きくなるにしたがい弱く(倍率が低く)なります。
2つの固有値の和は、相関係数の値によらず、元の相関行列の対角要素の和である2に等しくなります。相関係数が0から1に近づくにしたがい、↘︎成分が↗︎成分に吸い取られるイメージです。相関係数が1のとき、↘︎成分は完全に↗︎成分に吸い取られます。
左上の対角要素に $\lambda_1$、右下の対角要素に $\lambda_2$ をもつ行列を作ると次のようになります。大変興味深いことに、相関行列では非対角要素にあった $\rho$ が対角要素に来ています。
$$\begin{pmatrix} 1+\rho & 0 \\ 0 & 1-\rho \end{pmatrix}$$
* * *
固有値分解
ここまでで、行列の働きから向き(傾き)を取り出したものが固有ベクトルであり、強さ(伸縮)を取り出したものが固有値であることがわかりました。元の行列に混在している向きと強さの2極を "電気分解" で取り出す作業を固有値分解といいます。
下式は相関行列を固有値分解したものです。(右辺の左右の行列は同じにみえますが、右の行列は左の行列の逆行列です。対称かつ直交な行列ですので、元の行列=転置行列=逆行列となります。)
$$\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}$$
係数 $\frac{1}{\sqrt{2}}$ が2つありますので、掛けて $\frac{1}{2}$ にしてしまいましょう。
$$\begin{pmatrix} 1 & \rho \\ \rho & 1 \end{pmatrix}=\frac{1}{2}\begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}\begin{pmatrix} 1+\rho & 0 \\ 0 & 1-\rho \end{pmatrix}\begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}$$
この等式が成り立つか確かめてみます。右辺の3つの行列の積は、はじめの2つを掛け、その結果に一番右の行列を掛けて求めます。まずはじめの2つの行列を掛けます。
$$\begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}\begin{pmatrix} 1+\rho & 0 \\ 0 & 1-\rho \end{pmatrix}=\begin{pmatrix} 1+\rho & 1-\rho \\ 1+\rho & -(1-\rho)\end{pmatrix}$$
この計算結果に一番右の行列を掛けます。
$$\begin{pmatrix} 1+\rho & 1-\rho \\ 1+\rho & -(1-\rho) \end{pmatrix}\begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}=\begin{pmatrix} 2 & 2\rho \\ 2\rho & 2 \end{pmatrix}$$
係数 $\frac{1}{2}$ を行列の4つの要素それぞれに掛けると
$$\begin{pmatrix} 1 & \rho \\ \rho & 1 \end{pmatrix}$$
相関行列は、固有値からなる対角行列と固有ベクトルからなる行列に分解できることがわかりました。
* * *
固有(eigen)の由来
固有ベクトル、固有値の固有はドイツ語の eigen に由来します。20世紀のはじめ頃には proper という語も使われていたようですが、より的確な表現として eigen が用いられるようになりました。確かに、相関行列には単位円内を終点とするすべてのベクトルを、45°線に向ける力があります。これが相関行列固有の向き(固有ベクトル)です。そして、右下45°へ向かう力は次第に右上45°へ向かう力に吸い取られ、究極的には右上45°に向かう力に統合されます。これが行列固有の強さ(固有値)です。
eigenは、行列を基底変換しても変わらないことを表しているようです。(志賀浩二『固有値問題30講』数学30講シリーズ10, 朝倉書店pp.40-41)
eigenは、行列を基底変換しても変わらないことを表しているようです。(志賀浩二『固有値問題30講』数学30講シリーズ10, 朝倉書店pp.40-41)
固有値分解は、どのテキスト、どのウェブサイトを見てもとても難しく書いてあります。おそらく、この記事のように相関行列を例にとるのが最もやさしいと思います。それでも結構大変でしたよね…
* * *
「で、これ何?」
というのがほとんどの人の本音ではないでしょうか。そこで、最後に固有値分解の意味についてまとめておきます。
- 固有ベクトル:行列の働きから向きを取り出したもの
- 固有値:行列の働きから強さを取り出したもの
行列の働きを傾き(向き)と強さ(倍率)に二極分解するのが固有値分解です。
もっと知りたい人はこちらへ…
(リンク先の人は私ではありません)