PCA解釈の世界へようこそ!
こんにちは!何十もの変数が含まれる巨大なデータセットを前にして、圧倒されてしまったことはありませんか?もしそうなら、ここがぴったりの場所です。教師なし学習の世界において、主成分分析(PCA:Principal Components Analysis)は、複雑なデータをいくつかの重要な「テーマ」に集約してくれる、まさにスーパーパワーのような手法です。
この章では、単に計算を行うだけでなく、その計算結果がデータについて何を語っているのかを解釈する方法を学びます。「ローディング」とは何か、なぜスケーリングが重要なのか、そしてあの難しそうなバイプロットをどう読み解くのか。これらを読み終える頃には、すべて理解できているはずです。それでは、さっそく見ていきましょう!
1. PCAの「レシピ」:ローディングを理解する
人の健康状態を説明しようとしている場面を想像してみてください。その人の体重、身長、血圧、心拍数のデータがあるとします。個々の数値を別々に見る代わりに、一つの「フィットネススコア」を作りたいと思うかもしれません。このスコアこそが主成分(PC)です。
では、どうやってそのスコアを作るのでしょうか?そこで使うのがローディングです。
重要用語:ローディング(\(\phi\))
ローディングは、各元の変数が特定の主成分に対してどれだけ貢献しているかを示します。料理のレシピにおける「材料」だと考えてください。ある変数のローディングが大きい(1や-1に近い)場合、それはその主成分にとって非常に重要な要素です。逆に0に近いなら、その変数はその主成分にはほとんど関与していません。
ローディングベクトル:
第1主成分(PC1)のローディングベクトルは、次のように表されます。
\( \phi_{1} = (\phi_{11}, \phi_{21}, ..., \phi_{p1}) \)
重要な制約:
公平性を保つため、一つの主成分に関するローディングの二乗和は必ず1にならなければなりません。
\( \sum_{j=1}^{p} \phi_{j1}^2 = 1 \)
これにより、アルゴリズムが分散を大きく見せかけるためにローディングを無限に大きくしてしまうのを防いでいます。
重要なポイント:ローディングは、主成分を作成する際の各変数の方向と重要度を教えてくれます。
2. 「新しい座標」:スコアを理解する
「レシピ(ローディング)」ができたら、それを実際のデータポイントに適用します。その結果がスコアです。
重要用語:主成分スコア(\(z\))
スコアとは、特定の個体(観測値)がその主成分においてどのような値を持つかを示したものです。もしPC1が「全体的なサイズ」を表すなら、ゾウは非常に高いスコアを持ち、ネズミは非常に低いスコアを持つことになります。
計算式:
観測値 \(i\) における第1主成分のスコアは、次のようになります。
\( z_{i1} = \phi_{11}x_{i1} + \phi_{21}x_{i2} + ... + \phi_{p1}x_{ip} \)
難しく見えるかもしれませんが、大丈夫です! 次の点だけ覚えておいてください。ローディングが成分(軸)を定義し、スコアは個々のデータポイントをその新しい成分の「言葉」に変換したものである、ということを。
3. なぜスケーリングが不可欠なのか
これはExam SRMの試験問題で非常によく出るトピックです!PCAを実行する前には、ほぼ必ず変数をスケーリングして、平均が0、標準偏差が1になるように調整します。
なぜでしょうか?
PCAは分散に依存するからです。もしある変数が「円(千円単位)」で測定され、別の変数が「パーセンテージ(0〜1)」で測定されていたら、数値自体が大きい「円」の方が単純に分散が大きくなってしまいます。するとPCAは、実際には重要でなくても「円」の変数がこの世で最も重要なものだと勘違いしてしまうのです!
避けるべきよくあるミス:
すべての変数がすでに同じ単位(すべてセンチメートルである等)でない限り、スケーリングを省略してはいけません。単位が異なる場合は、必ずスケーリングしてください!
クイック復習:
- スケーリングなし:単位の大きい変数が結果を支配してしまう。
- スケーリングあり:すべての変数が「公平に」評価される。
4. PCAの可視化:バイプロット
バイプロットは、スコアとローディングの両方を同時に表示する特別なグラフです。まさに一石二鳥のツールですね!
読み解き方:
1. 点(ドット):個々の観測値(スコア)を表します。近くにある点は、互いに似ていることを示します。
2. 矢印(ベクトル):元の変数(ローディング)を表します。
3. 方向:二つの矢印が同じ方向を向いていれば、それらの変数は正の相関があります。反対方向を向いていれば、負の相関があります。
4. 長さ:矢印が長いほど、その変数がプロットされている主成分に対して強い影響力を持っていることを示します。
豆知識: バイプロットの軸は通常、PC1(横軸)とPC2(縦軸)です。PC1は常にPC2よりも多くの情報を捉えます。
5. 寄与率(PVE: Proportion of Variance Explained)
PCAの目的は「可能な限り情報を維持しながらデータを削減すること」ですから、どれだけの情報を維持できたかを測定する方法が必要です。それがPVEです。
全分散:すべての変数の分散の合計です(スケーリングした場合は、通常変数の数 \(p\) と等しくなります)。
\(m\) 番目の主成分のPVE:
\( PVE_m = \frac{PC_m \, によって説明される分散}{全分散} \)
スクリープロット:
これは各主成分のPVEを示す棒グラフや折れ線グラフです。通常、左が高く、右に行くにつれて下がる滑り台のような形をしています。
- 「エルボー(肘)」法:いくつの主成分を残すかを決める際、グラフの傾きが急激に緩やかになる場所(肘のように見える点)を探します。これが適切な成分数を選ぶための一般的な目安です。
覚え方のコツ:PVEを「Power Value Earned(獲得したパワーの価値)」と考えてみてください。できるだけ少ない成分で、できるだけ多くの「パワー(分散)」を獲得したいですよね。
6. まとめと最終アドバイス
重要ポイントのまとめ:
- PC1はデータの分散が最大になる方向です。
- ローディングは方向を定義し、スコアは投影されたデータポイントです。
- スケーリングは、単位によるバイアスを防ぐために不可欠です。
- スクリープロットは、「エルボー」を探すことで成分数を選ぶのに役立ちます。
- PCAは教師なし学習であり、予測すべき「y」変数や「正解」は存在しません。
試験対策のヒント:PCAの解釈に関する問題が出たら、まずは変数がスケーリングされているかを確認しましょう。次に、バイプロットの矢印を見て、どの変数が「一緒に動いている」かを見ます。もしPC1が分散の70%を説明し、PC2が20%を説明しているなら、わずか2つの成分で全体の90%の物語を捉えられたことになります!
練習を続けてください。あなたは順調です!PCAは、いくつかの例を見ると突然「パッと理解できる」ようになるトピックの一つですよ。