データ分析機械学習統計学

主成分分析 (PCA)

しゅせいぶんぶんせき · Principal Component Analysis
2 views

主成分分析(PCA)は、多次元のデータを情報の損失を最小限に抑えながら、より少ない次元に圧縮する次元削減の手法です。データのばらつきが最も大きい方向(主成分)を見つけ出し、高次元データを2次元や3次元に要約することで、データの視覚化や機械学習モデルの軽量化・前処理に広く利用されています。

主成分分析 (PCA)とは

主成分分析(PCA)とは、多数の変数を持つ高次元データから、データの持つ情報をできるだけ損なわずに、少数の重要な指標(主成分)へと情報を要約・圧縮する次元削減の手法です。

詳しく解説

PCAは、データのばらつき(分散)が最大となる方向を探索し、それを「第1主成分」と定義します。次に、その第1主成分と直交(独立)する方向の中で、さらに分散が最大となる方向を「第2主成分」として定義します。このプロセスを繰り返すことで、元のデータの情報の大部分を少数の主成分だけで表現できるようにします。これにより、データの特徴的な構造を保ったまま次元削減でき、機械学習における「次元の呪い」の回避や、計算コストの削減、データのノイズ除去に大きく貢献します。

具体例・使われ方

例えば、顧客の「年齢」「年収」「購買頻度」「平均購買額」などの多次元データをPCAによって2次元(「購買意欲」と「年齢層」を意味する合成変数など)に圧縮し、散布図にプロットして顧客のセグメンテーション(グループ分け)を視覚化します。また、画像処理においては、大量の画素(ピクセル)データを主要な特徴量に圧縮して、顔認識などのモデルに入力する前処理として利用されます。

似た用語との違い

混同されやすい概念として「t-SNE」や「線形判別分析」があります。PCAがデータの「分散」を最大化する「教師なし学習」であるのに対し、線形判別分析はクラス間の差異を最大化するように射影する教師あり学習です。また、t-SNEは非線形な関係を維持しながら2次元などに圧縮する手法ですが、PCAは線形な関係のみを捉える手法という違いがあります。

注意点

PCAの注意点として、基本的にデータ間の「線形」な関係しか捉えられないため、非線形なデータ構造を持つ場合には有効に機能しないことがあります。また、各主成分は元の特徴量を数式で合成したものであるため、得られた主成分が具体的に何を意味しているのかという「解釈性」が直感的に理解しにくくなる場合があります。あらかじめデータの正規化(スケーリング)を行っておかないと、単位の大きい変数に結果が引っ張られてしまう点にも注意が必要です。

更新日時: 2026年8月28日 15:51