1. 定義と概要
主成分分析(PCA)とは、相関を持つ複数の変数からなるデータについて、分散(データの値がどれくらいばらついているかを示す指標)が最大になる方向を新たな軸として算出する統計的な手法です。次元削減(変数の数を減らしてデータをシンプルに表現すること)を目的とする手法で、算出した軸にデータを射影(あるデータ点を特定の軸の方向に投影して位置を求める操作)することで、変数の数を減らします。
この新しい軸は主成分(元の変数を組み合わせて作った新しい軸)と呼ばれ、第1主成分は分散が最大になる軸として定義されます。第2主成分は第1主成分と直交しながら次に分散が大きい軸として定義され、以降の主成分も同じ考え方で順番に決まっていきます。
たとえば、身長と体重のように相関しあう2つの変数は、体格の大きさを表す1つの合成変数へ要約できます。多数のアンケート項目や計測値のように変数どうしが強く関係しあうデータほど、この要約の効果は大きくなります。主成分分析は、こうした要約を人手の判断ではなく統計的な基準に基づいて自動的に行う点に特徴があります。
従来、扱う変数の数(次元)が多いデータは計算コストが増え、次元の呪い(変数が増えるほどデータがまばらになり分析や学習が難しくなる現象)に陥りやすいという課題がありました。変数を単純に間引くと重要な情報まで失われかねないため、データの本質的な情報をできるだけ保持しながら変数を減らす方法が求められてきました。
そこで、分散最大化という基準で新しい軸を機械的に見つけ出すPCAが、次元削減の代表的な手法として使われてきたという流れがあります。分散が大きい方向にはデータの違いを説明する情報が多く含まれるため、この基準は情報を効率よく残す工夫として理にかなっています。
2. 試験対策ポイント
まず押さえておきたいのは、寄与率(その主成分がデータ全体のばらつきをどれくらい説明しているかを示す割合)と累積寄与率(寄与率を大きい主成分から順に足し合わせた割合)の関係です。寄与率は第1主成分から順に大きい値をとります。
上位から積み上げた累積寄与率は、圧縮後に何次元まで残すかを判断する目安として使われます(80%程度を基準とする例が知られています)。累積寄与率が高い上位の主成分だけを残せば、元のデータが持っていた情報の大部分を保ちながら変数の数を絞り込めます。
数学的な裏付けとしては、分散共分散行列(複数の変数どうしのばらつきや関係性を1つの表にまとめたもの)を分析すると、固有ベクトルと固有値が得られます。固有ベクトル(各主成分の向きを示すベクトル)は主成分の方向に対応し、固有値(各主成分の分散の大きさに対応する数値)は主成分の分散の大きさに対応するという関係にあります。
相関係数(2つの変数の関係の強さを示す指標)が高い変数どうしをまとめて要約できる点も、PCAが分散共分散行列を出発点にする理由になっています。ここまでに出てきた用語が主成分の何に対応するかを並べると、次のように整理できます。
| 用語 | 主成分との対応 |
|---|---|
| 固有ベクトル | その主成分の向き |
| 固有値 | その主成分の分散の大きさ |
| 寄与率 | その主成分が説明するばらつきの割合 |
| 累積寄与率 | 上位の主成分まで積み上げた説明の割合 |
位置づけとしては、PCAは正解ラベルを使わずデータの構造を見つけ出す教師なし学習(正解ラベルを用いない学習方式)に分類される次元削減の手法です。次元削減という枠組みの中で、寄与率・累積寄与率・固有値・固有ベクトルという用語群は、次元削減の理解を支える柱になります。
それぞれの用語を個別に覚えるのではなく、寄与率の積み上げが累積寄与率になり、固有値と固有ベクトルが主成分の大きさと向きに対応するという関係で結びつけておくと、丸暗記に頼らず理解を保てます。
3. 関連概念との比較・相違点
t-SNE(データ点どうしの近さ関係を保ちながら高次元データを低次元に落とし込む非線形の可視化手法)との最大の違いは、線形手法か非線形手法かという点にあります。PCAは分散最大化に基づく線形変換であり、計算が高速で大規模なデータにも適用しやすい手法です。
一方でt-SNEは、元の空間で近い点どうしを低次元でも近くに配置するという距離関係を保つ非線形の手法で、複雑な構造を持つデータの可視化に強みがありますが、計算コストが高くなる傾向があります。全体の分散を要約したいのか、データ点どうしの近さを保った可視化をしたいのかという目的の違いが、どちらの手法を選ぶかの分かれ目になります。
因子分析(観測データの背後に共通の原因があると仮定してその構造を探る手法)との違いは目的にあります。PCAは、観測された変数から情報損失を抑えて要約した合成変数を作り出す、データ要約が目的です。これに対し因子分析は、観測変数の背後に共通の潜在因子が存在すると仮定し、その因子がどのように観測変数へ影響しているかという構造を探ることが目的になります。
同じ「変数をまとめる」操作に見えても、要約を目指すのか背後の原因を探るのかという点で発想が異なります。PCAが「結果としての合成変数」を作るのに対し、因子分析は「原因としての潜在因子」を想定するという向きの違いが、両者を区別する軸になります。
2つの比較を軸ごとに並べると、次のように整理できます。
| 比較対象 | 違いの軸 | 相手側の性質 |
|---|---|---|
| t-SNE | 線形か非線形か | 点どうしの近さを保つ非線形手法で、計算コストが高い |
| 因子分析 | 要約か原因の探索か | 背後にあると仮定した潜在因子の構造を探る |
線形と非線形という対比、そして要約と原因の探索という対比は、試験対策としても実務としても押さえておきたい論点です。
4. ビジネス・実務での活用シナリオ
マーケティング・顧客分析の現場では、アンケートの多数の質問項目をPCAで少数の主成分に要約し、顧客セグメントの特徴を少ない軸で可視化する取り組みが行われています。項目ごとにばらばらに見ていた回答傾向を数個の指標へ集約できるため、担当者は膨大な質問結果を一つずつ見比べなくても顧客層の違いをつかめます。回答項目が数十を超えるような調査ほど、主成分による要約は担当者の負担軽減に直結します。
製造業・品質管理の分野では、設備に取り付けられた多数のセンサーの計測値をPCAで主成分に要約し、少数の指標で異常の兆候を監視する用途があります。個別のセンサー値の変動を一つずつ追うよりも、主成分という集約された指標を見るほうが早く傾向の変化をとらえられます。多数のセンサーが同時にわずかな変化を示す場面では、個別の数値では見えにくい傾向が主成分の変化として現れることがあります。
機械学習のモデル構築においては、高次元の特徴量(学習モデルへの入力に使う個々のデータ項目)をPCAであらかじめ圧縮する前処理が使われます。この圧縮によって、以降の学習モデルの計算コストや、次元の呪いによる過学習(学習データにだけ適合しすぎて未知のデータへの精度が落ちる現象)のリスクを抑えられます。特徴量の数が多いモデルほど学習に時間がかかり、過学習も起こりやすくなるため、次元削減を前処理に組み込む発想はモデルの学習効率を左右する実務上の工夫のひとつです。
5. 要点まとめ
- 主成分分析(PCA)は分散が最大になる方向を新しい軸(主成分)として捉え直し、情報損失を抑えながら変数の数を減らす教師なしの次元削減手法です。
- 寄与率・累積寄与率が各主成分の説明力を示す指標で、累積寄与率を基準に圧縮後の次元数を決める考え方が柱になります。
- 線形手法であるPCAと非線形手法であるt-SNEの違い、観測変数を要約するPCAと潜在因子を仮定する因子分析との違いが比較の論点になります。
6. 確認問題
問1主成分分析は、データの分散が最大になる方向を新しい軸として定め、その軸にデータを射影することで変数の数を減らす手法である。
解答・解説をみる
○ 正しい
分散最大化という基準で軸を定め直す点がPCAの核心です。第1主成分は分散が最大の軸、第2主成分は第1主成分と直交しつつ次に分散が大きい軸として、順に定義されます。
問2累積寄与率とは、各主成分がデータ全体の分散のうちどれだけを説明しているかを示す寄与率を、主成分ごとに大きい順に足し合わせた値である。
解答・解説をみる
○ 正しい
第1主成分から順に寄与率を積み上げた値が累積寄与率であり、圧縮後に何次元まで残すかを決める目安として使われます。80%程度を基準にする例が知られており、寄与率と合わせて理解しておきたい関係です。
問3主成分分析は、データ点どうしの距離関係を保ちながら非線形な構造を低次元空間に表現する手法であり、t-SNEと同じアプローチをとる。
解答・解説をみる
× 誤り
正しくは、PCAは分散最大化に基づく線形変換であり、データ点どうしの距離関係を保ちながら非線形構造を表現するのはt-SNEの特徴です。線形か非線形かを取り違えた記述は、混同されやすい典型です。

