主成分分析(PCA)とは

主成分分析(PCA)とは何か

主成分分析(PCA)は、大規模なデータセットの次元数を、元の情報の大部分を保持する主成分まで削減します。これは、潜在的に相関のある変数を、主成分と呼ばれるより小さな変数の集合に変換することによって行われます。

カール・ピアソンは1901年にPCAを開発したとされているが、大規模な多変量統計計算1を可能にするコンピュータの普及に伴い、広く利用されるようになりました。PCAは、傾向やパターン、外れ値を容易に特定できるため、高次元のデータ・セットや多くの特徴を持つデータを視覚化し、探索するのに非常に効果的です。

PCAは、機械学習アルゴリズムで使用するためのデータの前処理によく使用されます。初期のデータ・セットから最も関連性の高い情報を維持しながら、大規模なデータ・セットから最も有益な特徴を抽出できます。これにより、新しい特徴が追加されるたびにモデルのパフォーマンスに悪影響を及ぼすため、モデルの複雑さが軽減されます。これは一般的に「次元の呪い」とも呼ばれます。

PCAは高次元のデータセットをより小さな特徴空間に投影することで、多重共線性過剰適合などの一般的な問題を最小限に抑えるか、完全に排除します。多重共線性は、2つ以上の独立変数が互いに高い相関関係がある場合に発生し、因果モデリングで問題となる可能性があります。過剰適合したモデルは、新しいデータに対して一般化能力が低くなり、その価値を完全に低下させます。PCAは回帰分析で一般的に使用されるアプローチですが、パターン認識、信号処理、画像処理など、さまざまなユースケースでも活用されています。

主成分回帰やカーネルPCAなど、他にもPCAにはバリエーションがありますが、この記事の範囲では現在の文献における主要な手法に焦点を当てます。

The DX Leaders

AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。登録の際はIBMプライバシー・ステートメントをご覧ください。

ご登録いただきありがとうございます。

ニュースレターは日本語で配信されます。すべてのニュースレターに登録解除リンクがあります。サブスクリプションの管理や解除はこちらから。詳しくはIBMプライバシー・ステートメントをご覧ください。

PCAとLDA対因子分析の比較

PCAは、線形判別分析(LDA)のような次元削減手法です。LDAとは対照的に、PCAは教師あり学習タスクに限定されません。教師なし学習タスクの場合、これは、PCAがクラス・ラベルやカテゴリーを考慮することなく次元を削減できることを意味します。PCAは因子分析とも密接な関連があります。どちらも情報損失を最小限に抑えながら、データセット内の次元や変数の数を減らします。PCAは、変数を線形独立した主成分の部分集合に分解します。ただし、因子分析は一般的に、変数の広がりを捉える潜在変数、つまり未測定の因子に焦点を当てて、根底にあるデータ構造を理解するために使用されます。

オフィスでミーティングをするビジネスチーム

IBMお客様事例

お客様のビジネス課題(顧客満足度の向上、営業力強化、コスト削減、業務改善、セキュリティー強化、システム運用管理の改善、グローバル展開、社会貢献など)を解決した多岐にわたる事例のご紹介です。

PCAとk平均法クラスタリングの比較

PCAとk平均法クラスタリングはどちらもデータ分析に使用される教師なし機械学習の手法ですが、それぞれ目標と方法が異なります。PCAはデータの次元を削減するために使用されますが、k平均法クラスタリングは類似性に基づいてデータ・ポイントをグループ化します。どの手法を選択するかは、特定のデータセットと分析の目標によって異なります。

PCAは、元の変数の線形結合である主成分などの新しい変数を作成します。PCAは、複数の変数を含むデータセットを入力として受け取り、より低次元のサブスペース、つまり変数が少ない縮小されたデータセットを生成します。これは、予測モデルを組み込むための探索的データ分析でよく使用されますが、次元削減のためのデータ前処理でも使用されます。

k平均法は、クラスター中心からの距離に基づいてデータ・ポイントをクラスターに割り当てるクラスタリング・アルゴリズムです。1つ以上の変数を含むデータセットを入力として受け取り、類似したデータ・ポイントを持つ一連のクラスターを生成します。これは、画像セグメンテーション、顧客セグメンテーション、異常検知など、さまざまなユースケースでデータをクラスタリングするためによく使用されます。

主成分分析の仕組み

PCAは、大規模なデータ・セットの情報内容を、主成分と呼ばれる相関のない小さな変数のセットに要約します。これらの主成分は、他の線形結合と比較して最大の分散を持つ元の変数の線形結合です。これらの成分は、元のデータ・セットからできるだけ多くの情報を捉えます。

この統計手法は線形代数と行列演算の両方を含み、元のデータ・セットを主成分によって構造化された新しい座標系に変換します。主成分を支える共分散行列の固有ベクトルと固有値は、これらの線形変換の分析を可能にします。

想像してみてください、複数の特徴を持つデータ・セットをマッピングした結果、多次元の散布図ができ上がっています。固有ベクトルは散布図の分散の方向を示します。固有値は固有ベクトルの係数であり、この方向性データの重要性を示しています。したがって、固有値が高いということは、対応する固有ベクトルがより重要であることを意味します。主成分はデータの最大分散の方向を表すため、共分散行列の固有ベクトルでもあります。

PCAでは、第1主成分(PC1)と第2主成分(PC2)の2つの主要なコンポーネントが計算されます。

第1主成分

第1主成分(PC1)は、データ・ポイントが最大または最も分散する空間の方向です。これは、投影されたポイントの形状を最もよく表す線です。最初の成分で捉えられる変動性が大きいほど、元のデータ・セットから保持される情報も多くなります。他の主成分がそれ以上の変動性を持つことはできません。

第2主成分

第2主成分(PC2)は、PC1と同じ方法で計算します。PC2はデータセット内で次に大きい分散を占めており、PC1とは無相関でなければなりません。つまり、PC2はPC1に対して直交(垂直)である必要があります。この関係性は、PC1とPC2の相関がゼロに等しいと表すこともできます。

PCAをデータ・セットに適用する場合、PC1とPC2の関係を示すために通常、散布図が使用されます。PC1とPC2の軸は互いに垂直になります。

直交関係を持つグラフ上の線

もし後続のコンポーネントがある場合、それらも同じ特性を保持し、他のコンポーネントと相関せず、残りの変動を説明します。

主成分の計算

PCA計算プロセスは以下のステップに要約され、主成分がどのように計算され、それらが元のデータとどのように関連しているかを示しています。

連続型の初期変数の範囲を標準化する

PCAは特定の特徴に対して偏りを生じさせる可能性があるため、データの正規化が必要かどうかを評価することが重要です。データは、平均がゼロで標準偏差が1の正規分布を反映する必要があります。

このステップでは、各変数の平均値を計算し、元のデータ・セットから差し引きます。これにより、各変数が分析に等しく寄与するようになります。その後、この値を各変数の標準偏差で割り、すべての変数が同じスケールになるようにします。

共分散行列を計算して相関関係を特定する

共分散(cov)は、2つ以上の変数がどの程度強く相関しているかを測定します。共分散行列は、データ・セット内の初期変数のすべてのペアの組み合わせに関連する共分散を要約したものです。共分散行列を計算することは、変数間の関係、つまり変数が互いに対して平均からどのように変化するかを識別するのに役立ちます。このデータ行列は対称行列であり、変数の組み合わせはd×dとして表現できます(dは次元数)。たとえば、3次元データ・セットの場合、共分散行列内に3×3または9個の変数の組み合わせが存在します。

行列内の変数の記号は、組み合わせが相関しているかどうかを示します。

  • 正(変数は相関しており、同時に増加または減少します)

  • 負の相関(変数は負の相関があり、一方が増加すると他方が減少する)

  • ゼロ(変数は互いに無関係)

共分散行列の固有ベクトルと固有値を計算する

ここでは、共分散行列の固有ベクトル(主成分)と固有値を計算します。固有ベクトルである主成分は、データの最大分散の方向を表します。固有値は各成分の分散量を表します。固有ベクトルを固有値でランク付けすることで、主成分の順序を特定します。

主成分を選択する

ここでは、保持するコンポーネントと捨てるコンポーネントを決定します。固有値が低いコンポーネントは、通常、それほど重要ではありません。スクリープロットでは通常、総分散に対する各成分の寄与率や累積寄与率がプロットされます。これらのメトリクスは、保持すべき最適なコンポーネント数を決定するのに役立ちます。固有値や総分散のY軸が「肘」を形成するポイントが、一般的に含めるべきPCA成分の数を示します。

データを新しい座標系に変換する

最後に、データは主成分によって定義された新しい座標系に変換されます。つまり、共分散行列の固有ベクトルから作成された特徴ベクトルが、主成分によって定義された新しい軸にデータを投影します。これにより、元のデータ・セットよりも次元が少なく、ほとんどの情報を捉えた新しいデータが作成されます。

PCA結果の解釈

PCAプロットは、最初の2つの主成分を軸として使用して作成された散布図です。第1主成分(PC1)がx軸で、第2主成分(PC2)がy軸です。散布図は、観測値(データ・ポイント)と新しい変数(主成分)との関係を示します。各点の位置は、その観測値のPC1とPC2の値を示します。

プロットの矢印の方向と長さは、変数の負荷、つまり各変数が主成分にどのように寄与するかを示します。変数が特定のコンポーネントに対して高い負荷を持つ場合、その変数はそのコンポーネントと強く相関しています。これにより、どの変数がデータの変動に大きな影響を与えているかを明らかにすることができます。

PCAを適用した後に残る主成分の数は、データ出力の解釈に役立ちます。最初の主成分はデータの分散を最もよく説明し、後の各主成分はより少ない分散を説明します。したがって、主成分の数は元のデータ・セットから保持されている情報の量を示す可能性があります。PCAを適用した後の主成分の数が少ないと、データの変動をあまり捉えていない可能性があります。主成分の数が多いほどデータの変動が多いことを示しますが、結果の解釈が難しくなる可能性があります。スクリー・プロットまたは累積寄与率を使用して、保持する主成分の最適な数を決定できます。

主成分分析の応用

PCAを適用すると、多くの変数を含むデータ・セットを前処理したり、そこから最も有益な特徴を抽出したりすることができます。前処理により、関連情報を保持しながら複雑さが軽減されます。PCAを使用する一般的なシナリオは次のとおりです。

画像圧縮

PCAは、本質的な情報を保持しながら画像の次元を減らします。これにより、画像をコンパクトに表現でき、保存や送信が容易になります。

データの可視化

PCAは、2次元や3次元のプロットなどの低次元空間にデータを投影することで、高次元データを視覚化するのに役立ちます。これにより、データの解釈と探索が簡単になります。

ノイズフィルタリング

PCAは、根底にあるパターンを捉える主成分に焦点を当てることで、データからノイズや冗長な情報を除去できます。

乳がんの予測

PCAはヘルスケア分野でも応用されています。例えば、病気のより早期で正確な診断に役立っています。Akbarによる『主成分分析とロジスティック回帰を用いた乳がん予測』という論文では、ウィスコンシン大学マディソン校病院の患者から収集された有名な乳がんデータセット2を分析しています。この研究の著者であるAkbar氏は、PCAを使用して、次の6つの異なるデータ属性の次元を縮小します。

  • 乳房のしこりの平均半径

  • X線画像の平均テクスチャー

  • しこりの平均周囲長

  • しこりの平均面積

  • 画像の平均平滑度

  • 診断(患者ががんと診断されているかどうか)

その後、教師あり学習の分類アルゴリズムであるロジスティック回帰を適用し、乳がんの有無を予測しました。

主成分分析を使用するタイミング

他にも、線形判別分析ランダム・フォレスト、一様多様体近似および投影(UMAP)、t分布型確率的近傍埋め込み(t-SNE)など、多くの次元削減手法が利用可能です。以下の要素を考慮して、PCAがあなたの分析に適しているかどうかを判断してください。

  • 線形性:PCAは線形手法ですが、t-SNEやUMAPなどの他の手法は非線形です。つまり、PCAは変数間の線形関係を持つデータ・セットに適しています。非線形手法は、変数間の関係が非線形またはより複雑なデータ・セットに適しています。
  • 計算:PCAは計算に行列演算を使用して、大規模なデータ・セットを効率的に管理します。他の手法、例えばt-SNEやUMAPは計算コストが高く、大規模なデータ・セットには適していない可能性があります。
  • 情報の保存:PCAはデータの分散を最大限に保持します。t-SNEとUMAPはデータの局所構造を維持することに焦点を当てています。したがって、PCAは最も重要なデータ変数を特定するのに適しています。非線形手法は、データを低次元で視覚化するのに適しています。

  • 特徴抽出: PCAは特徴抽出技術です。元の変数の線形結合である新しい変数を生成します。他の手法(UMAPやt-SNEなど)は新しい変数を作成しません。これは、PCAがデータ内の最も重要な変数を識別できることを意味します。非線形手法は、データを低次元で視覚化するのに適しています。
関連ソリューション
IBM watsonx.ai

AI開発者向けの次世代エンタープライズ・スタジオであるIBM watsonx.aiを使用して、生成AI、基盤モデル、機械学習機能をトレーニング、検証、チューニング、導入しましょう。わずかなデータとわずかな時間でAIアプリケーションを構築できます。

watsonx.aiをご覧ください。
人工知能ソリューション

業界をリードするIBMのAI専門知識とソリューション製品群を使用すれば、ビジネスにAIを活用できます。

AIソリューションはこちら
AIコンサルティングとサービス

AIの導入で重要なワークフローと業務を再構築し、エクスペリエンス、リアルタイムの意思決定とビジネス価値を最大化します。

AIサービスはこちら
次のステップ

AI開発ライフサイクル全体にわたる機能にワンストップでアクセスできます。使いやすいインターフェース、ワークフロー、業界標準のAPIやSDKを利用して、強力なAIソリューションを構築できます。

watsonx.aiの詳細はこちら デモを予約