特異値分解入門(2)
May 21, 2010
ここで相関行列- 成分
は実数
- 対称行列
- 半正定値
- 対角成分
- 対角成分以外
前回その方法としてコレスキー分解を紹介しましたが、どうも安心して使えなさそうだとわかりました。
次に紹介するのは固有値分解です。これは半正定値実対称行列を分解してくれます。
ではここからは線形代数の勉強です(証明などの詳細は省きます。教科書に必ず載っていますので調べてみてください)。
事実1
任意の実正方行列ここで行列
事実2
更に行列事実3
更に更に行列となります。ここで
しかし…
実務上(ここがポイント)、相関行列がいつもいつもタチの良い形であるとは限らないのです!もちろん実対称行列であることはどんな場合も間違いないですが(複素数の相関や、
- データに欠損があって、欠損データを適当に埋める
- 乱数列のうち、いくつかのペアについては相関が(観測とは無関係に)与えられている
- 測定誤差
以下の3変数の相関行列を見てください。
- 第1変数と第2変数の相関係数
は 1。第1変数と第2変数は完全相関で全く同じ値になる
- 第2変数と第3変数の相関係数
は 1。第2変数と第3変数は完全相関で全く同じ値になる
要するに相関係数がありえない組み合わせになっている場合がありえるのです(さすがに例のような大げさなのはないでしょうけど)。このとき、相関行列は半正定値ではなくなってコレスキー分解が機能しなくなります。
実務上、相関行列が与えられたら(それに矛盾があろうとなかろうと)計算がストップしてしまうことは望ましくありません。とにかく安定して何らかの答えを出すことが求められます。 もちろん正しい相関行列(半正定値実対称行列)は正しく分解されることが前提です。
そこで NtRand では相関行列の分解に特異値分解(Singular Value Decomposition,SVD)という手法を採用しています。
- 特異値分解入門(1)
- 特異値分解入門(2)
- 特異値分解入門(3)
他のNewsも見てみる