Det verkar som att ett antal av de statistiska paketen som jag använder slår samman dessa två begrepp. Jag undrar dock om det finns olika antaganden eller data ”formaliteter” som måste vara sanna för att använda varandra. Ett riktigt exempel skulle vara otroligt användbart.

Kommentarer

  • Kapitelkomponentanalysen och faktoranalyskapitlen i följande bok, som finns i de flesta högskolebiblioteken, adresserar din fråga exakt: apa.org/ pubs / books / 4316510.aspx
  • Förutom svaren nedan kan du också läsa detta och den här av mig.
  • Och en annan bra fråga som ” ska jag använda PCA eller FA ”: stats.stackexchange.com/q/123063/3277 .
  • @ttnphns: Jag uppmuntrar dig att ge ett svar i den här tråden, kanske bestående av en kommenterad lista över dina svar i andra relaterade trådar. Detta kan ersätta dina kommentarer ovan (för närvarande fyra sam med länkar) och skulle vara mer praktiskt, särskilt om du kort kommenterade varje länk. T.ex. titta här för förklaringen av den här frågan, leta efter den för en förklaring av den frågan etc. Det är bara ett förslag, men jag tror att den här tråden skulle ha stor nytta av den! En speciell fördel är att du alltid kan lägga till fler länkar till det svaret.
  • En liknande fråga ställdes på MathOverflow och fick vad jag anser vara ett utmärkt svar: mathoverflow.net/questions/40191/ …

Svar

Huvudkomponentanalys innebär att man extraherar linjära kompositer av observerade variabler.

Faktoranalys bygger på en formell modell som förutsäger observerade variabler från teoretiska latenta faktorer.

I psykologin dessa två tekniker används ofta i konstruktionen av test i flera skalor för att bestämma vilka artiklar som belastas på vilka skalor. De ger vanligtvis liknande materiella slutsatser (för en diskussion se Comrey (1988) Faktor-analytiska metoder för skalutveckling inom personlighet och klinisk psykologi). Detta hjälper till att förklara varför vissa statistikpaket verkar samla ihop dem. Jag har också sett situationer där ”huvudkomponentanalys” är felaktigt märkt ”faktoranalys”.

När det gäller en enkel tumregel , jag föreslår att du:

  1. Kör faktoranalys om du antar eller vill testa en teoretisk modell av latenta faktorer som orsakar observerade variabler.

  2. Kör analys av huvudkomponenter Om du bara vill minska dina korrelerade observerade variabler till en mindre uppsättning viktiga oberoende kompositvariabler.

Kommentarer

  • Tumregeln där är mycket användbar. Tack för det.
  • Angående tumregel (1): Skulle ’ t Jag testar en teoretisk modell av latenta faktorer med en bekräftande faktoranalys snarare än en utforskande fa?
  • @roman Ja. En CFA ger dig mycket mer kontroll över modellen än EFA. Du kan t.ex. begränsa belastningar till noll, jämföra belastningar, ha korrelerade resthalter ls; lägga till högre ordningsfaktorer; etc.
  • @Jeromy Anglim Är det riktigt korrekt att säga att PCA gör en ” mindre uppsättning viktiga oberoende kompositvariabler. ” Eller ska du verkligen säga ” mindre uppsättning viktiga okorrelerade sammansatta variabler ”. Om den underliggande informationen som används i PCA inte är (multivariat) normalt distribuerad kommer de reducerade dimensionella data endast att vara okorrelerade?
  • Den andra tumregeln är lätt att få, men hur tillämpar jag den första? Låter kanske konstigt men när vet jag att jag vill ’ köra en faktormodell mot observerade variabler?

Svar

Från mitt svar här:

Är PCA följt av en rotation (som varimax) fortfarande PCA?

Principal Component Analysis (PCA) och Common Factor Analysis (CFA) är distinkta metoder. Ofta ger de liknande resultat och PCA används som standardutvinningsmetod i SPSS-faktoranalysrutinerna. Detta leder utan tvekan till mycket förvirring om skillnaden mellan de två.

Kärnan är att dessa är två olika modeller, begreppsmässigt. I PCA är komponenterna faktiska ortogonala linjära kombinationer som maximerar den totala variansen.I FA är faktorerna linjära kombinationer som maximerar den delade delen av variansen – underliggande ”latenta konstruktioner”. Det är därför FA ofta kallas ”gemensam faktoranalys”. FA använder en mängd olika optimeringsrutiner och resultatet, till skillnad från PCA, beror på vilken optimeringsrutin som används och utgångspunkter för dessa rutiner. Det finns helt enkelt inte en enda unik lösning.

I R ger factanal () -funktionen CFA en maximal sannolikhetsutdragning. Du bör därför inte förvänta dig att den ska återge ett SPSS-resultat som är baserat på en PCA-extraktion. Det är helt enkelt inte samma modell eller logik. Jag är inte säker på om du skulle få samma resultat om du använde SPSS: s maximala sannolikhetsutdrag antingen eftersom de kanske inte använder samma algoritm.

För bättre eller sämre i R kan du dock reproducera den blandade ”faktoranalys” som SPSS ger som standard. Här är processen i R. Med den här koden kan jag reproducera SPSS-huvudkomponenten ” Faktoranalys ”med hjälp av denna dataset. (Med undantag för tecknet, som är obestämt). Resultatet kan sedan också roteras med någon av R: s tillgängliga rotationsmetoder.

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) 

Kommentarer

  • Observera att du får samma resultat med principal(attitude, 2, rotate="none") från psych -paket och att Kayser ’ s regel (ev > 1) är inte det mest rekommenderade sättet att testa för dimensionalitet (det överskattar antalet faktorer).
  • Ja, jag vet psych p rektor slår upp detta. Mitt syfte var att visa vad SPSS ” faktoranalys ” gjorde när man använde extraktionsmetoden för huvudkomponenter. Jag håller med om att egenvärdesregeln är ett dåligt sätt att välja antal faktorer. Men det är precis vad SPSS gör som standard och detta visade jag.
  • factanal() ger EFA inte CFA. Enligt min erfarenhet bör SPSS ’ Maximal sannolikhetsutdragning ge samma resultat som factanal() med tanke på att det inte finns någon sned rotation.
  • Vad betyder följande: ’ I FA är faktorerna linjära kombinationer som maximerar den delade delen av variansen – underliggande ” latenta konstruktioner ”. ’?
  • Observera också att CFA kan stå för bekräftande FA (i motsats till förklarande FA ) istället för gemensam FA .

Svar

Det finns många föreslagna definitioner på webb. Här är en från en online-ordlista om statistisk inlärning :

Huvudkomponent Analys

Konstruera nya funktioner som är de viktigaste komponenterna i en datamängd. Huvudkomponenterna är slumpmässiga variabler med maximal varians konstruerade från linjära kombinationer av inmatningsfunktionerna. På motsvarande sätt är de projektionerna på huvudkomponentaxlarna, vilket är linjer som minimerar det genomsnittliga kvadratiska avståndet till varje punkt i datamängden. För att säkerställa unikhet måste alla huvudkomponentaxlarna vara ortogonala. PCA är en maximal sannolikhetsteknik för linjär regression i närvaro av Gaussiskt brus på både ingångar och utgångar. I vissa fall motsvarar PCA en Fourier-transformation, såsom DCT som används vid JPEG-bildkomprimering. Se ”Eigenfaces for recognition” (Turk & Pentland, J Cognitive Neuroscience 3 (1), 1991), Bishop, ”Probabilistic Principal Component Analysis” och ”Automatic choice of dimensionality for PCA ”.dimensionalitet för PCA”.

Faktoranalys

En generalisering av PCA som uttryckligen baseras på maximal sannolikhet. Liksom PCA antas varje datapunkt uppstå från samplingen en punkt i ett underområde och stör den sedan med fulldimensionellt gaussiskt brus. Skillnaden är att faktoranalys gör att bruset kan ha en godtycklig diagonal kovariansmatris, medan PCA antar att bruset är sfäriskt. Förutom att uppskatta delområdet, faktoranalys uppskattar bråkovariansmatrisen. Se ”EM-algoritmen för blandningar av faktoranalysatorer”. dimension av dimensionalitet för PCA ”.

Kommentarer

  • Faktoranalysbeskrivningen får huvudpunkten (diagonal kovarians), men historiskt sett s har inte utvecklats som en generalisering av PCA.
  • Så i grund och botten är i PCA en svd ’ kovariansmatrisen och i FA korrelationsmatrisen? Det är alltid svårt för mig att hitta matematiken efter att metoder har byggt upp en hel del terminologi från det område där de används.(utanför ämnet: det tog mig en gång en hel eftermiddag att förstå vad vägmodelleringen är tills jag hittade ett (1) papper från 70 ’ som angav matrisekvationen bakom den. )

Svar

Du har rätt i din första punkt, även om du i FA jobbar generellt med båda (unika och gemenskap). Valet mellan PCA och FA är en långvarig debatt bland psykometriker. Jag följer dock inte riktigt dina poäng. Rotation av huvudaxlar kan användas oavsett vilken metod som används för att konstruera latenta faktorer. Faktum är att de flesta gånger är VARIMAX-rotationen (ortogonal rotation, med hänsyn till okorrelerade faktorer) som är används av praktiska skäl (enklaste tolkning, enklaste poängregler eller tolkning av faktorpoäng etc.), även om sned rotation (t.ex. PROMAX) troligen bättre kan spegla verkligheten (latenta konstruktioner är ofta korrelerade med varandra), åtminstone i tradition av FA där du antar att en latent konstruktion verkligen är kärnan i de observerade interkorrelationerna mellan dina variabler. Poängen är att PCA följt av VARIMAX-rotation något snedvrider tolkningen av de linjära kombinationerna av de ursprungliga variablerna i ”data analys ”tradition (se Michel Tenenhaus arbete). Ur ett psykometriskt perspektiv är FA-modeller att föredra eftersom de uttryckligen redogör för mätfel s, medan PCA inte bryr sig om det. Kort sagt, med hjälp av PCA uttrycker du varje komponent (faktor) som en linjär kombination av variablerna, medan det i FA är de variabler som uttrycks som linjära kombinationer av faktorerna (inklusive kommuner och unika komponenter, som du sa). / p>

Jag rekommenderar att du först läser följande diskussioner om detta ämne:

Kommentarer

  • Bara för att säga att mitt svar faktiskt kan se lite utanför ämnet eftersom den här frågan har slagits samman med en annan, stats.stackexchange.com/questions/3369/… (jag svarar inledningsvis på det senare).
  • Ah, Jag undrade varför du länkade till denna queston, i den här frågan … 🙂
  • . Chl, kan du förklara det? Det ’ är intressant.

Svar

Det översta svaret i denna tråd antyder att PCA är mer av en dimensionalitetsreduktionsteknik, medan FA är mer av en latent variabel teknik. Detta är sensu stricto korrekt. Men många svar här och många behandlingar någon annanstans presenterar PCA och FA som två helt olika metoder, med olika om inte motsatta mål, metoder och resultat. Jag håller inte med; Jag tror att när PCA anses vara en latent variabel teknik är det ganska nära FA, och de bör bättre ses som mycket liknande metoder.

Jag redogjorde själv för likheterna och skillnaderna mellan PCA och FA i följande tråd: Finns det någon god anledning att använda PCA istället för EFA? Kan PCA också ersätta faktoranalys? Där hävdar jag att resultatet av PCA och FA av enkla matematiska skäl kan förväntas vara ganska lika, med tanke på att antalet variabler inte är särskilt litet (kanske över ett dussin). Se mitt [långa!] Svar i den länkade tråden för matematiska detaljer och Monte Carlo-simuleringar. För en mycket mer kortfattad version av mitt argument se här: Under vilka förhållanden ger PCA och FA liknande resultat?

Här skulle jag vilja för att visa det på ett exempel. Jag kommer att analysera vinset från UCI Machine Learning Repository. Det är en ganska känd dataset med $ n = 178 $ viner från tre olika druvor som beskrivs av $ p = 13 $ variabler. Så här ser korrelationsmatrisen ut:

Korrelationsmatris för vinedataset

Jag körde både PCA- och FA-analys och visade 2D-projiceringar av data som biplots för dem båda på figuren nedan (PCA till vänster, FA till höger). Horisontella och vertikala axlar visar första och andra komponent / faktorpoäng. Var och en av $ n = 178 $-punkterna motsvarar ett vin, och punkterna färgas enligt gruppen (se legend):

PCA- och FA-analys av vinedataset

Belastningarna av den första och andra komponenten / faktorn på var och en av $ p = 13 $ originalvariablerna visas som svarta linjer. De är lika med korrelationer mellan var och en av de ursprungliga variablerna och de två komponenterna / faktorerna.Naturligtvis kan korrelationer inte överstiga $ 1 $, så alla laddningslinjer finns i ”korrelationscirkeln” som visar maximal möjlig korrelation. Alla belastningar och cirkeln skalas godtyckligt med en faktor $ 3 $, annars skulle de vara för små för att ses (så cirkelns radie är $ 3 $ och inte $ 1 $).

Observera att det finns är knappast någon skillnad mellan PCA och FA! Det finns små avvikelser här och där, men den allmänna bilden är nästan identisk, och alla belastningar är mycket lika och pekar i samma riktningar. Detta är exakt vad som förväntades av teorin och är ingen överraskning; fortfarande är det lärorikt att observera.

PS. För en mycket vackrare PCA-biplot av samma sak dataset, se detta svar av @vqv .

PPS. Medan PCA-beräkningar är standard, kan FA-beräkningar kräva en kommentar. Faktorbelastningar beräknades med en ”itererad huvudfaktor” -algoritm tills konvergens (9 iterationer), med kommunalitet initierad med partiella korrelationer. När belastningarna konvergerade beräknades poängen med Bartlett-metoden. Detta ger standardiserade poäng. Jag skalade upp dem med respektive faktorvariationer (givet av belastningslängder).

Kommentarer

  • Vilken programvara använde du för att skapa PCA- och faktoranalysdiagram?
  • Jag använde Matlab. Jag tänkte klistra in koden i mitt svar (som vanligt är min vana ), men ville inte störa den här upptagna tråden ännu mer. Men när jag tänker på det, skulle jag lägga upp det på någon extern webbplats och lämna en länk här. Jag kommer att göra det.
  • Det är sant att PCA och FA ibland och inte alls sällan ger liknande resultat (belastningar), och så kan PCA ses som ett specifikt fall av FA, när faktoranalys är definieras brett. Fortfarande FA (sensu stricto) och PCA är teoretiskt ganska olika.
  • (forts.) Faktorer är transcendenta latenta egenskaper; pr. komponenter är immanenta härledningar. Trots din två laddningsdiagram-app örat praktiskt taget lika, teoretiskt de är fundamentalt olika. Komponentplanet till vänster producerades som ett delområde av variablerna som projicerar sig på det. Faktorplanet producerades som ett utrymme som skiljer sig från variabelns utrymme och därför projicerar de sig på en ” främmande ” utrymme på rätt tomt.
  • (forts.) Men rätt bild (FA) är faktiskt inte en riktig biplot , det är snarare en överläggning av två distinkta spridningsdiagram, olika utrymmen: lastdiagrammet (där axlar är sanna faktorer) och objektet poängritar (där axlar är de uppskattade faktorerna som poäng). Sann faktorrymd överskrider ” föräldra ” variabelt utrymme men faktor värderar utrymme är dess underutrymme. Du överlagrade två heterogena axlar, men de har samma etiketter (” factor1 ” och ” faktor2 ” i båda paren) vilken omständighet är starkt vilseledande och övertalar oss att tro att det är en bona fide biplot , som den vänstra.

Svar

En grundläggande, men ändå en slags noggrann förklaring av PCA vs Factor-analys med hjälp av spridningsdiagram, i logiska steg. (Jag tackar @amoeba som i sin kommentar till frågan har uppmuntrat mig att skicka ett svar istället för att göra länkar till någon annanstans. Så här är ett fritidssvar, sent svar.)

PCA som variabel sammanfattning (extrahering av funktioner)

Hoppas att du redan har förståelse för PCA. För att återuppliva nu.

ange bildbeskrivning här

Antag att vi har korrelerande variabler $ V_1 $ och $ V_2 $ . Vi centrerar dem (subtraherar medelvärdet) och gör en spridningsdiagram. Sedan utför vi PCA på dessa centrerade data. PCA är en form av axelrotation som erbjuder axlarna P1 och P2 istället för V1 och V2. nyckelegenskapen för PCA är att P1 – kallad 1: a huvudkomponent – orienteras så att variansen av datapunkter längs den maximeras. De nya axlarna är nya variabler som kan beräknas så länge vi känner till rotationskoefficienterna $ a $ (PCA tillhandahåller dem) [ Ekv.1 ]:

$ P1 = a1_1V_1 + a1_2V_2 $

$ P2 = a2_1V_1 + a2_2V_2 $

Dessa koefficienter är cosinus för rotation (= riktningskosinus, huvudriktning) och innefattar vad som kallas egenvektorer, medan egenvärden för kovariansmatrisen är de viktigaste komponentvariationerna. I PCA kasserar vi vanligtvis svaga sista komponenter: vi sammanfattar alltså data med få först extraherade komponenter, med liten informationsförlust.

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 

Med vår plottade data, P1 komponentvärden (poäng) P1 = .73543*V1 + .67761*V2 och komponent P2 slänger vi bort. P1 ”s varians är 1.75756, den första egenvärdet för kovariansmatrisen, och så förklarar P1 86.5% av total varians som är lika med (1.07652+.95534) = (1.75756+.27430).

PCA som variabel förutsägelse (” latent ” -funktion)

Så vi kastade bort P2 och förväntar oss att P1 ensam rimligen kan representera data. Det motsvarar att säga att $ P1 $ kan rimligen ” rekonstruera ” eller förutsäga $ V_1 $ och $ V_2 $ [ Ekv.2 ]:

$ V_1 = a1_ {1} P1 + E_1 $

$ V_2 = a1_ {2} P1 + E_2 $

där koefficienter $ a $ är vad vi redan vet och $ E $ är felen (oförutsägbarhet). Detta är faktiskt en ” regressionsmodell ” där observerade variabler förutses (tillbaka) av den latenta variabeln (om det är möjligt att anropa en komponent en ” latent ” en) P1 extraherad från samma variabler. Titta på plot Fig.2 , det är inget annat än Fig .1 , bara detaljerad:

ange bildbeskrivning här

P1-axeln visas kaklat med sina värden (P1-poäng) i grönt (dessa värden är projektionerna av datapunkter på P1). Vissa godtyckliga datapunkter märktes A, B, …, och deras avvikelse (fel) från P1 är svarta kontakter. För punkt A visas detaljer: koordinaterna för P1-poängen (grön A) på V1- och V2-axlarna är de P1-rekonstruerade värdena för V1 och V2 enligt Eq.2 , $ \ hat {V_1} = a1_ {1} P1 $ och $ \ hat {V_2} = a1_ {2} P1 $ . Rekonstruktionsfelen $ E_1 = V_1- \ hat {V_1} $ och $ E_2 = V_2- \ hat {V_2} $ visas också, i beige. Kontaktdonet ” fel ” längd i kvadrat är summan av de två fel i kvadrat, enligt Pythagorean.

Nu, det som är karakteristiskt för PCA är att om vi beräknar E1 och E2 för varje punkt i datan och plottar dessa koordinater – dvs gör spridningsdiagrammet för enbart felen, molnet ” feldata ” kommer att sammanfalla med den kasserade komponenten P2. Och det gör det: molnet plottas på samma bild som det beige molnet – och du ser att det faktiskt bildar axeln P2 (av Fig.1 ) som kaklat med P2-komponentpoäng.

Inte konstigt, kan du säga. Det är så uppenbart: i PCA , den kasserade juniorkomponenten (-erna) är vad exakt sönderdelas i prediktionsfelen E, i modellen som förklarar (återställer) ursprungliga variabler V med den eller de latenta funktionerna P1. Fel E tillsammans utgör bara utelämnade komponenter. Här är där faktoranalys börjar skilja sig från PCA.

Idén om gemensam FA (latent funktion )

Formellt är modellen som förutsäger manifestvariabler med den extraherade latenta funktionen (erna) densamma i FA som i PCA; [ Eq.3 ]:

$ V_1 = a_ {1} F + E_1 $

$ V_2 = a_ {2} F + E_2 $

där F är den latenta gemensamma faktor extraherad från data och ersätter vad som var P1 i Ekv.2 .Skillnaden i modellen är att i FA, till skillnad från PCA, krävs felvariabler (E1 och E2) för att vara okorrelerade med varandra .

Digression . Här vill jag plötsligt avbryta berättelsen och göra en uppfattning om vad som är koefficienter $ a $ . I PCA sa vi att detta var poster av egenvektorer som hittades inom PCA (via egen- eller singular-värde-nedbrytning). Medan latent P1 hade sin ursprungliga varians. Om vi väljer att standardisera P1 till enhetsvarians måste vi kompensera genom att skala upp koefficienterna $ a $ för att stödja ekvation. Den uppskalade $ a $ s heter belastningar ; de är av intresse numeriskt eftersom de är kovarianterna (eller korrelationerna) mellan de latenta och de observerbara variablerna och därför kan hjälpa till att tolka den latenta funktionen. I båda modellerna – Eq.2 och Eq.3 – du är fri att bestämma utan att skada ekvationen , på vilket sätt termerna skalas. Om F (eller P1) betraktas som enhetsskalad laddas $ a $ ; om F (P1) måste ha sitt ursprungliga skala (varians), då ska $ a $ avskalas därefter – i PCA som motsvarar poster med egenvektor, b ut i FA kommer de att vara annorlunda och brukar inte kallas ” egenvektorer ”. I de flesta texter om faktoranalys antas F enhetsvarians så $ a $ är belastningar . I PCA-litteratur diskuteras P1 vanligtvis med sin verkliga varians och $ a $ är egenvektorer.

OK, tillbaka till tråden. El och E2 är okorrelerade i faktoranalys; alltså bör de bilda ett moln av fel antingen runda eller elliptiska men inte diagonalt orienterade. Medan de var i PCA bildade deras moln rak linje som sammanföll med diagonalt P2. Båda idéerna visas på bilden:

ange bildbeskrivning här

Observera att fel är runda (inte diagonalt långsträckta) moln i FA. Faktor (latent) i FA är orienterad något annorlunda, dvs det är inte rätt den första huvudkomponenten som är ” latent ” i PCA . På bilden är faktorlinjen konstigt konisk lite – det kommer att bli klart varför i slutändan.

Vad är meningen med denna skillnad mellan PCA och FA? Variabler korrelerade, vilket ses i den diagonalt elliptiska formen på datamolnet. P1 skummade den maximala variansen, så ellipsen är co-riktad till P1. Följaktligen förklarade P1 av sig själv korrelationen; men det förklarade inte tillräckligt den befintliga mängden korrelation ; det såg ut att förklara variation i datapunkter, inte korreleradhet. Egentligen överskattade det korrelationen, vars resultat var uppkomsten av det diagonala, korrelerade molnet av fel som kompenserar för överkontot. P1 ensam kan inte förklara styrkan i korrelation / kovariation heltäckande. Faktor F kan göra det ensam; och villkoret när det blir möjligt att göra det är exakt där fel kan tvingas vara okorrelerade. Eftersom felmolnet är runt har ingen korreleradhet – positiv eller negativ – kvar efter att faktorn extraherats, varför det är faktorn som skummar allt.

Som dimensioneringsreduktion PCA förklarar varians men förklarar korrelationerna exakt. FA förklarar korrelationer men kan inte redovisa (av de gemensamma faktorerna) så stor datavariation som PCA kan. Faktor (er) i FA redogör för den del av variabilitet som är nettokorrelationsdelen, kallad samhälle ; och därför kan faktorer tolkas som verkliga men inte observerbara krafter / funktioner / drag som döljer ” i ” eller ” bakom ” inmatningsvariablerna för att få dem att korrelera. Eftersom de förklarar korrelationen väl matematiskt. Huvudkomponenter (få första) förklarar det matematiskt inte lika bra och så kan kallas ” latent drag ” (eller sådant) endast i viss sträckning och preliminärt .

Multiplikation av belastningar är det som förklarar (återställer) korrelation eller korrelering i form av kovarians – om analysen baserades på kovariansmatris (som i vårt exempel) snarare än korrelationsmatris.Faktoranalys som jag gjorde med data gav a_1=.87352, a_2=.84528, så produkt a_1*a_2 = .73837 är nästan lika med kovariansen .73915. Å andra sidan var PCA-belastningar a1_1=.97497, a1_2=.89832, så a1_1*a1_2 = .87584 överskattar .73915 avsevärt.

Efter att ha förklarat den huvudsakliga teoretiska skillnaden mellan PCA och FA, låt oss komma tillbaka till våra data för att exemplifiera idén.

FA: ungefärlig lösning (faktorpoäng)

Nedan är spridningsdiagrammet som visar resultaten av analysen som vi ”preliminärt kallar ” suboptimal faktoranalys ”, Fig.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). 

ange bildbeskrivning här

Se avgångar från Fig .2 av PCA. Beige felmoln är inte runt, det är diagonalt elliptiskt, men ändå är det uppenbarligen mycket fetare än den tunna diagonala linjen som har inträffat i PCA. Observera också att felkontakterna (visas för vissa punkter) inte längre är parallella (i PCA, de var per definition parallella med P2). Om du till exempel tittar på punkter ” F ” och ” E ” som ligger spegel symmetriskt över faktorn ”s F axel, du kommer oväntat att hitta deras motsvarande faktorpoäng för att vara helt olika värden. Med andra ord är faktorpoäng inte bara linjärt transformerade huvudkomponentpoäng: faktor F finns på sitt eget sätt annorlunda från P1-väg. Och deras axlar sammanfaller inte helt om de visas tillsammans på samma plot Fig.4 :

ange bild d beskrivning här

Bortsett från att de är lite annorlunda orienterade, är F (som kaklat med poäng) kortare, dvs det står för mindre avvikelse än P1-konton för. Som tidigare nämnts, står faktorn endast för variabilitet som är ansvarig för korrelationen av V1 V2, dvs den del av total varians som är tillräcklig för att få variablerna från urkovariansen 0 till den faktiska kovariansen .73915.

FA: optimal lösning (sann faktor)

En optimal faktorlösning är när fel är runda eller icke-diagonala elliptiska moln : E1 och E2 är helt okorrelerade . Faktoranalys returnerar faktiskt en sådan optimal lösning. Jag visade det inte på en enkel scatterplot som ovan. Varför gjorde jag det? – för det skulle trots allt ha varit det mest intressanta.

Anledningen är att det vore omöjligt att visa på en scatterplot tillräckligt, till och med att anta en 3D-plot. Det är teoretiskt en ganska intressant punkt. För att göra E1 och E2 helt okorrelerade verkar det som om alla dessa tre variabler, F, E1, E2 inte måste ljuga i det utrymme (plan) som definieras av V1, V2; och de tre måste vara okorrelerade med varandra . Jag tror att det är möjligt att rita en sådan scatterplot i 5D (och kanske med lite gimmick – i 4D), men vi lever i 3D-världen, tyvärr. Faktor F måste vara okorrelerad till både E1 och E2 (medan de två är okorrelerade också) eftersom F är tänkt att vara endast (ren) och komplett källa till korrelering i observerade data. Faktoranalys delar total varians för p ingångsvariabler i två okorrelerade (icke-överlappande ) delar: samhälle del (m -dimensionell, där m vanliga faktorer styr) och unika del (p -dimensionellt, där fel är, även kallade unika faktorer, ömsesidigt okorrelerade).

Så ursäkta att du inte visar den verkliga faktorn för våra data på en scatterplot här. Det kan visualiseras ganska adekvat via vektorer i ” ämnesområde ” som gjort här utan att visa datapunkter.

Ovan, i avsnittet ” Idén om gemensam FA (latent funktion) ” Jag visade faktor (axel F) som kil för att varna för att sann faktoraxel inte ligger på planet V1 V2. Det betyder att – i motsats till huvudkomponenten P1 – faktor F som axel inte är en rotation av axel V1 eller V2 i deras utrymme, och F som variabel är inte en linjär kombination av variablerna V1 och V2.Därför modelleras F (extraheras från variabler V1 v2) som om en yttre, oberoende variabel, inte en härledning av dem. Ekvationer som Eq.1 varifrån PCA börjar, är inte tillämpliga att beräkna true (optimal) faktor i faktoranalys, medan formellt isomorfa ekvationer Eq.2 och Ekv. 3 gäller för båda analyserna. Det vill säga i PCA-variabler genererar komponenter och komponenter förutspår variabler; i FA faktor (er) genererar / förutsäger variabler, och inte tillbaka – gemensam faktormodell antar begreppsmässigt , även om tekniska faktorer extraheras från de observerade variablerna.

Inte bara true faktor är inte en funktion av manifestvariablerna, true factor ”s värden är inte unikt definierade . Med andra ord är de helt enkelt okända. Allt beror på att vi” befinner dig i det överdrivna 5D-analysutrymmet och inte i vårt hem-2D-utrymme för data. Endast bra approximationer (ett antal metoder finns ) till sanna faktorvärden, kallade faktorpoäng , är där för oss. Faktorpoäng ligger i planet V1 V2, som huvudkomponentpoängen är, de beräknas som de linjära funktionerna för V1, V2 också, och det var de som jag ritade i avsnittet ” FA: ungefärlig lösning (faktorpoäng) ”. Huvudkomponentpoäng är sanna komponentvärden; faktorpoäng är endast rimlig approximation till de obestämda sanna faktorvärdena.

FA: sammanfattning av proceduren

Att samla i en liten koagel vad de två föregående avsnitten sa, och lägga till slutsteg . Egentligen kan FA ( om du gör det rätt, och se även dataantaganden ) hitta den verkliga faktorlösningen (med ” true ” Jag menar här optimalt för dataprov). Det finns emellertid olika extraktionsmetoder (de skiljer sig åt i vissa sekundära begränsningar de sätter). Den sanna faktorlösningen är upp till belastningar $ a $ . Således är belastningar av optimala, sanna faktorer. Faktorpoäng – om du behöver dem – kan beräknas från dessa belastningar på olika sätt och returnerar approximationer till faktorvärden.

Således visas ” faktorlösning ” i avsnitt ” FA: ungefärlig lösning (faktorpoäng) ” baserades faktiskt på optimala belastningar, dvs på sanna faktorer. Men poängen var inte optimala av ödet. Poängen beräknas vara en linjär funktion av de observerade variablerna, som komponentpoäng är, så de kunde båda jämföras på en spridningsdiagram och jag gjorde det i didaktisk strävan att visa som en gradvis övergång från PCA-idén till FA-idé. / p>

Man måste vara försiktig när man plottar på samma biplot faktorbelastningar med faktorpoäng i ” faktorernas område ”, var medveten om att belastningar avser sanna faktorer medan poäng avser surrogatfaktorer (se mina kommentarer till detta svar i den här tråden).

Rotation av faktorer (belastningar) hjälper till att tolka de latenta funktionerna. Rotering av belastningar kan göras även i PCA om du använder PCA som om faktoranalys (det vill säga se PCA som variabel förutsägelse). PCA tenderar att konvergera i resultat med FA när antalet variabler växer (se den extremt rika tråden om praktiska och konceptuella likheter och skillnader mellan de två metoderna). Se min lista över skillnader mellan PCA och FA i slutet av detta svar . Steg för steg-beräkningar av PCA vs FA på iris dataset finns här . Det finns ett stort antal bra länkar till andra deltagares svar om ämnet utanför denna tråd. Jag är ledsen att jag bara använde få av dem i det aktuella svaret.

Se också en punktlista över skillnaderna mellan PCA och FA här .

Kommentarer

  • +1. Det är ’ att du skrev upp det, den här tråden saknade definitivt ett svar från dig. Jag röstade innan jag läste (vilket jag sällan gör) och tyckte verkligen om efterföljande läsning. Jag kan kommentera mer senare, men en liten nitpick för tillfället: du skrev flera gånger att i FA skulle felmolnet vara ” rund ” .Men i själva verket kan det mycket väl vara elliptiskt (eftersom unika egenskaper för V1 och V2 kan ha olika varians), måste det bara ha noll korrelationer. Jag antar att du inte ville förvirra läsarna med denna detalj.
  • @amoeba Jag har ett naivt tvivel angående den matematiska omöjligheten att återge den optimala F, E1, E2 i det utrymme (plan) som definieras av V1, V2. Jag kan tänka mig ett motexempel för detta: Säg $ V_1 = a_ {1} F + E_1 $ och $ V_2 = a_ {2} F + E_2 $, där $ (E_1, E_2) = \ mathcal {N} (0 , \ Bbb {I}) $ – Använd nu dessa relationer för att generera samplingar av V1 och V2. När V1 och V2 har genererats, om vi skulle utföra optimal FA, bör vi få tillbaka nästan exakta uppskattningar av (E1, E2), och det kommer att bilda ett elliptiskt moln. Dessutom kan nu F, E1, E2 representeras i samma plan som V1 och V2.
  • @kasa, var din kommentar mitt svar eller amoeba ’ s kommentar? Om din kommentar strider mot mitt huvudsakliga påstående att de tre latenta variablerna i FA inte ligger i det ursprungliga utrymmet och du kan visa det, varför inte ge ett svar som visar det? Men observera att i optimal FA är felen exakt okorrelerade, inte att de kan föreställas som kommer från normal okorrelerad befolkning.
  • @ttnphns : Ledsen för förvirringen, jag tvivlade på ditt huvudanspråk. Jag kommer att försöka visa det som ett svar om ett par dagar. Tack!

Svar

Skillnader mellan faktoranalys och huvudkomponentanalys är:

• I faktoranalys finns en strukturerad modell och vissa antaganden. I detta avseende är det en statistisk teknik som inte gäller huvudkomponentanalys som är en rent matematisk transformation.

• Syftet med huvudkomponentanalys är att förklara variansen medan faktoranalys förklarar kovariansen mellan variabler.

En av de största orsakerna till förvirringen mellan de två har att göra med att en av faktoruttagsmetoderna i faktoranalys kallas ”metod för huvudkomponenter”. Det är dock en sak att använda PCA och en annan sak att använda metoden för huvudkomponenter i FA. Namnen kan vara lika, men det finns betydande skillnader. Den förra är en oberoende analysmetod medan det senare är bara ett verktyg för faktorutvinning.

Svar

För mig (och jag hoppas det är användbart) är faktoranalys mycket mer användbart än PCA.

Nyligen hade jag nöjet att analysera en skala genom faktoranalys. Denna skala (även om den ofta används inom industrin) utvecklades med hjälp av PCA, och enligt min kunskap hade har aldrig faktoranalyserats.

När jag utförde faktoranalysen (huvudaxel) upptäckte jag att kommunerna för tre av artiklarna var mindre än 30%, vilket innebär att över 70% av varans varians inte analyserades. förvandlar bara data till en ny kombination och bryr sig inte om samhällen. Min slutsats var att skalan inte var särskilt bra ur psykometrisk synvinkel, och jag har bekräftat detta med ett annat urval.

I huvudsak, om du vill förutsäga med hjälp av faktorerna, använd PCA , medan om du vill förstå de latenta faktorerna, använd faktoranalys.

Svar

Utökar på @StatisticsDocConsultings svar: skillnaden i belastningar mellan EFA och PCA är inte trivial med ett litet antal variabler. Här ”är en simuleringsfunktion för att visa detta i 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} 

Som standard utför denna funktion 100 Iterations, i vart och ett producerar slumpmässiga, normalt distribuerade prover (Sample.Size $ = 1000 $) av tre variabler, och extraherar en faktor med PCA och ML-EFA. Den matar ut en lista med två Iterations -långa vektorer som består av medelstorlekarna för de simulerade variablerna ”belastningar på den icke-roterade första komponenten från PCA respektive generell faktor från EFA. Det låter dig leka med provstorlek och antal variabler och faktorer som passar din situation, inom gränserna för principal() och factanal() funktioner och din dator.

Med den här koden har jag simulerat exempel på 3–100 variabler med 500 iterationer vardera för att producera data:

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)} 

… för en plottning av känsligheten för medelbelastningar (över variabler och iterationer) mot antal variabler:

Detta visar hur annorlunda en måste tolka styrkan av belastningar i PCA jämfört med EFA. Båda beror något på antalet variabler, men belastningarna är förspända uppåt mycket starkare i PCA. Skillnaden mellan medelbelastningar minskar dessa metoder när antalet variabler ökar, men även med 100 variabler, PCA-belastningar är i genomsnitt $ 0,067 $ högre än EFA-belastningar i slumpmässiga normala data.Observera dock att medelbelastningar vanligtvis kommer att vara högre i verkliga applikationer, eftersom man i allmänhet använder dessa metoder på mer korrelerade variabler. Jag är inte säker på hur detta kan påverka skillnaden mellan medelbelastningar.

Svar

Ett citat från en riktigt trevlig lärobok ( Brown, 2006, s. 22, betoning tillagd).
PCA = huvudkomponentanalys
EFA = utforskande faktoranalys
CFA = bekräftande faktoranalys

Även om det är relaterat till EFA, kategoriseras huvudkomponentanalys (PCA) ofta som en uppskattningsmetod för gemensam faktoranalys. Till skillnad från uppskattarna som diskuterades i föregående stycke (ML, PF) förlitar sig PCA på en annan uppsättning metoder som inte är baserade på den gemensamma faktormodellen. PCA skiljer inte på gemensam och unik varians. Snarare syftar PCA till att redogöra för variansen i de observerade måtten snarare än att förklara sambandet mellan dem. Således används PCA mer lämpligt som datareduktionsteknik för att minska en större uppsättning åtgärder till ett mindre, mer hanterbart antal sammansatta variabler att använda i efterföljande analyser. Vissa metodologer har dock hävdat att PCA är ett rimligt eller kanske överlägset alternativ till EFA, med tanke på det faktum att PCA har flera önskvärda statistiska egenskaper (t.ex. beräkningsenligt enklare, inte mottaglig för felaktiga lösningar, ger ofta resultat som liknar de av EFA , PCA: s förmåga att beräkna en deltagares poäng på en huvudkomponent medan EFA: s obestämda natur komplicerar sådana beräkningar). Även om debatten om denna fråga fortsätter, säger Fabrigar et al. (1999) ger flera skäl i motsats till argumentet för platsen för PCA i faktoranalys. Dessa författare understryker situationerna där EFA och PCA ger olika resultat; till exempel när gemenskaperna är låga eller när det bara finns några få indikatorer på en given faktor (se Widaman, 1993). Oavsett, om den övergripande motivationen och empiriska målen för en analys överensstämmer med den gemensamma faktormodellen, är det begreppsmässigt och matematiskt inkonsekvent att genomföra PCA; EFA är mer lämpligt om det angivna målet är att reproducera samverkan mellan en uppsättning indikatorer med ett mindre antal latenta dimensioner, vilket erkänner förekomsten av mätfel i de observerade måtten. Floyd och Widaman (1995) gör den relaterade punkten att uppskattningar baserade på EFA är mer benägna att generalisera till CFA än de som erhålls från PCA genom att till skillnad från PCA, EFA och CFA baseras på den gemensamma faktormodellen. Detta är en anmärkningsvärd övervägande mot bakgrund av det faktum att EFA ofta används som en föregångare till CFA vid skalutveckling och konstruktionsvalidering. En detaljerad demonstration av beräkningsskillnaderna mellan PCA och EFA finns i multivariata och faktoranalytiska läroböcker (t.ex. Tabachnick & Fidell, 2001).

Brown, TA (2006). Bekräftande faktoranalys för tillämpad forskning. New York: Guilford Press.

Svar

Man kan tänka sig av en PCA som en FA där kommunerna antas vara lika med 1 för alla variabler. I praktiken betyder detta att artiklar som skulle ha relativt låga faktorbelastningar i FA på grund av låg gemenskap kommer att ha högre belastningar i PCA. Detta är inte en önskvärd egenskap om analysens huvudsakliga syfte är att skära artikelns längd och rengöra ett batteri med föremål av dem med låga eller tvetydiga belastningar, eller att identifiera begrepp som inte är väl representerade i artikelpoolen.

Svar

I en artikel av Tipping och Bischop diskuteras det snäva förhållandet mellan probabalistisk PCA (PPCA) och faktoranalys. PPCA är närmare FA än vad den klassiska PCA är. Den vanliga modellen är

$$ \ mathbf {y} = \ mu + \ mathbf {Wx} + \ epsilon $$

där $ \ mathbf {W} \ i \ mathbb {R} ^ {p, d} $, $ \ mathbf {x} \ sim \ mathcal {N} (\ mathbf {0}, \ mathbf {I}) $ och $ \ epsilon \ sim \ mathcal {N} ( \ mathbf {0}, \ mathbf {\ Psi}) $.

  • Faktoranalys förutsätter att $ \ mathbf {\ Psi} $ är diagonalt.
  • PPCA antar $ \ mathbf {\ Psi} = \ sigma ^ 2 \ mathbf {I} $

Michael E. Tipping, Christopher M. Bishop (1999). Probabilistic Principal Component Analysis , Journal of the Royal Statistical Society, Volym 61, utgåva 3, sidorna 611–622

Kommentarer

  • + 1. Ja. Jag tror att förståelse av PPCA är nödvändig för att förstå förhållandet mellan PCA och FA. Men du kan förbättra ditt svar genom att diskutera PCA / PPCA-förhållandet.

Svar

Inget av dessa svar är perfekt. Antingen FA eller PCA har några varianter. Vi måste tydligt påpeka vilka varianter som jämförs. Jag skulle jämföra maximal sannolikhetsfaktoranalys och Hotellings PCA.De förstnämnda antar att den latenta variabeln följer en normalfördelning men PCA har inget sådant antagande. Detta har lett till skillnader, såsom lösningen, kapsling av komponenterna, lösningens unika, optimeringsalgoritmer.

Kommentarer

  • Jag undrar om du kan utöka lite om detta – du har sagt att det finns skillnader i sista meningen, men inte fått mycket information om vad dessa skillnader kan vara, eller på vilket sätt dessa skillnader kan vara viktiga?
  • Att välja två mest avlägsna metoder och att hävda att de verkligen är olika – som du gör – är inte heller en perfekt logik . Man borde nog hitta och rapportera hur dessa två liknar varandra. Alternativt kan man välja de flesta liknande metoder (som vanlig PCA vs PAF ) och rapportera på vilket sätt de är olika.
  • Hotelling ’ s PCA antar dock latenta gaussier.

Svar

Det finns många bra svar för det här inlägget men nyligen stötte jag på en annan skillnad.

Clustering är en applikation där PCA och FA ger olika resultat. När det finns många funktioner i data kan man försöka hitta de bästa PC-riktningarna och projicera data på dessa datorer och fortsätt sedan med klustring. Ofta stör detta de inneboende klusterna i data – Detta är ett väl beprövat resultat. Forskare föreslår att man fortsätter med sub-space-klusteringsmetoder, som letar efter lågdimensionella latenta faktorer i modellen.

Bara för att illustrera denna skillnad, överväga Crabs dataset i R. Crabs dataset har 200 rader och 8 kolumner, som beskriver 5 morfologiska mätningar på 50 krabbor med två färger former och båda könen, av arten – I huvudsak finns det 4 (2×2) olika klasser av krabbor.

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) 

Clustering med PC1 och PC2: ange bildbeskrivning här

Kluster med PC2 och PC3: ange bildbeskrivning här

#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 

Som vi kan se från ovanstående diagram, bär PC2 och PC3 mer diskriminerande information än PC1.

Om man försöker klustera med hjälp av de latenta faktorerna med en blandning av faktoranalysatorer ser vi mycket bättre resultat jämfört med att använda de två första datorerna.

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 

Kommentarer

  • Jag måste säga att jag tvivlar på att detta svar verkligen svarar på frågan. Svaret handlar om klusteranalys efter PCA eller FA, inte om PCA och FA själva. Men även i det avseendet är svaret svagt eller oavslutat. Hur ska skillnaden du visar förklaras?
  • @ttnphns Jag håller med om att svaret handlar om klusteranalys. OP hade emellertid också bett om ett verkligt scenario med PCA / FA där det ena måste användas framför det andra. Vanligtvis är PCA eller FA aldrig slutmålet – för t.ex. I samhällsvetenskap skulle slutmålet vara att segmentera ämnena i olika kluster / grupper. Mitt svar tar upp sådana scenarier. Om du tror att mitt svar kan förbättras kan du gärna påpeka.
  • Jag tror att ditt svar kan bli riktigt relevant om du förklarar ditt resultat. Du hävdar att skillnaderna mellan PCA och FA är inneboende för de två metoderna (bara de blir uppenbara under kluster). Jag tror att du borde visa eller åtminstone spekulera hur eller varför skillnaderna teoretiskt uppstår från skillnaderna mellan metoderna ’ modeller.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *