1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

主成分分析と因子分析の違いをまとめてみた

Last updated at Posted at 2025-01-18

主成分分析(PCA)と因子分析(FA)は、できることがよく似ており、違いが分かり難いと思う方も多いのではないでしょうか。

他の記事では数式を使った解説がされていますが、本記事では数式を使わず、説明文だけで両者の違いを比較してみました。

基本の考え方

主成分分析 因子分析
主成分分析は、観測変数の総分散を最大化する方向を見つける手法です。すべての主成分が観測変数の線形結合であり、相関行列や分散共分散行列を基に計算されます。ノイズも含む全ての分散を説明します。 因子分析は、観測変数が共通因子と固有因子の線形結合であると仮定し、共通因子を見つける手法です。観測変数間の共分散を説明する少数の因子を特定します。ノイズを除去し、共通の因子(共分散構造)を説明します。

共通点

1.次元削減:

  • 両方とも多次元データを少数の次元に縮約する手法です。
  • データの構造を簡潔に表現し、可視化や解釈を容易にします。

2.データの構造解析:

  • 相関行列を使用してデータ内のパターンを見つける手法です。
  • 潜在変数を特定し、データ間の関係性を明らかにします。

相違点

項目 主成分分析(PCA) 因子分析(FA)
目的 データ全体の分散を説明することが目的です。 データ内の共通構造や因果関係をモデル化することが目的です。
成果 観測変数の総分散が最大となるような新しい座標軸(主成分)を見つけます。 観測変数の共分散を説明する少数の潜在因子(共通因子)を見つけます。
方法 分散が大きいほど、その特徴量は情報を持っていると仮定し、元の分散を維持しながら特徴量を統合していきます。 各特徴量は、共通部分+固有部分+誤差で成り立っていると仮定し、数学的に共通部分を求めます。
解釈 データ全体の分散を説明します。ノイズも含まれます。 観測変数間の共分散を説明します。但し、固有因子(誤差)を含みません。

用途による違い

応用 主成分分析(PCA) 因子分析(FA) 備考
次元削減 両方の手法ともに次元削減のために利用されます。PCAは分散を最大化する方向を見つけ、因子分析は共分散を説明します。
データの圧縮 × PCAは情報の損失を最小限に抑えてデータを圧縮しますが、因子分析は圧縮を目的としていません。
ノイズ除去 両方の手法ともにノイズ除去に利用されます。PCAは分散が小さい成分を無視することでノイズを取り除き、因子分析は固有因子を分離します。
データの可視化 両方の手法ともに2次元や3次元にデータをプロットするために利用されます。
データの前処理 次元削減によりデータの前処理が容易になります。
分散最大化 × PCAは分散を最大化する方向を見つけますが、因子分析は共分散を説明する共通因子を見つけます。
共通因子の抽出 × 因子分析は共通因子を抽出するために利用されますが、PCAはこれを目的としていません。
潜在変数の特定 × 因子分析は潜在変数を特定しますが、PCAは潜在変数を特定することを目的としていません。
機械学習の前処理 × PCAは次元削減により機械学習モデルの前処理として利用されますが、因子分析はあまり利用されません。
データの解釈・理解 両方の手法ともにデータの構造やパターンを理解するために利用されます。
固有値・固有ベクトルの利用 × PCAは固有値・固有ベクトルを利用しますが、因子分析は異なるアプローチを取ります。
異常検知 PCAは異常検知に利用されますが、因子分析は異常検知にも利用可能ですが、PCAほど一般的ではありません。
説明変数の選択 PCAは重要な説明変数を選択するために利用されますが、因子分析も利用できますが、PCAの方が一般的です。

まとめ

今回は、主成分分析(PCA)と因子分析(FA)についての違いを文章だけで比較してみました。両者は非常によく似ていますが、両者は目的が違います。
主成分分析(PCA)は、分散が最大となるような新しい座標軸(主成分)を見つけることが目的ですが、共通因子(FA)は観測変数を共通部分+固有部分+誤差間に分解し、共通部分(共分散)の関係性を見つけることが目的となります。

Pythonで主成分分析、因子分析を使いたい場合は、下記の記事が役に立つと思います。コピペで使えるサンプルソースが掲載されているので、すぐに試せるようになっています。

【Python実践】データ分析の影の立役者!主成分分析(PCA)の使い方ガイド
【Python実践】データに潜む共通点を見つける!因子分析(FA)の使い方ガイド

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?