主成分分析(PCA)へようこそ!

未来の年金数理人(アクチュアリー)の皆さん、こんにちは!今回は、教師なし学習(Unsupervised Learning)における強力なツールの一つ、主成分分析(Principal Component Analysis、略してPCA)について学んでいきましょう。

名前を聞いて難しそうだと感じたかもしれませんが、心配はいりません。例えば、500ページの分厚い本の内容を1ページの要約にまとめた経験はありませんか?実は、それこそが「メンタルPCA」を行っているのと同じことなのです。データ分析の世界では、数十、あるいは数百もの変数を扱うことがよくあります。PCAを使えば、ノイズを省き、データの「本質」を捉えた少数の「スーパー変数」を見つけ出すことができます。一つずつ紐解いていきましょう!

1. PCAとは何か?

PCAは、次元削減(Dimension Reduction)のための手法です。多くのデータセットでは、変数間に相関(互いに関連性があること)が見られます。例えば、住宅価格のデータセットでは「床面積」と「部屋数」は通常、連動して増減しますよね。両方を別々に見る代わりに、PCAはその二つを組み合わせて一つのスコアにする方法を見つけ出します。

目的:元のデータセットが持つ分散(variation)を可能な限り保持したまま、低次元の表現に変換することです。

例え:3Dの彫像を2Dのカメラで撮影することを想像してみてください。最も細部や「奥行き」がわかる角度を探しますよね。PCAは、データにとってのその「完璧な角度」を見つけ出す作業です。

クイック復習:PCAは教師なし学習です。なぜなら、「ターゲット」や「応答変数(\(y\))」が存在しないからです。私たちはただ説明変数(\(x_1, x_2, \dots, x_p\))のみに注目します。

2. 第1主成分(\(PC_1\))

第1主成分(First Principal Component)とは、変数の線形結合のうち、分散が最大となるもののことです。

数学的には、特徴量 \(x_1, x_2, \dots, x_p\) に対して、\(i\) 番目の観測値の第1主成分スコアは次のように表されます:

\( Z_{i1} = \phi_{11}x_{i1} + \phi_{21}x_{i2} + \dots + \phi_{p1}x_{ip} \)

覚えておくべき重要用語:

負荷量(Loadings、\(\phi\)):これは重みです。例えば \(\phi_{11}\) は、第1主成分における第1変数の負荷量です。各変数が新しい主成分においてどれだけの「重み」を持っているかを示します。

スコア(Scores、\(Z\)):変換されたデータポイントが、新しい「PCA空間」で示す実際の値のことです。

制約条件:

計算を成り立たせるためのルールとして、負荷量の二乗和は1でなければなりません。
\( \sum_{j=1}^{p} \phi_{j1}^2 = 1 \)

なぜ? このルールがないと、重みを巨大にするだけで分散を無限に大きくできてしまうからです!この制約により、基準が統一されます。

重要なポイント:第1主成分は、データの観測値が最も大きくばらついている(分散が大きい)「方向」のことです。

3. 後続の主成分の計算

第1主成分(\(PC_1\))を見つけたら、同様にして第2主成分(\(PC_2\))、第3主成分……と求めていくことができます。

直交性のルール:第2主成分(\(PC_2\))は、\(PC_1\) と無相関(uncorrelated)でなければなりません。幾何学的に言えば、これは \(PC_2\) の方向が \(PC_1\) に対して垂直(直交)であることを意味します。

豆知識:主成分の最大数は \(min(n-1, p)\) です。ここで \(n\) は観測数、\(p\) は変数の数です。

計算手順のロジック:
1. 分散が最大となる方向(\(PC_1\))を見つける。
2. \(PC_1\) と垂直であることを条件に、残りの分散を最も多く捉える次の方向(\(PC_2\))を見つける。
3. すべての分散を説明し終えるか、主成分の限界に達するまで繰り返す。

4. スケーリングの重要性

ここは飛ばさないでください!これは試験で頻出のトピックです。PCAを計算する前には、ほとんどの場合において、変数を平均0、標準偏差1にスケーリング(標準化)する必要があります。

なぜ? PCAは測定単位の影響を受けやすいからです。「年収(ドル)」と「年齢(歳)」という変数を持つデータセットを想像してください。年収は数字が大きく、そのせいで分散も非常に大きくなります。スケーリングをしないと、PCAは単に数値が大きいという理由だけで、年収こそが最も重要だと判断してしまいます。

ヒント:変数の単位が同じ場合(例えば、すべて0~100のテストの点数など)は、スケーリングが不要な場合もあります。しかし、SRM試験の多くの問題では、標準化を行うのが安全で正解への近道です。

避けるべきよくあるミス:データを中心化(平均を引く)することを忘れること。PCAは「平均周りの」分散を探すものだからです。

5. 分散説明率(PVE)

主成分をいくつ残すべきでしょうか?その答えを出すために、分散説明率(Proportion of Variance Explained、PVE)を確認します。

私たちは、「元の \(p\) 個の変数が持つ情報の合計のうち、最初の \(m\) 個の主成分でどれだけを捉えられているか」を知りたいのです。

データセットの総分散は、各個別の変数の分散の合計です。第 \(m\) 主成分のPVEは次のようになります:
\( PVE_m = \frac{\text{PC}_m\text{ によって説明される分散}}{\text{総分散}} \)

スクリープロット(Scree Plot)

PVEの可視化にはスクリープロットがよく使われます。これは単純なグラフで、x軸に主成分の番号、y軸にPVEをとります。
「肘(エルボー)」法:PVEが大幅に減少し、曲線の傾きが平坦になるポイント(肘のように見える点)を探します。ここが、残すべき主成分数の理想的な目安となります。

重要なポイント:累積PVEを見れば、合計でどれくらいの「情報」を維持できているかがわかります。最初の3つの主成分で分散の95%を説明できているなら、残りの20個の変数は無視しても大丈夫かもしれません!

6. まとめと最後のアドバイス

PCAは高性能な懐中電灯のようなものです。複雑で多次元的な部屋の中で、最も重要なパターンを明るく照らし出してくれます。

記憶の整理(PCAの3つのS):
1. Scale the data(まずはデータをスケーリング!)
2. Scores are the new data points(スコアが新しいデータポイントになる)
3. Scree plots help you decide when to stop(スクリープロットで終了ポイントを判断)

クイック復習ボックス:
- PCAは教師あり?教師なし? 教師なし。
- 負荷量(Loadings)は何を表す? その主成分における元の変数の重み。
- PC1とPC2の関係は? 無相関(直交)。
- なぜスケーリングが必要? 単位が大きい変数が分析を支配するのを防ぐため。

最初は数学的な内容が多くて難しく感じるかもしれませんが、大丈夫です! SRM試験では、まずはコンセプトに集中しましょう。なぜPCAを使うのか(次元削減)、なぜスケーリングが重要なのか、そしてPVEをどう解釈するか。あなたならきっと大丈夫です!