因子分析と主成分分析の違いは何ですか?


215

私が使用する統計パッケージの多くは、これら2つの概念をまとめているようです。ただし、一方を他方に対して使用するために真実でなければならない異なる仮定またはデータの「形式」があるのではないかと思っています。実際の例は信じられないほど便利です。


2
ほとんどの大学の図書館で利用できる次の書籍、中に主成分分析と因子分析の章では、正確にあなたの質問に対処:apa.org/pubs/books/4316510.aspxを
user31256

3
あなた以下の回答に加えて、可能性があるにも読んで 、この、この鉱山のを。
ttnphns 14

2
そして、「私はPCAやFAを使用する必要があります」などの別の良い質問:stats.stackexchange.com/q/123063/3277
ttnphns

3
@ttnphns:このスレッドで回答を発行することをお勧めします。おそらく、他の関連するスレッドでの回答の注釈付きリストで構成されています。これにより、上記のコメント(現在はリンク付きの4つのコメント)を置き換えることができ、特に各リンクに簡単に注釈を付けた場合はより実用的です。たとえば、ここでこの問題の説明を探したり、その問題の説明を探したりしてください。これは単なる提案にすぎませんが、このスレッドは非常に有益だと思います!特定の利点の1つは、その回答にいつでもリンクを追加できることです。
アメーバ

2
同様の質問がMathOverflowで尋ねられ、私が優れた答えと考えるものを受け取りました:mathoverflow.net/questions/40191/…–
ダニエル

回答:


156

主成分分析には、観測された変数の線形合成の抽出が含まれます。

因子分析は、理論的潜在因子から観測変数を予測する形式モデルに基づいています。

心理学では、これらの2つの手法は、マルチスケールテストの構築に適用され、どのアイテムがどのスケールにロードされるかを決定します。それらは通常、同様の実質的な結論をもたらします(議論については、Comrey(1988)パーソナリティと臨床心理学におけるスケール開発の因子分析法を参照してください)。これは、いくつかの統計パッケージがそれらをまとめているように見える理由を説明するのに役立ちます。「主成分分析」が「因子分析」と誤ってラベル付けされている状況も見ました。

面では親指の単純なルール、私はあなたのことをお勧めしたいです。

  1. 観測された変数の原因となる潜在因子の理論モデルを想定またはテストする場合は、因子分析を実行します。

  2. 主成分分析を実行する相関する観測変数を重要な独立した複合変数のより小さなセットに単純に減らしたい場合。


5
経験則は非常に便利です。ありがとう。
ブランドンバーテルセン

1
経験則(1)について:潜在因子の理論モデルを、探索的手法ではなく確認的因子分析でテストしませんか?
ローマン

1
@romanはい。CFAを使用すると、EFAよりもモデルをより詳細に制御できます。たとえば、負荷をゼロに制限できます。均等な負荷。相関残差がある; 高次係数を追加します。等
ジェロミーアングリム

3
@Jeromy Anglim PCAが「重要な独立した複合変数のより小さなセット」を作ったと言うのは本当に正しいですか?または、「重要な相関のない複合変数の小さいセット」と本当に言うべきでしょうか。PCAで使用されている基礎となるデータが(多変量)正規分布ではない場合、縮小された次元データは無相関になりますか?
FXQuantTrader

1
ルールの2番目の親指は簡単に取得できますが、最初のルールを適用するにはどうすればよいですか?奇妙に聞こえるかもしれませんが、観測された変数に対して因子モデルを実行したいのはいつですか?
ベン

48

ここでの私の応答から:

PCAの後に回転(バリマックスなど)が続いているのはまだPCAですか?

主成分分析(PCA)と共通因子分析(CFA)は別個の方法です。多くの場合、同様の結果が生成され、PCSSはSPSS Factor Analysisルーチンのデフォルトの抽出方法として使用されます。これは間違いなく、両者の区別について多くの混乱をもたらします。

結論としては、これらは概念的に2つの異なるモデルです。PCAでは、コンポーネントは合計分散を最大化する実際の直交線形結合です。FAでは、因子は分散の共有部分を最大化する線形結合であり、「潜在的な構成要素」の根底にあります。これが、FAがしばしば「共通因子分析」と呼ばれる理由です。FAはさまざまな最適化ルーチンを使用し、PCAとは異なり、結果は使用される最適化ルーチンとそれらのルーチンの開始点に依存します。単純に唯一の解決策はありません。

Rでは、factanal()関数はCFAに最尤抽出を提供します。したがって、PCA抽出に基づくSPSS結果を再現することを期待しないでください。単に同じモデルやロジックではありません。同じアルゴリズムを使用していない可能性があるため、SPSSの最尤抽出を使用した場合に同じ結果が得られるかどうかはわかりません。

ただし、Rの良し悪しにかかわらず、SPSSがデフォルトとして提供する混同された「因子分析」を再現できます。Rのプロセスを次に示します。このコードを使用すると、このデータセットを使用してSPSS主成分の「因子分析」の結果を再現できます。(不定の符号を除く)。その結果は、Rの使用可能な回転方法のいずれかを使用して回転させることもできます。

data(attitude)
# Compute eigenvalues and eigenvectors of the correlation matrix.
pfa.eigen <- eigen(cor(attitude))
# Print and note that eigenvalues are those produced by SPSS.
# Also note that SPSS will extract 2 components as eigenvalues > 1 = 2.
pfa.eigen$values
# Set a value for the number of factors (for clarity)
kFactors <- 2
# Extract and transform two components.
pfa.eigen$vectors[, seq_len(kFactors)]  %*% 
  diag(sqrt(pfa.eigen$values[seq_len(kFactors)]), kFactors, kFactors)

5
パッケージprincipal(attitude, 2, rotate="none")からも同じ結果が得られることに注意してください。psychまた、カイザーの規則(ev> 1)は次元をテストするための最も推奨される方法ではありません(因子の数を過大評価します)。
chl

5
はい、私はサイケの校長がこれをまとめていることを知っています。私の目的は、主成分抽出法を使用するときにSPSSの「因子分析」が行っていたことを示すことでした。固有値ルールは、因子の数を選択するための貧弱な方法であることに同意します。しかし、それはまさにSPSSがデフォルトで行うことであり、これが私が実証していたことです。
ブレット

1
factanal()CFAではなくEFAを提供します。また、私の経験から、SPSSの最尤抽出factanal()では、斜め回転がない場合と同じ結果が得られるはずです。
pe-pe-rry 14

2
次の意味:「FAでは、要因は分散の共有部分を最大化する線形の組み合わせであり、その根底にある「潜在的な構成要素」です。'?
推測

また、CFAは、一般的なFAではなく、確認的なFA説明的なFAではなく)の略である場合があることに注意してください。
リチャードハーディ

33

あなたは最初の点については正しいですが、FAでは一般的に両方(一意性と共同性)で働きます。PCAとFAの選択は、心理学者の間で長年議論されてきました。しかし、私はあなたの主張にはあまり従いません。主軸の回転は、潜在因子の構築に使用される方法に関係なく適用できます。実際、ほとんどの場合、これは実際の理由(最も簡単な解釈、最も簡単なスコアリングルールまたは因子スコアの解釈など)のために使用されるVARIMAX回転(非相関因子を考慮した直交回転)です。 )おそらく現実をよりよく反映している可能性があります(潜在的な構成要素はしばしば相互に相関しています)、少なくともFAの伝統では、潜在的なコンストラクトが実際に変数間の観測された相互相関の中心にあると仮定しています。要点は、PCAの後にVARIMAX回転が続くと、「データ分析」の伝統における元の変数の線形結合の解釈が多少歪められることです(Michel Tenenhausの研究を参照)。心理測定の観点からは、FAモデルは測定誤差を明示的に考慮しているため、PCAはそのことを気にかけないため、FAモデルが優先されます。簡単に言えば、PCAを使用すると、各コンポーネント(因子)は変数の線形結合として表されますが、FAではこれらは因子の線形結合として表される変数です(あなたが言ったように、共同体と一意性の成分を含む)。要点は、PCAの後にVARIMAX回転が続くと、「データ分析」の伝統における元の変数の線形結合の解釈が多少歪められることです(Michel Tenenhausの研究を参照)。心理測定の観点からは、FAモデルは測定誤差を明示的に考慮しているため、PCAはそのことを気にかけないため、FAモデルが優先されます。簡単に言えば、PCAを使用すると、各コンポーネント(因子)は変数の線形結合として表されますが、FAではこれらは因子の線形結合として表される変数です(あなたが言ったように、共同体と一意性の成分を含む)。要点は、PCAの後にVARIMAX回転が続くと、「データ分析」の伝統における元の変数の線形結合の解釈が多少歪められることです(Michel Tenenhausの研究を参照)。心理測定の観点からは、FAモデルは測定誤差を明示的に考慮しているため、PCAはそのことを気にかけないため、FAモデルが優先されます。簡単に言えば、PCAを使用すると、各コンポーネント(因子)は変数の線形結合として表されますが、FAではこれらは因子の線形結合として表される変数です(あなたが言ったように、共同体と一意性の成分を含む)。FAモデルは、PCAがそれを気にしないが、測定誤差を明示的に説明するため、推奨されます。簡単に言えば、PCAを使用すると、各コンポーネント(因子)は変数の線形結合として表されますが、FAではこれらは因子の線形結合として表される変数です(あなたが言ったように、共同体と一意性の成分を含む)。FAモデルは、PCAがそれを気にしないが、測定誤差を明示的に説明するため、推奨されます。簡単に言えば、PCAを使用すると、各コンポーネント(因子)は変数の線形結合として表されますが、FAではこれらは因子の線形結合として表される変数です(あなたが言ったように、共同体と一意性の成分を含む)。

このトピックに関する以下の説明を最初に読むことをお勧めします。


7
この質問は別の質問stats.stackexchange.com/questions/3369/と統合されているため、私の答えは実際には少しトピックから外れているように見えるかもしれませ(最初に後者に答えます)。
chl

6
ああ、私はこの質問でこの質問にリンクした理由を疑問に思っていました... :)
ブランドン

1
PCA followed by VARIMAX rotation somewhat distorts the interpretation of the linear combinations of the original variables in the "data analysis" tradition。Chl、説明してもらえますか?それは面白い。
ttnphns 14年

32

Webには多数の推奨定義があります。統計学習に関するオンライン用語集の 1つを次に示します。

主成分分析

データセットの主要コンポーネントである新しい機能を構築する。主成分は、入力フィーチャの線形結合から構築された最大分散のランダム変数です。同様に、それらは主成分軸への投影であり、データセットの各ポイントへの平均二乗距離を最小化する線です。一意性を確保するには、すべての主成分軸が直交している必要があります。PCAは、入力と出力の両方にガウスノイズが存在する場合の線形回帰の最尤法です。場合によっては、PCAは、JPEG画像圧縮で使用されるDCTなどのフーリエ変換に対応します。「認識のための固有顔」(Turk&Pentland、J Cognitive Neuroscience 3(1)、1991)、Bishop、「

因子分析

最尤に明示的に基づくPCAの一般化。PCAと同様に、各データポイントは、部分空間でポイントをサンプリングし、それをフル次元のガウスノイズで摂動させることから生じると想定されます。違いは、因子分析ではノイズが任意の対角共分散行列を持つことができるのに対して、PCAはノイズが球形であると仮定することです。部分空間の推定に加えて、因子分析はノイズ共分散行列を推定します。「因子分析器の混合物のEMアルゴリズム」、PCAの次元の選択」を参照してください。


2
因子分析の説明は要点(対角共分散)を取得しますが、歴史的にはPCAの一般化として開発されていません。
推測

1
それで基本的に、PCAではsvdは共分散行列で、FAでは相関行列ですか?メソッドが適用されるフィールドから多くの用語を作成した後、実際の数学を見つけることは常に困難です。(トピック外:背後にあるマトリックス方程式を述べた70年代の論文が見つかるまで、パスモデリングとは何かを理解するために午後を過ごしました。)
Mark van der Loo

28

このスレッドの一番上の答えは、PCAは次元削減手法であり、FAは潜在変数手法であることを示唆しています。これはsensu stricto正しいです。しかし、ここでの多くの答えと他の場所での多くの治療法は、PCAとFAを2つの完全に異なる方法として提示し、反対の目標、方法、結果ではないにしても異なる。同意しません; PCAが潜在変数技術であると考えられる場合、それはFAに非常に近いものであり、非常によく似た方法と見なすべきです。

次のスレッドで、PCAとFAの類似点と相違点について独自の説明を提供しました。EFAの代わりにPCAを使用する正当な理由はありますか?また、PCAは因子分析の代わりになりますか?そこでは、単純な数学的理由から、変数の数がそれほど多くない場合(おそらく十数個)だけを考えると、PCAとFAの結果は非常に似ていると予想されると主張します。数学的な詳細とモンテカルロシミュレーションについては、リンクされたスレッドの私の[長い!]答えを参照してください。私の議論のより簡潔なバージョンについては、ここを参照してください: PCAとFAはどのような条件下で同様の結果をもたらしますか?

ここで、例を挙げて説明します。ワインのデータセットを分析しますUCI Machine Learning Repositoryのます。これは、p = 13変数で記述される3つの異なるブドウからのワインを含むかなりよく知られたデータセットです。相関行列は次のようになります。 n=178p=13

ワインデータセットの相関行列

私はPCAとFAの両方の分析を実行し、下の図に両方のバイプロットとしてのデータの2D投影を示しています(PCAは左側、FAは右側)。水平軸と垂直軸は、1番目と2番目のコンポーネント/因子スコアを示します。各ドットは1つのワインに対応し、ドットはグループに従って色付けされます(凡例を参照)。n=178

ワインデータセットのPCAおよびFA分析

元の各変数への1番目と2番目のコンポーネント/ファクターのロードは、黒い線で示されています。これらは、元の各変数と2つのコンポーネント/因子との相関に等しくなります。もちろん相関は1を超えることはできませんp=131331

PCAとFAにはほとんど違いがないことに注意してください!あちこちにわずかな偏差がありますが、全体像はほとんど同一であり、すべての荷重は非常に類似しており、同じ方向を向いています。これはまさに理論から予想されたものであり、驚くことではありません。それでも、観察することは有益です。

PS。同じデータセットのよりきれいなPCAバイプロットについては、@ vqvによるこの回答を参照してください。

PPS。PCA計算は標準ですが、FA計算にはコメントが必要な場合があります。因子負荷は、部分相関で初期化された共同体で、収束(9回の反復)まで「反復主因子」アルゴリズムによって計算されました。負荷が収束したら、バートレットの方法を使用してスコアを計算しました。これにより、標準化されたスコアが得られます。それぞれの因子の分散(負荷の長さによって与えられる)でそれらを拡大しました。


1
PCAおよび因子分析プロットの作成に使用したソフトウェアはどれですか?
rnso

1
Matlabを使用しました。私は答えにコードを貼り付けることを考えていました(通常は私の習慣です)が、この忙しいスレッドをさらに混乱させたくありませんでした。しかし、考えてみると、外部のWebサイトに投稿して、ここにリンクを残す必要があります。私はそれを行います。
アメーバ

2
PCAとFAが同様の結果(負荷)を与えることはめったにないので、PCA 、因子分析が広く定義されている場合、FAの特定のケースと見なすことができるのは事実です。それでも、FA(sensu stricto)とPCAは理論的にはまったく異なります。
ttnphns

2
(続き)要因は、超越的な潜在特性です。pr。コンポーネントは内在的な派生物です。2つの負荷プロットは実際には似ていますが、理論的には根本的に異なります。左側のコンポーネントプレーンは、その上に投影される変数の部分空間として生成されました。因子平面は変数の空間とは異なる空間として作成されたため、右側のプロットの「エイリアン」空間に投影されます。
ttnphns

3
(続き)しかし、右の写真(FA)は実際には真のバイプロットではなく、2つの異なる散布図、異なるスペースの重ね合わせです:ローディングプロット(軸は真の因子)とオブジェクトスコアプロット(軸は推定因子をスコアとして)。真の因子空間は「親」変数空間をオーバーランしますが、因子スコア空間はその部分空間です。あなたは、軸の2異質のペアを重ね合わせたが、彼らは状況が強く誤解を招くおそれがあり、それは善意だと思うし、私たちを説得同じラベル(両方のペアで「因数」と「因子2」)クマバイプロット左1等が、。
ttnphns

25

論理的なステップでの散布図の助けを借りたPCA対因子分析の基本的な、しかし一種の骨の折れる説明。(質問へのコメントで、他の場所へのリンクを作成する代わりに回答を投稿するように勧めてくれた@amoebaに感謝します。

変数の要約としてのPCA(特徴抽出)

すでにPCAを理解していることを願っています。今復活する。

ここに画像の説明を入力してください

V1V2a Eq.1 ]:

P1=a11V1+a12V2

P2=a21V1+a22V2

これらの係数は回転の余弦(=方向余弦、主方向)であり、いわゆる固有ベクトルを構成しますが、共分散行列の固有値は主成分分散です。PCAでは、通常、弱い最後のコンポーネントを破棄します。したがって、情報をほとんど失うことなく、最初に抽出したいくつかのコンポーネントでデータを要約します。

Covariances
        V1       V2 
V1  1.07652   .73915 
V2   .73915   .95534 

----PCA---- 
Eigenvalues      % 
P1  1.75756   86.500 
P2   .27430   13.500 

Eigenvectors
        P1       P2
V1   .73543  -.67761 
V2   .67761   .73543

プロットされたデータ、P1コンポーネント値(スコア)P1 = .73543*V1 + .67761*V2およびコンポーネントP2を破棄します。P1の分散は1.75756、共分散行列の1番目の固有値であるため、P1は86.5%に等しい合計分散を説明し(1.07652+.95534) = (1.75756+.27430)ます。

変数予測としてのPCA(「潜在」機能)

P1 V1V2

V1=a11P1+E1

V2=a12P1+E2

aE

ここに画像の説明を入力してください

P1軸は、その値(P1スコア)が緑色でタイル表示されています(これらの値は、P1へのデータポイントの投影です)。いくつかの任意のデータポイントにはA、B、...というラベルが付けられ、P1からの逸脱(エラー)は太字の黒いコネクタです。ポイントAについて、詳細が表示されます。V1およびV2軸上のP1スコア(緑色のA)の座標は、Eq.2に従ってV1およびV2のP1再構成値です。V1^=a11P1V2^=a12P1E1=V1V1^E2=V2V2^またベージュに、表示されています。ピタゴラスによれば、コネクタの「エラー」の長さの2乗は2つのエラーの2乗の合計です。

ここで、PCAの特徴は、データのすべてのポイントについてE1とE2を計算し、これらの座標をプロットする、つまりエラーの散布図だけを作成すると、クラウドの「エラーデータ」が破棄されるコンポーネントP2と一致することです。そしてそれはします:雲はベージュの雲と同じ絵の上にプロットされます-そしてあなたはそれが実際に軸P2(図1の P2コンポーネントスコアで並べられた)。

言うまでもありません。それは非常に明白です:PCAでは、破棄された下位コンポーネント、潜在的な特徴P1によって元の変数Vを説明(復元)するモデルで、予測誤差Eを正確に分解するものです。エラーEは一緒になって、除外されたコンポーネントを構成します。ここで、因子分析がPCAとは異なるところから始まります。

一般的なFA(潜在機能)のアイデア

正式には、抽出された潜在的特徴によってマニフェスト変数を予測するモデルは、PCAとFAで同じです。[ Eq.3 ]:

V1=a1F+E1

V2=a2F+E2

ここで、Fはデータから抽出されたEq.2の P1を置き換える潜在的な共通因子です。モデルの違いは、PCAとは異なり、FAではエラー変数(E1とE2)が必要なことです。 互いに無相関であるがあること

aaaaaaa a1は固有ベクトルです。

OK、スレッドに戻ります。E1とE2は因子分析では相関関係がありません。したがって、それらは、円形または楕円形のエラーのクラウドを形成する必要がありますが、斜め方向ではありません。PCAでは、彼らの雲は斜めに進むP2と一致する直線を形成しました。両方のアイデアが写真に示されています:

ここに画像の説明を入力してください

エラーはFAの丸い(斜めに伸びた)雲ではないことに注意してください。FAの因子(潜在)は多少異なる方向に向けられています。つまり、PCAの「潜在」である最初の主成分ではありません。写真では、ファクターラインが少し円錐形になっていますが、最終的には明らかになります。

PCAとFAのこの違いの意味は何ですか?データクラウドの対角楕円形状に見られる変数。P1は最大分散をスキムしたため、楕円はP1に向けられます。その結果、P1はそれ自体で相関を説明しました。しかし、既存の相関量を適切に説明していませんでした。相関性ではなく、データポイントの変動を説明するように見えました。実際には、相関に対して過剰に説明され、その結果は、過剰な説明を補う対角線の相関するエラーの雲でした。P1だけでは、相関/共変動の強度を包括的に説明できません。因子F 一人でやる。そして、それができるようになる条件は、エラーが無相関になることを強制できる正確な場所です。エラークラウドは丸いため、因子が抽出された後も正または負の相関性は残っていないため、それがすべてをスキムした要因です。

次元削減として、PCAは分散を説明しますが、相関関係を不正確に説明します。FAは相関関係を説明しますが、PCAができる限り多くのデータ変動を(共通の要因によって)説明できません。呼ばれるネット相関部分、ある変動性のその部分のためのFAのアカウントの要因(S)共同性。したがって、要因は、入力変数を「内」または「背後」に隠して相関させる実際のまだ観察できない力/特徴/特性として解釈できます。数学的に相関をうまく説明しているからです。主成分(最初はほとんどありません)は数学的に説明しません。そのため、「潜在特性」(またはそのようなもの)と呼ぶことができます

分析が相関行列ではなく共分散行列(例のように)に基づいていた場合、負荷の乗算は相関、または共分散の形での相関を説明(復元)するものです。得られたデータで行った因子分析によりa_1=.87352, a_2=.84528、積a_1*a_2 = .73837は共分散にほぼ等しくなり.73915ます。一方、PCAの負荷はでしたa1_1=.97497, a1_2=.89832ので、かなりa1_1*a1_2 = .87584過大評価して.73915います。

PCAとFAの主な理論上の違いを説明したので、データに戻ってアイデアを例証しましょう。

FA:近似解(因子スコア)

以下は、暫定的に「準最適因子分析」と呼ぶ分析の結果を示す散布です。図3

A technical detail (you may skip): PAF method used for factor extraction.
Factor scores computed by Regression method.
Variance of the factor scores on the plot was scaled to the true
factor variance (sum of squared loadings).

ここに画像の説明を入力してください

PCAの図2からの逸脱を参照してください。エラーのベージュの雲は丸くなく、斜めに楕円形ですが、PCAで発生した細い斜めの線より明らかに太いです。また、エラーコネクタ(一部のポイントに表示)はもはや平行ではないことに注意してください(PCAでは、定義によりP2と平行でした)。さらに、たとえば、因子のF軸に対して対称にミラーリングされているポイント "F"および "E"を見ると、予期しないことに、対応する因子スコアがまったく異なる値であることがわかります。言い換えれば、因子スコアは、単に線形変換された主成分スコアではありません。因子Fは、P1の方法とは異なる独自の方法で発見されます。そして、同じプロットに一緒に表示された場合、それらの軸は完全に一致しません図4

ここに画像の説明を入力してください

それとは別に、それらの向きが少し異なりますが、F(スコアで並べて表示)は短くなります。つまり、P1が占めるよりも小さい分散を占めます。前述のように、因子はV1 V2の相関性の原因となる変動性のみを考慮します。つまり、変数を原始共分散0から事実共分散に導くのに十分な全分散の部分です。.73915

FA:最適解(真の因子)

最適な因子解法は、エラーが円形または非対角の楕円雲である場合です:E1とE2は完全に無相関です。因子分析は実際に戻りますそのような最適なソリューションを。上記のような単純な散布図では表示しませんでした。どうして?-結局のところ、それは最も興味深いものだったでしょう。

その理由は、3Dプロットを採用しても、散布図で十分に表示することが不可能だからです。理論的には非常に興味深い点です。E1とE2を完全に無相関にするために、これら3つの変数F、E1、E2 すべて、V1、V2で定義される空間(平面)に存在しない必要があるようです。そして、3つは互いに無相関でなければなりません。このような散布図を5Dで描画することは可能だと思います(4Dでギミックを使用することもできます)が、残念ながら3Dの世界に住んでいます。Fは観測データの唯一の(クリーンな)完全な相関性のソースである想定されるため、因子FはE1とE2の両方に無相関である必要があります。因子分析は、p2つの相関のない(重複しない)部分への入力変数:次元、エラーが固有因子とも呼ばれる場合、相互に無相関)共同体部分(- m次元、m共通因子が支配する場合)および一意性部分(p

したがって、ここで散布図にデータの真の要因を表示しないことをご容赦ください。ここで行われているように、「対象空間」のベクトルを介して非常に適切に視覚化できます。ように、データポイントを表示せずに。

上記の「共通FA(潜在機能)のアイデア」のセクションでは、真の因子軸が平面V1 V2にないことを警告するために、因子(軸F)をくさびとして表示しました。つまり、主成分P1とは対照的に、軸としての因子Fはその空間での軸V1またはV2の回転ではなく、変数としてのF は変数V1とV2の線形結合ではありません。したがって、Fは、変数の派生ではなく、外部の独立変数としてモデル化(変数V1 v2から抽出)されます。PCAが始まるEq.1のような方程式は、因子分析の真の(最適な)因子の計算には適用できませんが、正式な同型方程式Eq.2およびEq.3両方の分析に有効です。つまり、PCA変数ではコンポーネントが生成され、コンポーネントは変数を逆予測します。FA 因子では、変数を生成/予測しますが、逆ではありません -共通因子モデルは概念的にそう仮定しますではなく、技術的には観測された変数から因子が抽出されますが、ます。

真の因子は顕在変数の関数ではないだけでなく、真の因子の一意に定義されいません。言い換えれば、それらは単に未知です。これはすべて、データのホーム2D空間ではなく、過度の5D分析空間にいるという事実によるものです。因子スコアと呼ばれる、真の因子値に対する適切な近似(多数の方法が存在します)のみが存在します。因子得点は、主成分得点であるように、それらはあまりにもV1、V2、の線形関数として計算され、平面V1 V2にあるか、そして、それは彼らがありました「FA:近似解(因子スコア)」セクションでプロットしたものです。主成分スコアは真の成分値です。因子スコアは、未確定の真の因子値に対する合理的な近似にすぎません。

FA:手順のまとめ

前の2つのセクションで述べたことを1つの小さな塊にまとめ、最終ストロークを追加します。実際、FAは( a

したがって、「FA:近似解(因子スコア)」セクションで表示される「因子解」は、実際には最適な負荷、つまり真の因子に基づいています。しかし、運命によって、スコアは最適ではありませんでした。スコアは、コンポーネントスコアと同様に、観測された変数の線形関数になるように計算されるため、散布図で両方を比較することができ、PCAアイデアからFAアイデアへの段階的なパスのように示すために教訓を追求しました。

「因子の空間」で因子スコアを使用して同じバイプロット因子負荷でプロットする場合は注意が必要です。負荷は真の因子に関連し、スコアは代理因子に関連することに注意してください(このスレッドのこの回答に対する私のコメントを参照)。

因子の回転(負荷)は、潜在的な特徴の解釈に役立ちます。PCAを因子分析のように使用する場合(つまり、変数予測としてのPCAを参照)、PCAでも荷重の回転を行うことができます。PCAは、変数の数が増えるにつれてFAの結果に収束する傾向があります(2つの方法の実用的および概念的な類似点と相違点については、非常に豊富なスレッドを参照してください)。この回答の最後にあるPCAとFAの違いのリストを参照してください。アイリスデータセットでのPCAとFAの段階的な計算は、ここにあります。このスレッド以外のトピックに関する他の参加者の回答への良いリンクがかなりあります。申し訳ありませんが、現在の回答ではそれらのいくつかしか使用していません。

こちらの PCAとFAの違いの箇条書きリストもご覧ください。


1
+1。あなたがそれを書いてくれてうれしいです、このスレッドは間違いなくあなたからの答えを欠いていました。読む前に賛成しました(めったにしません)が、その後の読書は確かに楽しみました。あとでコメントするかもしれませんが、とりあえずちょっとしたちょっとした注意点があります。FAでエラークラウドを「ラウンド」にすべきだと何度か書いています。しかし、実際には、V1とV2の一意性は異なる分散を持つ可能性があるため、楕円形である可能性が高く、相関がゼロでなければなりません。読者をこの詳細と混同したくないと思います。
アメーバ

1
V1=a1F+E1V2=a2F+E2E1E2=N0-次に、これらの関係を使用して、V1およびV2のサンプルを生成します。V1とV2が生成された後、最適なFAを実行する場合、(E1、E2)のほぼ正確な推定値を取得する必要があり、楕円雲を形成します。さらに、F、E1、E2はV1およびV2と同じ平面で表現できるようになりました。

@kasa、あなたのコメントは私の答えを呼んでいたのですか、それともアメーバのコメントですか?あなたのコメントが、FAで3つの潜在変数が元の空間に存在せず、あなたがそれを示すことができるという私の主な主張に反する場合、それを示す答えを出してみませんか?ただし、最適なFAでは、誤差はまったく相関関係がなく通常の相関関係のない母集団から発生していると想像することはできません。
ttnphns

@ttnphns:混乱して申し訳ありませんが、主な主張を疑っていました。数日後に回答として表示するようにします。ありがとう!

21

因子分析と主成分分析の違いは次のとおりです。

•因子分析には、構造化モデルといくつかの仮定があります。この点では、純粋な数学的変換である主成分分析には適用されない統計的手法です。

•主成分分析の目的は、分散を説明することです。一方、因子分析は変数間の共分散を説明します。

2つの間の混乱の最大の理由の1つは、因子分析の因子抽出方法の1つが「主成分分析法」と呼ばれるという事実に関係しています。ただし、PCAを使用することとFAの主成分メソッドを使用することは別のことです。名前は似ているかもしれませんが、大きな違いがあります。前者は独立した分析方法であり、後者は単に因子抽出のツールです。


13

私にとって(そしてこれが役立つことを願っています)、因子分析はPCAよりもはるかに便利です。

最近、因子分析を通してスケールを分析することができました。このスケールは(業界で広く使用されていますが)PCAを使用して開発されたものであり、私の知る限り、因子分析は行われていません。

因子分析(主軸)を実行すると、3つのアイテムのコミュニティ性が30%未満であることがわかりました。つまり、アイテムの分散の70%以上が分析されていません。PCAはデータを新しい組み合わせに変換するだけで、コミュニティを気にしません。私の結論は、尺度は心理測定の観点からはあまり良いものではなく、別のサンプルでこれを確認しました。

基本的に、因子を使用して予測する場合はPCAを使用し、潜在因子を理解する場合は因子分析を使用します。


11

@StatisticsDocConsultingの答えを拡張します。EFAとPCAの間の負荷の違いは、少数の変数で重要です。これをRで実証するシミュレーション関数を次に示します。

simtestit=function(Sample.Size=1000,n.Variables=3,n.Factors=1,Iterations=100)
{require(psych);X=list();x=matrix(NA,nrow=Sample.Size,ncol=n.Variables)
for(i in 1:Iterations){for(i in 1:n.Variables){x[,i]=rnorm(Sample.Size)}
X$PCA=append(X$PCA,mean(abs(principal(x,n.Factors)$loadings[,1])))
X$EFA=append(X$EFA,mean(abs(factanal(x,n.Factors)$loadings[,1])))};X}

IterationsSample.Size=1000Iterationsprincipal()factanal()

このコードを使用して、データを生成するためにそれぞれ500回の反復を行う3〜100個の変数のサンプルをシミュレートしました。

Y=data.frame(n.Variables=3:100,Mean.PCA.Loading=rep(NA,98),Mean.EFA.Loading=rep(NA,98))
for(i in 3:100)
{X=simtestit(n.Variables=i,Iterations=500);Y[i-2,2]=mean(X$PCA);Y[i-2,3]=mean(X$EFA)}

...変数の数に対する(変数と反復にわたる)平均負荷の感度のプロットの場合:

.067


10

PCAは、コミュニティがすべての変数で1に等しいと想定されるFAのようなものと考えることができます。実際には、これは、共同性が低いためにFAで比較的低い要素負荷を持つアイテムは、PCAでより高い負荷を持つことを意味します。これは、分析の主な目的がアイテムの長さを削減し、負荷が低いまたはあいまいなアイテムのアイテムのバッテリーをきれいにすること、またはアイテムプールで十分に表現されていない概念を識別することである場合、望ましい機能ではありません。


10

とても素敵な教科書からの引用(Brown、2006、pp。22、重点が追加されました)。
PCA =主成分分析
EFA =探索的因子分析
CFA =確認的因子分析

EFAに関連していますが、主成分分析(PCA)は、一般的な因子分析の推定方法としてしばしば誤分類されます。前の段落で説明した推定量(ML、PF)とは異なり、PCAは、共通因子モデルに基づいていない異なる一連の定量的手法に依存しています。PCAは、共通の差異と固有の差異を区別しません。むしろ、PCAは、測定値間の相関を説明するのではなく、測定値の分散を説明することを目的としています。したがって、PCAは、後続の分析で使用する、より多くのメジャーセットをより小さく管理しやすい数の複合変数に削減するためのデータ削減手法としてより適切に使用されます。ただし、一部の方法論者は、PCAがEFAの合理的またはおそらく優れた代替品であると主張しています。PCAがいくつかの望ましい統計特性を持っているという事実に照らして(例えば、計算が単純で、不適切な解決策の影響を受けず、EFA、PCAが主成分の参加者のスコアを計算する能力と同様の結果を生成しますが、 EFAはそのような計算を複雑にします)。この問題に関する議論は続いているが、ファブリガー等。(1999)因子分析におけるPCAの場所の議論に反対するいくつかの理由を提供します。これらの著者は、EFAとPCAが異なる結果を生み出す状況を強調しています。たとえば、共同体が低い場合、または特定の要因の指標が少数しかない場合(Widaman、1993を参照)。多くの場合、EFAの結果と同様の結果が得られます。PCAは主成分に関する参加者のスコアを計算できますが、EFAの不確定な性質はそのような計算を複雑にします)。この問題に関する議論は続いているが、ファブリガー等。(1999)因子分析におけるPCAの場所の議論に反対するいくつかの理由を提供します。これらの著者は、EFAとPCAが異なる結果を生み出す状況を強調しています。たとえば、共同体が低い場合、または特定の要因の指標が少数しかない場合(Widaman、1993を参照)。多くの場合、EFAの結果と同様の結果が得られます。PCAは主成分に関する参加者のスコアを計算できますが、EFAの不確定な性質はそのような計算を複雑にします)。この問題に関する議論は続いているが、ファブリガー等。(1999)因子分析におけるPCAの場所の議論に反対するいくつかの理由を提供します。これらの著者は、EFAとPCAが異なる結果を生み出す状況を強調しています。たとえば、共同体が低い場合、または特定の要因の指標が少数しかない場合(Widaman、1993を参照)。(1999)因子分析におけるPCAの場所の議論に反対するいくつかの理由を提供します。これらの著者は、EFAとPCAが異なる結果を生み出す状況を強調しています。たとえば、共同体が低い場合、または特定の要因の指標が少数しかない場合(Widaman、1993を参照)。(1999)因子分析におけるPCAの場所の議論に反対するいくつかの理由を提供します。これらの著者は、EFAとPCAが異なる結果を生み出す状況を強調しています。たとえば、共同体が低い場合、または特定の要因の指標が少数しかない場合(Widaman、1993を参照)。とにかく、分析の主要な理論的根拠と経験的目的が共通因子モデルと一致している場合、PCAを実施することは概念的および数学的に矛盾しています。つまり、指定された目的が、より少ない数の潜在次元を持つ一連の指標の相互相関を再現することであり、観測された測定値の測定誤差の存在を認識する場合、EFAはより適切です。フロイドとウィダマン(1995)は、PCAとは異なり、EFAとCFAは共通因子モデルに基づいているという点で、EFAに基づく推定値はPCAから得られる推定値よりもCFAに一般化する可能性が高いという関連点を述べています。これは、EFAが規模の開発および構成の検証においてCFAの前兆としてしばしば使用されるという事実を考慮すると、注目に値する考慮事項です。PCAとEFAの計算上の違いの詳細なデモンストレーションは、多変量および因子分析の教科書で見つけることができます(例:Tabachnick&Fidell、2001)。

ブラウン、TA(2006)。応用研究の確認因子分析。ニューヨーク:ギルフォードプレス。


6

TippingとBischopの論文では、確率的PCA(PPCA)と因子分析の密接な関係が議論されています。PPCAは、従来のPCAよりもFAに近いです。一般的なモデルは

y=μ+Wバツ+ϵ

WRpdバツN0ϵN0Ψ

  • Ψ
  • Ψ=σ2

マイケル・E・ティッピング、クリストファー・M・ビショップ(1999)。確率的主成分分析、王立統計学会誌、第61巻、第3号、611〜622ページ


2
+1。はい。PCAとFAの関係を理解するには、PPCAを理解することが必要だと思います。しかし、PCA / PPCAの関係について議論することで、答えを改善できます。
アメーバ

3

これらの応答はどれも完璧ではありません。FAまたはPCAには、いくつかのバリエーションがあります。比較するバリアントを明確に指摘する必要があります。最尤因子分析とホテリングのPCAを比較します。前者は潜在変数が正規分布に従うと仮定しますが、PCAにはそのような仮定はありません。これにより、ソリューション、コンポーネントのネスト、ソリューションの一意性、最適化アルゴリズムなどの違いが生じました。


1
これについて少し拡張できるかと思います-最後の文に違いがあると言っていますが、それらの違いが何であるか、それらの違いがどのように重要であるかについて多くの情報を与えていませんか?
シルバーフィッシュ

1
最も遠い2つの方法を選択し、それらが実際に異なると主張することは-あなたのように-完全な論理でもありません。おそらく、これら2つがどのように似ているかを見つけて報告する必要があります。あるいは、最も単純な方法(単純なPCAとPAFなど)を選択し、それらがどのように異なるかを報告することもできます。
ttnphns

1
ホテリングのPCAは潜在ガウス分布を想定しています。
推測

1

この投稿には多くの素晴らしい回答がありましたが、最近、別の違いに出会いました。

クラスタリングは、PCAとFAで異なる結果が得られる1つのアプリケーションです。データに多くの機能がある場合、上位のPCの方向を見つけて、これらのPCにデータを投影し、クラスタリングを進めることができます。多くの場合、これはデータに内在するクラスターを乱します-これは十分に証明された結果です。研究者は、モデル内の低次元の潜在因子を探すサブスペースクラスタリング手法を進めることを提案しています。

この違いを説明するために、 Crabs、Rデータセットを。Crabsデータセットには200行8列があり、種の2つの色の形と雌雄それぞれ50のカニの5つの形態測定を記述します-本質的に4(2x2)の異なるクラスがありますカニ。

library(MASS)
data(crabs)
lbl <- rep(1:4,each=50)
pc <- princomp(crabs[,4:8])
plot(pc) # produce the scree plot
X <- as.matrix(crabs[,4:8]) %*% pc$loadings
library(mclust)
res_12 <- Mclust(X[,1:2],G=4)
plot(res_12)


res_23 <- Mclust(X[,2:3],G=4)
plot(res_23)

PC1およびPC2を使用したクラスタリング: ここに画像の説明を入力してください

PC2およびPC3を使用したクラスタリング: ここに画像の説明を入力してください

#using PC1 and PC2:
     1  2  3  4
  1 12 46 24  5
  2 36  0  2  0
  3  2  1 24  0
  4  0  3  0 45

#using PC2 and PC3:
    1  2  3  4
  1 36  0  0  0
  2 13 48  0  0
  3  0  1  0 48
  4  1  1 50  2

上記のプロットからわかるように、PC2とPC3はPC1よりも多くの識別情報を保持しています。

Mixture of Factor Analyzersを使用して潜在因子を使用してクラスター化しようとすると、最初の2台のPCを使用した場合に比べてはるかに良い結果が得られます。

mfa_model <- mfa(y, g = 4, q = 2)
  |............................................................| 100%
table(mfa_model$clust,c(rep(1,50),rep(2,50),rep(3,50),rep(4,50)))

     1  2  3  4
  1  0  0  0 45
  2 16 50  0  0
  3 34  0  0  0
  4  0  0 50  5

この答えが本当に質問に答えているとは思えない。答えは、PCAまたはFA自体ではなく、PCAまたはFA後のクラスター分析です。しかし、その点でも答えは薄暗いか、未完成です。表示する違いをどのように説明しますか?
ttnphns

@ttnphnsクラスター分析に関する答えに同意します。ただし、OPは、一方を他方よりも使用する必要があるPCA / FAの実際のシナリオも要求していました。通常、PCAまたはFAは最終目標ではありません。たとえば、社会科学の場合、最終目標は被験者を異なるクラスター/グループにセグメント化することです。私の答えはそのようなシナリオに対処します。場合には、私の答えを改善できると思うので、お気軽に指摘してください。

あなたの発見を説明すれば、あなたの答えは本当に関連するものになると思います。PCAとFAの違いは、2つの方法の本質的な違いであると主張します(クラスタリングでのみ明らかになります)。メソッドのモデルの違いから理論的にどのように、またはなぜ違いが生じるかを示すか、少なくとも推測する必要があると思います。
ttnphns
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.