PCAにおいて主成分を何成分目まで使用するか?

公開日: 2016年5月5日木曜日 データ解析

主成分分析 (principal component analysis, PCA) を行った際に、その後の解析に何成分目まで用いればよいのかは、いつも話題になり議論になります。
この最適成分数は解析の目的によりますので整理しておきます。

① データの可視化が目的の場合

人の目で確認できるは三次元までですので、使用する成分数も3つまでになります。ただ一般的には二次元で可視化しますので、成分数は2です。特に元の変数の数が多い場合など、2成分だけでは情報量が小さいことが多いです。そこで、可視化はされているが情報量が数%しかない、といったこともありますので、誤解のないように、第一主成分 vs. 第二主成分のプロットのときなど、各成分のプロットを確認する際は、各軸に寄与率(情報量)を記載しておきましょう。

② 回帰分析やクラス分類など教師あり学習を行う場合

この場合は教師データがある、つまり目的変数がありますので、目的変数の値を適切に予測できる成分数を用いれば良いことになります。例えば、成分数を増やしながらクロスバリデーションを行い、クロスバリデーション後のRMSEが最も小さくなる成分を使用することが考えられます。

③ クラスタリングやデータ領域推定など教師なし学習を行う場合

ここでは教師データがありませんので、最適成分数を決めるのが②より難しいです。この場合は何らかの仮定をおく必要があります。例えば、データセットに含まれるノイズ (雑音) の大きさ(割合)を仮定します。スペクトルや何かの測定値であれば、測定機器には測定誤差がありますので、その誤差が何%あるか仮定します。他にもノイズや何らかの誤差と考えられる割合を仮定します。そして、累積寄与率がはじめて (1-仮定したノイズ・誤差の割合) を超えたときの成分数にします。つまり、主成分分析後の寄与率が小さい成分はデータに含まれているノイズに関係するとして、省かれる成分の情報量が本来のノイズ・誤差と同等になるまで成分を削ることと同じです。

  • ?±??G???g???[?d????u?b?N?}?[?N???A