主成分分析とは?仕組み・固有値・寄与率の読み方をやさしく解説
みなさん、こんにちは。スマート・アナリティクスの畠です。 「調査の項目が多すぎて全体像がつかめません。いくつかの代表的な指標にまとめられないでしょうか?」——量的研究に取り組む方から、こうしたご相談をよくいただきます。変数がたくさんあると、一つひとつ眺めても対象の姿が見えてきません。そんなときに頼りになるのが、今回ご紹介する主成分分析(Principal Component Analysis:PCA)です。主成分分析は、たくさんの変数を、できるだけ情報を失わずに、少数の「合成変数(主成分)」へまとめる手法で、次元の縮約や可視化の前処理、総合指標づくりなど、研究の幅広い場面で使われています。身長と体重から BMI という1つの指標を作るように、複数の次元を1つにまとめる発想は、私たちの身の回りにも意外と多く潜んでいます。このページでは、次元を縮約するとはどういうことか、主成分がどう作られるのか、固有値・寄与率・スクリープロットで主成分の数をどう決めるのか、そして混同されやすい因子分析との違いまでを、研究で使う知識として順番にやさしく解説していきます。
- 主成分分析は、多数の変数をできるだけ情報を失わずに少数の合成変数(主成分)へまとめる次元縮約の手法。総合指標づくりや可視化の前処理に使う
- 第1主成分は、もとのデータのばらつき(情報)を最もよく代表する成分で、多くの場合全体を表す総合的な指標になる
- 主成分は互いに直交(無相関)させながら、ばらつきを最大に説明する軸を順に取り出す。後の主成分ほど情報量は小さくなる
- 主成分の数は固有値1以上・スクリープロット・累積寄与率の3基準を併用して決める(固有値1は目安)
- 変数間に相関があることが前提。相関・KMO・Bartlettの球面性検定でデータの向き不向きを確認する
- 出力が似た因子分析とは目的が別物。「まとめて代表値を作る」のがPCA、「背後の共通因子を探す」のが因子分析
主成分分析とは何か
主成分分析とは、多くの変数をまとめて次元を縮約する手法のひとつです。観測された複数の変数を、それらを合成した少数の新しい変数――主成分――に置き換えます。たとえば、ある調査の多数の項目を「全体を代表する1〜数本の指標」に集約し、対象を見通しよく整理する、といった場面で使います。
ここで押さえておきたいのは、主成分分析は観測されているデータそのものから次元を集約するという点です。「変数の背後にある潜在的な要因」を想定して説明しようとはしません。この「背景を積極的には考えない」姿勢が、後で述べる因子分析との考え方の大きな違いになります。
- 主成分(principal component)——もとの変数を重み付きで足し合わせて作られる合成変数。
- 第1主成分——もとのデータの情報(ばらつき)を最もよく代表する主成分。多くの場合、全体を表す総合的な指標になります。
主成分分析は「変数をまとめて合成変数を作る(総合指標を作る)」分析です。後述する因子分析が「変数を共通の因子で説明し、その共通性を探索する」のとは、向きが逆だと考えると整理しやすくなります。
次元を縮約するとはどういうことか
「次元の縮約」とは、複数の変数(次元)を、より少ない数の指標にまとめることです。
- 5教科の点数(5次元)を「総合得点」という1次元へ。
- 身長と体重(2次元)を「BMI」という1次元へ。
このように、複数の値を1つの代表値にまとめる操作は、私たちの身の回りの指標にも数多く含まれています。主成分分析は、この「まとめ方」を、もとのデータのばらつき(情報)をできるだけ保つように数学的に決めてくれる手法だと考えると分かりやすいでしょう。
主成分はどのように作られるか
直感をつかむために、まずは2つの変数だけの単純なケースで考えてみます。手元に、2つの測定項目について観測されたデータ点がいくつかあるとしましょう。
- 重心(平均)を原点に置く——データの中心が原点に来るように軸を移動します。
- データを最もよく表す線を引く——散らばったデータ点を、1本の直線で代表させることを考えます。
- 「情報の損失が最小」の線を選ぶ——1本の線で表すと各データ点の情報は多少失われます。失われる情報(誤差)が最も小さい線が、最も良い代表線です。
ここで幾何学的に面白いのは、誤差の最小化が、ばらつき(分散)の最大化と同じになるという関係です。原点からデータ点までの距離は線をどう引いても変わりません(固定)。直角三角形の関係(ピタゴラスの定理)から、「線への誤差」を最小にすることは、同時に「線の上に落とした投影の長さ=ばらつき」を最大にすることにあたります。こうして引かれた、ばらつきを最大に説明する軸が第1主成分です。
第2主成分と直交性
主成分は、もとの次元の数だけ作ることができます。第2主成分は、第1主成分と直交する(直角に交わる)線として作られます。
直交するということは、第1主成分と第2主成分は無相関だということです。第2主成分は、第1主成分だけでは取りこぼした情報を補う役割を持ちます。次元を3つ4つと増やしても、「直前までの主成分と直交し、残りのばらつきを最大に説明する軸を順に取る」という考え方は変わりません。
主成分は「ばらつき(分散)を最大に説明する軸を、互いに直交させながら順番に取り出す」もの。第1主成分が最も情報量が大きく、後の主成分ほど説明できる情報は小さくなります。
計算のステップ(仕組みの裏側)
主成分分析の計算は、大まかに次の流れで進みます。仕組みのイメージとして押さえておけば十分です。
- 分散共分散行列(または相関行列)を作る——変数同士のばらつきと関連を表す行列を用意します。
- 固有値・固有ベクトルを求める——その行列から固有値と固有ベクトルを計算します。
- 対応関係を読む——固有ベクトル=主成分の向き、固有値=その主成分が説明する情報量、として解釈します。
実際の計算はソフトウェアが行うので、研究で使う際は「固有値がその主成分の情報量を表す」という対応関係を覚えておくと、出力が読めるようになります。
固有ベクトル = その主成分の向き(各変数の重み)
主成分の数をどう決めるか(固有値・スクリープロット・寄与率)
主成分は次元の数だけ作れますが、実際に使うのはそのうち上位のいくつかです。いくつ採用するかを決める代表的な基準が次の3つです。
| 基準 | 考え方 | 注意 |
|---|---|---|
| 固有値1以上(Kaiser-Guttman基準) | 固有値Xは「観測変数X個分の情報量」を表す。1未満は観測変数1つ分すら説明できていないため、ふつう採用しない | 多めに取りがち。単独では使わない |
| スクリープロット | 固有値を大きい順に折れ線で描き、急に下がって「なだらかになる手前」までを採る(スクリー基準) | 判断に主観が入る |
| 寄与率・累積寄与率 | 寄与率は各主成分が全体のうち持つ情報量の割合、累積寄与率は上位から足し上げた割合 | 何%を基準にするかは分野による |
たとえば「5つの主成分にまとめられ、累積寄与率が66.3%だった」なら、5本の主成分で全体の情報の約3分の2をまとめられた、と読みます。
固有値1以上という線引きは広く使われる目安で、絶対的な基準ではありません。スクリープロットや累積寄与率、そして解釈のしやすさとあわせて、総合的に判断するのが実務的です。
前提条件(相関・KMO・Bartlett)
主成分分析は、観測変数同士の相関を利用して軸を作ります。したがって、変数間に十分な相関がないと、そもそも分析が成り立ちません。
- 変数間の相関——相関がまったくない、あるいは相関係数がうまく算出できないデータには使えません。相関0.3以上の組み合わせが見当たらないようなら、別の手法を検討すべきサインです(この0.3も目安です)。
- Bartlettの球面性検定——「母相関行列は単位行列である(=変数間は無相関)」を帰無仮説とする検定です。これが棄却されれば、分析に値する相関があると判断できます。有意確率が小さいほど、主成分分析に向いたデータといえます。
- KMOの標本妥当性測度——データが次元縮約系の分析にどれだけ適しているかを表す指標で、高いほど適しているとされます(0.6以上で妥当、0.8以上で良い、が一つの目安)。
主成分得点とその使い方
主成分得点は、作成された各主成分の式に、個々のケースの値を代入して得られるスコアです。SPSSでは標準化された得点が使われます。
この主成分得点を軸にとってケースをプロットすると、各ケースがどのあたりに位置するか(どのセグメントに属するか)が見えてきます。多数の変数を第1・第2主成分の2軸に集約して散布図にすれば、対象の全体構造を視覚的に把握でき、後続のクラスター分析などにもつなげられます。
因子分析との違い
主成分分析と因子分析は見た目が似ていて混同されがちですが、考え方の向きが逆です。
| 観点 | 主成分分析(PCA) | 因子分析(FA) |
|---|---|---|
| 目的 | 変数をまとめて合成変数(総合指標)を作る | 変数の背後にある共通因子を探索する |
| 背景の想定 | 潜在的な要因は積極的に考えない。観測データそのものから次元を集約 | 観測変数は共通因子+独自因子から生じると想定 |
| 向き | 観測変数 → 合成変数(集約) | 共通因子 → 観測変数(説明) |
| 典型的な用途 | 総合指標づくり、次元縮約、可視化の前処理 | 尺度の構成概念の検討、潜在構造の把握 |
ざっくり言えば、「とにかく変数をまとめて代表値を作りたい」なら主成分分析、「項目の背後にある潜在的な軸を知りたい」なら因子分析です。SPSSでは既定の抽出法が主成分法のため、因子分析をするつもりが知らずに主成分分析になっていないか注意します。
SPSSでの操作の流れ
SPSSでは、主成分分析は「因子分析」のメニューから実行します(抽出方法として主成分分析を選びます)。ここでは全体像をつかんでください。実際の画面操作はSPSSの使い方シリーズで詳しく扱います。
ステップ1:分析→次元分解→因子分析を開き、項目を投入
まとめたい項目をすべて「変数」に投入します。
ステップ2:記述統計でKMOとBartlettにチェック
「記述統計」で「KMOとBartlettの球面性検定」にチェックを入れ、データが次元縮約に向いているかを確認できるようにします。
ステップ3:因子抽出で方法とスクリープロットを指定
「因子抽出」で方法が「主成分分析」になっていることを確認し、「スクリープロット」を表示にします。主成分の数を固定したい場合は「因子の固定数」で指定します。
ステップ4:オプションで並び替えを設定して実行
「オプション」で「サイズによる並び替え」にチェックを入れて実行します。成分行列が読みやすくなります。
ステップ5:出力を順に解釈する
出力は、KMO・Bartlett(棄却されているか)→説明された分散の合計(固有値1以上・累積%)→成分行列(各項目が各主成分にどれだけ強く出ているか)の順に確認します。SPSSの具体的な画面操作は「SPSSの使い方」シリーズでくわしく解説しています。
関連分析手法・SPSS実装ガイド
主成分分析と関連の深い分析手法・SPSSでの具体的な実装手順を以下にまとめます。研究設計や論文執筆の参考にあわせてご活用ください。
- カイ二乗検定とは? — カテゴリ変数どうしの関連を調べる検定。
- t検定とは? — 2群の平均差を調べる基本の検定。主成分得点を使った群比較の入り口です。
- 一元配置分散分析(ANOVA)とは? — 3群以上の平均差。主成分得点を従属変数にする比較で使います。
- 正規分布とは? — 量的データの分布の基礎。前提の理解に役立ちます。
- 仮説検定の基礎 — 有意水準・p値・信頼区間など、Bartlett検定などを読むための土台。
- 因子分析とは? — 本ページと対になる潜在構造の探索手法。目的の違いを押さえましょう。(★No.228で公開直前HTML化済=因子分析公開/同時公開時に最優先で復活し双方向リンク化)
- 相関分析とは? — 主成分分析の前提となる、変数間の関連の基礎。(★公開済の可能性あり=公開時にHEAD確認しlive確認できれば復活)
- クラスター分析とは? — 主成分得点を使った対象の群分けへ。
- 信頼性分析(クロンバッハのα)とは? — 尺度のまとまり(内的整合性)を評価する。
- 主成分分析ができるSPSS製品 — やりたい分析からSPSS製品・オプションを選べる製品選定ページです。
- SPSSとは?研究・実務で使われる統計解析ソフトをやさしく解説 — 製品の全体像・価格・購入方法。
- SPSSの使い方シリーズ(全10回) — 起動・データ準備・分析・出力結果の解釈まで体系的に学べます。
つまずきやすいポイントと注意点
主成分分析でつまずきやすいポイントを、ここで整理しておきます。
1. 主成分分析と因子分析を取り違える。「変数をまとめて総合指標を作りたい」のか「背後の共通因子を知りたい」のか、目的を最初に決めましょう。SPSSは同じメニューから実行できますが、両者は別物です。
2. 固有値1以上だけで主成分数を決めてしまう。Kaiser-Guttman基準は単独では主成分を多めに取りがちです。スクリープロット・累積寄与率・解釈のしやすさを併用して決めます。
3. 相関のないデータに使ってしまう。主成分分析は変数間の相関を利用します。相関がほとんどない(目安として0.3以上の組み合わせが見当たらない)場合や、Bartlettの球面性検定が棄却されない場合は向きません。
4. 寄与率と累積寄与率を混同する。寄与率は各主成分が全体に占める割合、累積寄与率はそれを上位から足し上げた割合です。「上位いくつで全体の何%をまとめられたか」は累積寄与率で読みます。
5. 主成分の中身を確かめずに使う。第1主成分が「総合指標」だとしても、各項目がどれだけ強く出ているかは成分行列で確認します。中身を読まずに名前だけで扱わないようにします。

