免責事項:@ttnphnsはPCAとFAの両方について非常に精通しており、私は彼の意見を尊重し、このトピックに関する多くの素晴らしい回答から多くを学びました。しかし、私はここでの彼の返事と、彼だけでなく、このトピックに関するこのトピックに関する他の(多数の)投稿にも反対する傾向があります。むしろ、それらの適用性は限られていると思います。
PCAとFAの違いは過大評価されていると思います。
そのように見てください:両方の方法は、与えられた共分散(または相関)行列の低ランク近似を提供しようとします。「低ランク」とは、限られた(少ない)数の潜在因子または主成分のみが使用されることを意味します。データの共分散行列がCの場合、モデルは次のとおりです。n × nC
P C A :P P C A :F A :C ≈ W W⊤C ≈ W W⊤+ σ2私C ≈ W W⊤+ Ψ
ここで、はk列(通常はkが小さい数であるk < n)で構成される行列で、k個の主成分または因子を表し、Iは単位行列、Ψは対角行列です。各メソッドは、左辺と右辺の差を最小化するW(およびその他)を見つけるように定式化できます。Wkkk < nk私ΨW
PPCAは確率的PCAの略で、それが何であるかわからなければ、今のところそれほど重要ではありません。言及したかったのは、PCAとFAの間にきちんと収まり、モデルの複雑さが中程度だからです。また、PCAとFAの間の大きな差を遠近法に入れています:確率モデル(FAとまったく同じ)であるにもかかわらず、実際にはPCAとほぼ同等であることがわかります(は同じ部分空間にまたがります)。W
最も重要なことは、モデルがの対角線を処理する方法のみが異なることに注意してください。次元nが大きくなると、対角線の重要度が次第に小さくなります(対角線上にn個の要素があり、対角線上にn (n − 1 )/ 2 = O(n 2)要素があるため)。その結果、nが大きい場合、通常、PCAとFAの間に大きな違いはほとんどありません。nが小さい場合、実際には大きく異なる可能性があります。Cnnn (n − 1 )/ 2 = O(n2)nn
ここで、一部の学問分野の人々がPCAを好む理由に関する主な質問に答えます。私はそれがFAより数学的にはるかに簡単であるという事実に要約すると思います(これは上記の式から明らかではないので、ここで私を信じなければなりません):
PCAとPPCA(わずかに異なる)には分析ソリューションがありますが、FAにはありません。したがって、FAは数値的に適合させる必要があり、それを行うさまざまなアルゴリズムが存在し、おそらく異なる答えを出し、異なる仮定の下で動作するなどです。場合によっては、一部のアルゴリズムがスタックすることがあります(「heywoodケース」を参照)。PCAの場合、固有分解を実行して完了です。FAはもっと面倒です。
技術的には、PCAは変数を単純に回転させるため、@ NickCoxが上記のコメントで行ったように、変数を単なる変換と呼ぶことができます。
PCAソリューションは依存しません。最初の3つのPC(k = 3)を見つけることができ、最初の2つのPC は最初にk = 2を設定した場合に見つけるものと同一になります。FAには当てはまりません。k = 2の解は、k = 3の解の中に必ずしも含まれているとは限りません。これは直感に反し、混乱を招きます。kk = 3k = 2k = 2k = 3
もちろん、FAはPCAより柔軟なモデルであり(結局、より多くのパラメーターがあります)、多くの場合、より便利です。私はそれに反対しているわけではありません。私が主張しているのは、PCAは「データの記述」に関するものであり、FAは「潜在変数の発見」に関するものであるという概念が非常に異なるという主張です。私は、これがまったく(ほとんど)真実だとは思わない。
上記およびリンクされた回答に記載されているいくつかの特定のポイントにコメントするには:
「PCAでは抽出/保持する次元の数は基本的に主観的ですが、EFAでは数は固定されており、通常はいくつかのソリューションを確認する必要があります」 - ソリューションの選択は依然として主観的であるため、私はしませんここで概念的な違いを参照してください。どちらの場合も、モデルの適合とモデルの複雑さの間のトレードオフを最適化するために、が(主観的または客観的に)選択されます。k
「FAはペアワイズ相関(共分散)を説明できます。PCAは一般にそれを行うことができません」 -実際には、両方ともが大きくなるにつれて相関をより良く説明します。k
PCAとFAを使用する分野での慣行が異なるために、時々混乱が生じます(@ttnphnsの答えではありません!)。たとえば、FAの因子をローテーションして解釈可能性を改善することは一般的な慣行です。これはPCAの後にほとんど行われませんが、原則としてそれを妨げるものはありません。だから、人々はしばしばFAはあなたに「解釈可能な」何かを与え、PCAはそうではないと考えがちですが、これはしばしば幻想です。
最後に、非常に小さいの場合、PCAとFAの差は実際に大きくなる可能性があり、FAを支持する主張のいくつかは小さいnを念頭に置いて行われることを強調しておきます。極端な例として、n = 2の場合、単一の要因で相関関係を常に完全に説明できますが、1台のPCがそれを非常に悪く失敗する可能性があります。nnn = 2
更新1:データの生成モデル
コメントの数から、私が言っていることは議論の余地があると考えられていることがわかります。コメントセクションがさらにあふれる危険性があるので、「モデル」に関するコメントをいくつか示します(@ttnphnsおよび@gungのコメントを参照)。@ttnphnsは、上記の近似を指すのに「共分散行列の」モデルという言葉を使用したことを好まない。これは用語の問題ですが、彼が「モデル」と呼ぶものは、データの確率的/生成的モデルです。
P P C A :F A :x = W z +μ+ϵ、ε 〜N(0 、σ2私)x = W z +μ+ϵ、ε 〜N(0 、Ψ )
PCAは確率モデルではなく、この方法で定式化できないことに注意してください。
PPCAとFAとの差はノイズ項である:PPCAは同じ雑音分散を前提と FAが異なる分散を前提とし、一方、各変数に対してΨ I I(「uniquenesses」)。この小さな違いは重要な結果をもたらします。両方のモデルは、一般的な期待値最大化アルゴリズムに適合できます。FAのための解析解が知られているが、PPCAいずれかの解析EMは、(両方に収束する溶液を導出することができるσ 2及びWが)。結局のところ、W P P C Aには同じ方向のカラムがありますが、標準のPCAローディングよりも長さが短くなっていますW P C Aσ2Ψiiσ2WWPPCAWPCA(正確な式は省略しています)。そのため、私はPPCAを「ほぼ」PCAと考えています。どちらの場合も、は同じ「主部分空間」にまたがっています。W
証拠(Tipping and Bishop 1999)は少し技術的です。均質なノイズの分散が非常に簡単な解決策につながる理由のための直感的な理由は、と同じ固有ベクトル持つCの任意の値のσ 2を、これがために真実ではないC - Ψ。C−σ2ICσ2C−Ψ
そう、@ gungと@ttnphnsは、FAが生成モデルに基づいており、PCAがそうではないという点で正しいですが、PPCAも生成モデルに基づいているが、PCAと「ほぼ」同等であることを追加することが重要だと思います。それからそれはそのような重要な違いに見えなくなります。
更新2:PCAが最大分散を探していることがよく知られているのに、どうしてPCAは共分散行列に最適な近似を提供するのでしょうか?
PCAには2つの同等の定式化があります。たとえば、最初のPCは(a)投影の分散を最大化するものと、(b)最小の再構成誤差を提供するものです。より抽象的には、分散の最大化と再構築エラーの最小化の等価性は、Eckart-Young定理を使用して確認できます。
場合データ行列である(行として観察と、カラム、およびカラムなどの変数を中心されているものとする)、そのSVD分解がX = U S V ⊤、ウェルの列ことが知られており、Vは、散乱の固有ベクトルであります行列(または共分散行列、観測の数で割った場合)C = X ⊤ X = V S 2 V ⊤及びそれらが分散(すなわち主軸)を最大化する軸です。しかし、Eckart-Youngの定理により、最初のk個の PCは、Xに対する最高のランクk近似を提供します。XX=USV⊤VC=X⊤X=VS2V⊤kkX(この表記のみ取る手段K最大特異値/ベクトル)を最小‖ X - Xのk ‖ 2。Xk=UkSkV⊤kk∥X−Xk∥2
最初の PCは、Xに対する最良のランクk近似だけでなく、共分散行列Cにも提供します。実際、C = X ⊤ X = V S 2 V ⊤、そして最後の式は、のSVD分解提供Cを(ので、Vは直交し、S 2は対角です)。だから、エッカート・ヤングの定理は最高rank-ことを教えてくれるのkの近似Cがで与えられるC K = Vの k個のS 2 k個kkXCC=X⊤X=VS2V⊤CVS2kC。これは、注目して形質転換することができる W = V Sは、 PCA負荷量、などである C K = Vの k個のS 2 K V ⊤ K =( V S )K( V S )⊤ kは = W K W ⊤ K。Ck=VkS2kV⊤kW=VS
Ck=VkS2kV⊤k=(VS)k(VS)⊤k=WkW⊤k.
ここで一番下の行は、
冒頭で述べたように。
minimizing⎧⎩⎨⎪⎪⎪⎪∥C−WW⊤∥2∥C−WW⊤−σ2I∥2∥C−WW⊤−Ψ∥2⎫⎭⎬⎪⎪⎪⎪leadsto⎧⎩⎨⎪⎪PCAPPCAFA⎫⎭⎬⎪⎪loadings,
更新3:PCA FAがn → ∞の場合の数値デモ→n→∞
@ttnphnsから、次元が大きくなるにつれてPCAソリューションがFAソリューションに近づくという私の主張を数値的に実証するように勧められました。ここに行きます。
いくつかの強力な非対角相関を持つランダム相関行列を生成しました。私は、左上たN × Nの正方形ブロックCと、この行列のをN = 25 、50 、... 200次元の効果を調査するために変数を。各nに対して、コンポーネント/因子の数k = 1 … 5でPCAとFAを実行し、各kに対して非対角再構成誤差∑ i ≠ j [ C200×200 n×nCn=25,50,…200nk=1…5k(対角線上の点に注意し、FAは再構築 Cを起因して、完全にΨのPCAにはないのに対し、用語;しかし対角線はここでは無視されます)。次に、nおよびkごとに、PCA非対角誤差とFA非対角誤差の比を計算しました。FAは可能な限り最高の再構成を提供するため、この比率は1より大きくなければなりません。
∑i≠j[C−WW⊤]2ij
CΨnk1
右側では、異なる線が異なる値に対応し、nは水平軸に表示されます。なおとして、nが大きくなる、(すべてのための比Kアプローチ)1 PCAとFAがほぼ得同じ負荷、PCAつまり、≈ FA。比較的小さいとnは、例えばとき、N = 25、PCAは[予想通り】悪い行い、その差は小さいため、その強くないK、さらにためにK = 5の比は以下である1.2。knnk1≈nn=25kk=51.2
因子の数が変数の数nに匹敵するようになると、比率は大きくなります。上記のn = 2とk = 1の例では、FAは0再構成エラーを達成しますが、PCAはそうではありません。つまり、比率は無限になります。しかし、元の質問に戻ると、n = 21およびk = 3の場合、PCAはCの非対角部分の説明でFAに適度に失うだけです。knn=2k=10n=21k=3C
実際のデータセット(ワインデータセット)に適用されるPCAとFAの図解例については、ここでの私の回答を参照してください。n=13