高次元データとPCA
高次元データとPCA
まず、高次元データが得られた時どう扱えば良いのでしょうか?
高次元データは膨大な情報を持つため、PCAで次元を削減すれば上手く扱えるのでは?と思う方も多いかもしれません。
しかし、実は高次元データにPCAを適用すると、次元の呪いをうけます。次元の呪いとは、データの次元が増えると、計算コストが指数関数的に増加する現象を指します。
この次元の呪いの正体を暴きます。
高次元データについて知りたい方はこちらをチェック
PCAについて知りたい方はこちらをチェック
固有値・固有ベクトルの課題
一般化スパイクモデル
ここで、
ノイズ となる部分
つまりノイズとなる部分に球面集中現象が起き、固有ベクトルは方向が定まらず、固有値は定まるものの互いの差がなくなる。
固有ベクトルは方向が定まらないとは?
球面集中現象により、球の表面に一様にデータが分布するため。
固有値は定まるものの互いの差がなくなるとは?
球面集中現象により、データの距離が等しくなるから。
ここで
実際、固有値の推定量には、
のノイズが入ってくる。
高次元PCA
上記の課題を解決するために、主に2つの高次元主成分分析を紹介します。
-
ノイズ掃き出し法(noise-reduction methodology)
これは、データのノイズを正確に推定し、それを固有値から除去することで、より正確な結果を得る手法。
https://zenn.dev/totopironote/articles/d5e2754275ce6c -
クロスデータ行列法(cross-data-matrix methodology)
これは、そもそもノイズを発生しないように統計量を作った手法。
https://zenn.dev/totopironote/articles/b63807d5fb8333
まとめ
従来のPCAだととりあえずノイズが発生して上手く推定できないということです。
参考文献
- 青嶋誠、矢田和善 (2019)「高次元の統計学」
https://www.kyoritsu-pub.co.jp/book/b10003167.html
Discussion