主成分分析とは?意味・仕組み・活用例をわかりやすく解説

主成分分析とは?意味・仕組み・活用例をわかりやすく解説

AIの初心者

「主成分分析」って難しそうですが、簡単に言うとどういうものですか?

AI専門家

たくさんあるデータの特徴を、なるべく情報を失わずに少ない軸へまとめる方法だよ。部屋の広さ、駅からの距離、築年数、家賃などを、全体の傾向が見える指標に整理するイメージだね。

AIの初心者

情報をまとめるなら、元の情報の一部は失われるということですよね?

AI専門家

その通り。だから主成分分析では、データのばらつきがよく表れる方向を優先して残し、失う情報をできるだけ小さくするんだ。

主成分分析とは。

主成分分析は、多くの変数を持つデータを、少数の新しい指標に要約するための代表的な次元削減手法です。高次元データをそのまま見ると全体像をつかみにくいですが、主成分分析を使うと、重要なばらつきを残しながら可視化や分析をしやすくできます。

主成分分析とは何か

主成分分析で多くの特徴を少数の軸へ要約するイメージ

主成分分析とは、英語では Principal Component Analysis、略して PCA と呼ばれる手法です。目的は、データが持つ多くの特徴を、できるだけ少ない数の新しい軸で表現し直すことです。

たとえば、ワインを評価するときには、香り、色、酸味、渋み、甘み、余韻など多くの項目があります。すべてを別々に見ていると複雑ですが、主成分分析を使うと「味わいの強さ」や「飲みやすさ」のような少数の軸で全体像を見やすくできます。この新しい軸が主成分です。

ただし、主成分は人が最初から名前を付けた項目ではありません。元の変数を組み合わせて作られる新しい指標です。そのため、分析後には、どの変数が強く関係しているかを見て「この主成分は価格感を表していそうだ」「この主成分は品質の総合軸に近い」と解釈する必要があります。

主成分分析でできること

高次元データを2次元の散布図へ変換して可視化するイメージ

主成分分析の大きな役割は、次元削減です。次元とは、データを説明する変数の数だと考えると分かりやすいです。顧客データなら、年齢、購入回数、購入金額、閲覧時間、地域、利用端末などがそれぞれ次元になります。

変数が多いデータは、表としては保存できますが、人間が直感的に理解するのは難しくなります。主成分分析で2次元や3次元まで落とし込むと、散布図として表示できるため、データの分布、かたまり、外れ値、傾向を見つけやすくなります。

また、重要な情報を残しながら変数を減らせるため、機械学習の前処理にも使われます。不要なノイズが減り、計算量も小さくなるため、後続のモデルが扱いやすくなる場合があります。一方で、元の変数そのものの意味は薄くなるため、説明しやすさを重視する場面では注意が必要です。

目的 主成分分析で得られる効果
可視化 多くの変数を2次元や3次元へ要約し、散布図で傾向を確認しやすくする
特徴抽出 元の変数を組み合わせ、データのばらつきをよく表す新しい軸を作る
ノイズ低減 小さなばらつきや不要な変動を削り、主要な構造を見やすくする
計算効率化 扱う変数を減らし、後続の分析や機械学習を軽くする

主成分はどのように選ばれるのか

データのばらつきが大きい方向を第1主成分として選ぶイメージ

主成分分析では、データの散らばり方に注目します。散らばりの大きさは統計では分散と呼ばれます。分散が大きい方向には、データ同士の違いや特徴がよく表れていると考えられます。

最初に選ばれる第1主成分は、データの分散が最も大きくなる方向です。身長と体重のデータで、身長が高い人ほど体重も重い傾向が強いなら、その斜め方向が第1主成分になります。これは、元の2つの変数を組み合わせた「体格の大きさ」のような軸として解釈できるかもしれません。

第2主成分は、第1主成分と直交する方向の中で、次に分散が大きい方向です。第3主成分以降も同じように、それまでの主成分と直交しながら、残った情報を最もよく表す方向として選ばれます。

数式で表すと、主成分分析は次のように、投影後の分散が最大になる方向を探していると考えられます。

\( w_1 = \arg\max_{\|w\|=1} \mathrm{Var}(Xw) \)

ここで、X はデータ行列、w は投影する方向を表します。初心者の段階では、数式を丸暗記するよりも「データが最もよく広がって見える向きを探している」と理解すると十分です。

主成分 選び方 意味
第1主成分 分散が最も大きい方向 データ全体の違いを最もよく表す軸
第2主成分 第1主成分に直交し、その中で分散が最大の方向 第1主成分では説明しきれない次に重要な軸
第3主成分以降 それ以前の主成分に直交し、残りの分散を大きく説明する方向 残った情報を順番に補う軸

寄与率と累積寄与率で次元数を決める

寄与率と累積寄与率を見ながら残す主成分数を決めるイメージ

主成分分析では、すべての主成分を残すこともできます。しかし、それでは次元削減の効果が小さくなります。そこで重要になるのが寄与率累積寄与率です。

寄与率は、ある主成分が元データの情報をどれくらい説明しているかを示す割合です。第1主成分の寄与率が50%なら、その軸だけで元データのばらつきの半分程度を説明できている、という見方をします。累積寄与率は、第1主成分から順に足し合わせた説明量です。

実務では、累積寄与率が80%から90%程度になるまで主成分を残す、という考え方がよく使われます。ただし、これは絶対的な正解ではありません。可視化が目的なら2次元や3次元にすることが多く、予測モデルの前処理なら精度や計算時間を見ながら調整します。

次元を減らしすぎると、重要な違いまで消える可能性があります。反対に、減らし足りないと、複雑さがあまり変わりません。主成分分析では「どれだけ簡単にしたいか」と「どれだけ情報を残したいか」のバランスを取ることが大切です。

主成分分析を使う前の注意点

主成分分析を使うときに特に重要なのが、変数の尺度です。たとえば、年収は数百万円、年齢は数十、購入回数は一桁から数十というように、単位や数値の大きさが大きく違うと、値の大きい変数が主成分に強く影響しやすくなります。

そのため、多くの場合は分析前に標準化を行います。標準化とは、各変数を平均0、標準偏差1にそろえる前処理です。これにより、単位の違いではなく、変数ごとの相対的な変動を比較しやすくなります。

また、主成分分析は外れ値の影響を受けやすい手法です。極端に大きい値や入力ミスがあると、分散が大きい方向が外れ値に引っ張られることがあります。分析前には、欠損値、外れ値、カテゴリ変数の扱い、変数の意味を確認しておく必要があります。

もう一つの注意点は、主成分分析が基本的に線形の手法であることです。元の変数を直線的に組み合わせて新しい軸を作るため、複雑な曲線構造や非線形の関係をそのまま表すのは得意ではありません。

主成分分析の活用例

主成分分析が画像、音声、自然言語、金融、医療で使われるイメージ

主成分分析は、変数が多いデータを扱う幅広い分野で使われます。画像認識では、画像の画素数が非常に多くなるため、重要な特徴を抽出して処理を軽くする目的で使われることがあります。顔画像や物体画像のように、多数の画素が似たパターンを持つ場合、主成分分析で代表的な変化を取り出せます。

音声認識では、音声波形や周波数特徴から主要なパターンを抽出し、雑音の影響を減らす用途があります。自然言語処理では、文章や単語を数値化したベクトルを要約し、分類や可視化の前処理として使われます。

金融分野では、多数の銘柄や経済指標の変動を少数の要因にまとめ、市場全体の動きやリスク要因を把握するために使われます。医療分野では、検査値や遺伝子発現データのような高次元データから、病気の傾向や患者群の違いを探るための探索的分析に役立ちます。

分野 活用例
画像認識 画素データの特徴抽出、顔画像や物体画像の圧縮、前処理
音声認識 音声特徴の要約、雑音の影響を減らす前処理
自然言語処理 文章ベクトルの可視化、分類前の次元削減
金融 市場変動の主要因分析、リスク把握、ポートフォリオ分析
医療 検査データや遺伝子データの探索、患者群の傾向把握

関連手法との違い

主成分分析と混同されやすい手法に、クラスタリング、t-SNE、UMAPがあります。クラスタリングは、データを似たもの同士のグループに分ける手法です。一方、主成分分析はグループ分けそのものではなく、特徴量を少ない軸に要約する手法です。主成分分析で2次元に可視化したあと、クラスタのようなまとまりを観察することはありますが、役割は異なります。

t-SNEやUMAPも高次元データを2次元に可視化する手法として知られています。これらは非線形の構造を表現しやすく、複雑なデータの可視化で強力です。ただし、主成分分析の方が仕組みが比較的シンプルで、どの変数が主成分に影響しているかを追いやすいという利点があります。

初心者が学ぶ順番としては、まず主成分分析で「次元削減とは何か」「分散を残すとは何か」を理解し、その後でt-SNEやUMAPなどの可視化手法を学ぶと、違いが整理しやすくなります。

まとめ

主成分分析は、多くの変数を持つデータを、情報をなるべく保ちながら少数の主成分へ要約する手法です。高次元データを可視化したいとき、機械学習の前処理を軽くしたいとき、データの主要な構造を探索したいときに役立ちます。

重要な考え方は、データのばらつきが大きい方向を優先して残すことです。第1主成分、第2主成分と順番に見ていくことで、元データの情報をどれだけ説明できているかを寄与率や累積寄与率で確認できます。

一方で、標準化、外れ値、主成分の解釈、線形手法であることには注意が必要です。主成分分析は万能ではありませんが、AIやデータ分析を学ぶうえで、次元削減と特徴抽出の基本を理解するための重要な手法です。

更新履歴

日付 内容
2025年2月1日 初回公開
2026年5月2日 主成分分析の定義、次元削減の仕組み、累積寄与率、標準化の注意点、関連手法との違い、活用例を初心者向けに再構成

Weeybleの最新イベント

イベント一覧

イベント情報を読み込んでいます。

この記事の内容に興味を持った方へ

コワーキングスペース秋葉原Weeybleでは、AI、Web開発、クラウド、セキュリティなど、エンジニア向けの勉強会やもくもく会を開催しています。

もくもく作業したい方、技術について話したい方、これから学びたい方も歓迎です。

「もくもく会って何?」「初めて参加しても大丈夫?」という方は、もくもく会とは?意味や参加方法をわかりやすく解説の記事もあわせてご覧ください。

生成AI・AIエージェント開発のご相談

AWS Bedrockを活用したAI開発支援

業務システム自動化・エージェント開発に対応

PoC・技術検証・研究開発フェーズからご相談いただけます

アルゴリズム