Det ser ut til at en rekke av de statistiske pakkene som jeg bruker, pakker disse to konseptene sammen. Imidlertid lurer jeg på om det er forskjellige antagelser eller data «formaliteter» som må være sanne for å bruke hverandre. Et reelt eksempel vil være utrolig nyttig.

Kommentarer

  • De viktigste komponentanalysene og faktoranalysekapitlene i boken nedenfor, som er tilgjengelig i de fleste høyskolebiblioteker, adresserer spørsmålet ditt nøyaktig: apa.org/ pubs / books / 4316510.aspx
  • I tillegg til svarene nedenfor kan du også lese dette og dette av meg.
  • Og et annet godt spørsmål som » skal jeg bruke PCA eller FA «: stats.stackexchange.com/q/123063/3277 .
  • @ttnphns: Jeg vil oppfordre deg til å gi et svar i denne tråden, kanskje bestående av en kommentert liste over svarene dine i andre relaterte tråder. Dette kan erstatte kommentarene dine ovenfor (for øyeblikket fire co med lenker), og ville være mer praktisk, spesielt hvis du kort kommenterte hver lenke. F.eks. se her for forklaring på dette problemet, se der for en forklaring på det problemet, etc. Det er bare et forslag, men jeg tror denne tråden vil ha stor nytte av det! En spesiell fordel er at du alltid kan legge til flere lenker til det svaret.
  • Et lignende spørsmål ble stilt på MathOverflow, og fikk det jeg anser som et utmerket svar: mathoverflow.net/questions/40191/ …

Svar

Hovedkomponentanalyse innebærer å trekke ut lineære kompositter av observerte variabler.

Faktoranalyse er basert på en formell modell som forutsier observerte variabler fra teoretiske latente faktorer.

I psykologi er disse to teknikker brukes ofte i konstruksjonen av flerskala tester for å bestemme hvilke gjenstander som belastes på hvilke skalaer. De gir vanligvis lignende materielle konklusjoner (for en diskusjon se Comrey (1988) Faktor-analytiske metoder for skalautvikling i personlighet og klinisk psykologi). Dette hjelper til med å forklare hvorfor noen statistikkpakker ser ut til å pakke dem sammen. Jeg har også sett situasjoner der «hovedkomponentanalyse» er feil merket «faktoranalyse».

Når det gjelder en enkel tommelfingerregel , jeg foreslår at du:

  1. Kjører faktoranalyse hvis du antar eller ønsker å teste en teoretisk modell av latente faktorer som forårsaker observerte variabler.

  2. Kjør hovedkomponentanalyse Hvis du bare vil redusere korrelerte observerte variabler til et mindre sett med viktige uavhengige sammensatte variabler.

Kommentarer

  • Tommelfingerregelen der er veldig nyttig. Takk for det.
  • Angående tommelfingerregel (1): Ville ikke ‘ t Jeg tester en teoretisk modell av latente faktorer med en bekreftende faktoranalyse snarere enn en utforskende fa?
  • @roman Ja. En CFA gir deg mye mer kontroll over modellen enn EFA. F.eks. kan du begrense belastninger til null, likestille belastninger, ha korrelert rest ls; legge til høyere ordensfaktorer; etc.
  • @Jeromy Anglim Er det virkelig riktig å si at PCA lager et » mindre sett med viktige uavhengige sammensatte variabler. » Eller skal du virkelig si » mindre sett med viktige ikke-korrelerte sammensatte variabler «. Hvis de underliggende dataene som brukes i PCA ikke er (multivariate) normalt distribuert, vil de reduserte dimensjonsdataene bare være ukorrelerte?
  • Den andre tommelfingerregelen er lett å få, men hvordan bruker jeg den første? Høres kanskje rart ut, men når vet jeg at jeg vil ‘ kjøre en faktormodell mot observerte variabler?

Svar

Fra mitt svar her:

Er PCA etterfulgt av en rotasjon (for eksempel varimax) fortsatt PCA?

Principal Component Analysis (PCA) og Common Factor Analysis (CFA) er forskjellige metoder. Ofte gir de lignende resultater, og PCA brukes som standard utvinningsmetode i SPSS-faktoranalyserutinene. Dette resulterer utvilsomt i mye forvirring om skillet mellom de to.

Poenget er at dette er to forskjellige modeller, konseptuelt. I PCA er komponentene faktiske ortogonale lineære kombinasjoner som maksimerer total varians.I FA er faktorene lineære kombinasjoner som maksimerer den delte delen av variansen – underliggende «latente konstruksjoner». Det er derfor FA ofte kalles «felles faktoranalyse». FA bruker en rekke optimaliseringsrutiner, og resultatet, i motsetning til PCA, avhenger av optimaliseringsrutinen som brukes og utgangspunkt for disse rutinene. Det er ganske enkelt ikke en eneste unik løsning.

I R gir factanal () -funksjonen CFA med maksimal sannsynlighetsekstraksjon. Så du bør ikke forvente at den skal gjengi et SPSS-resultat som er basert på en PCA-ekstraksjon. Det er rett og slett ikke den samme modellen eller logikken. Jeg er ikke sikker på om du ville få det samme resultatet hvis du brukte SPSSs Maksimal sannsynlighet ekstraksjon, ettersom de kanskje ikke bruker samme algoritme.

For bedre eller verre i R, kan du imidlertid reprodusere den blandede «faktoranalysen» som SPSS gir som standard. Her er prosessen i R. Med denne koden kan jeg gjengi SPSS-hovedkomponenten » Faktoranalyseresultat ved bruk av dette datasettet. (Med unntak av tegnet, som er ubestemt). Resultatet kan også roteres ved hjelp av en av Rs tilgjengelige rotasjonsmetoder.

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

  • Merk at du får de samme resultatene med principal(attitude, 2, rotate="none") fra psych pakke og at Kayser ‘ s regel (ev > 1) er ikke den mest anbefalte måten å teste for dimensjonalitet (det overvurderer antall faktorer).
  • Ja, jeg vet psyk p rektor pakker dette inn. Hensikten min var å vise hva SPSS » faktoranalyse » gjorde når jeg brukte utvinningsmetoden for hovedkomponenter. Jeg er enig i at egenverdiregelen er en dårlig måte å velge antall faktorer på. Men det er akkurat hva SPSS gjør som standard, og dette demonstrerte jeg.
  • factanal() gir EFA ikke CFA. Også fra min erfaring, bør SPSS ‘ s Maksimal sannsynlighet ekstraksjon gi samme resultat som factanal() gitt at det ikke er noen skrå rotasjon.
  • Hva betyr følgende: ‘ I FA er faktorene lineære kombinasjoner som maksimerer den delte delen av variansen – underliggende » latente konstruksjoner «. ‘?
  • Merk deg også at CFA kan stå for bekreftende FA (i motsetning til forklarende FA ) i stedet for vanlig FA .

Svar

Det er mange foreslåtte definisjoner på nett. Her er en fra en online ordliste om statistisk læring :

Hovedkomponent Analyse

Konstruere nye funksjoner som er hovedkomponentene i et datasett. Hovedkomponentene er tilfeldige variabler med maksimal varians konstruert fra lineære kombinasjoner av inngangsfunksjonene. Tilsvarende er de projeksjonene på hovedkomponentaksene, som er linjer som minimerer den gjennomsnittlige kvadratiske avstanden til hvert punkt i datasettet. For å sikre unikhet, må alle hovedkomponentaksene være ortogonale. PCA er en maksimal sannsynlighetsteknikk for lineær regresjon i nærvær av Gaussisk støy på både innganger og utganger. I noen tilfeller tilsvarer PCA en Fourier-transformasjon, for eksempel DCT som brukes i JPEG-bildekomprimering. Se «Eigenfaces for recognition» (Turk & Pentland, J Cognitive Neuroscience 3 (1), 1991), Bishop, «Probabilistic Principal Component Analysis», og «Automatic choice of dimensionality for PCA «. valg av dimensjonalitet for PCA».

Faktoranalyse

En generalisering av PCA som er eksplisitt basert på maksimal sannsynlighet. I likhet med PCA antas hvert datapunkt å oppstå ved prøvetaking et punkt i et underområde og forstyrrer det deretter med fulldimensjonal gaussisk støy. Forskjellen er at faktoranalyse gjør at støyen kan ha en vilkårlig diagonal kovariansmatrise, mens PCA antar at støyen er sfærisk. I tillegg til å estimere underområdet, faktoranalyse estimerer støykovariansmatrisen. Se «EM-algoritmen for blandinger av faktoranalysatorer». valg av dimensjonalitet for PCA «.

Kommentarer

  • Beskrivelsen av faktoranalysen får hovedpoenget (diagonal kovarians), men historisk sett s ikke utviklet som en generalisering av PCA.
  • Så i utgangspunktet er i PCA en svd ‘ kovariansmatrisen og i FA korrelasjonsmatrisen? Det er alltid vanskelig for meg å finne matematikken etter at metodene har bygget opp mye terminologi fra feltet der de brukes.(utenfor emnet: det tok meg en gang en hel ettermiddag å forstå hva banemodelleringen er til jeg fant ett (1) papir fra de 70 ‘ som angav matriksligningen bak den. )

Svar

Du har rett i forhold til ditt første poeng, selv om du i FA jobber generelt med begge deler (unikhet og felleskap). Valget mellom PCA og FA er en langvarig debatt blant psykometrikere. Jeg følger ikke poengene dine skjønt. Rotasjon av hovedakser kan brukes uansett hvilken metode som brukes til å konstruere latente faktorer. Faktisk er dette oftest VARIMAX-rotasjonen (ortogonal rotasjon, med tanke på ikke-korrelerte faktorer) som er brukt av praktiske grunner (enkleste tolkning, enkleste skåringsregler eller tolkning av faktorpoeng osv.), selv om skrå rotasjon (f.eks. PROMAX) sannsynligvis bedre kan gjenspeile virkeligheten (latente konstruksjoner er ofte korrelert med hverandre), i det minste i tradisjon for FA hvor du antar at en latent konstruksjon egentlig er kjernen i de observerte interkorrelasjonene mellom variablene dine. Poenget er at PCA etterfulgt av VARIMAX-rotasjon noe forvrenger tolkningen av de lineære kombinasjonene av de opprinnelige variablene i «dataene analyse «tradisjon (se arbeidet til Michel Tenenhaus). Fra et psykometrisk perspektiv er FA-modeller å foretrekke siden de eksplisitt redegjør for målefeil s, mens PCA ikke bryr seg om det. Kort sagt, ved bruk av PCA uttrykker du hver komponent (faktor) som en lineær kombinasjon av variablene, mens i FA er dette variablene som uttrykkes som lineære kombinasjoner av faktorene (inkludert felleskap og unike komponenter, som du sa). / p>

Jeg anbefaler deg å lese først følgende diskusjoner om dette emnet:

Kommentarer

  • Bare for å si at svaret mitt faktisk kan se litt utenfor temaet siden dette spørsmålet er slått sammen med et annet, stats.stackexchange.com/questions/3369/… (jeg svarer først på sistnevnte).
  • Ah, Jeg lurte på hvorfor du koblet til denne søknaden, i dette spørsmålet … 🙂
  • . Chl, kan du forklare det? At ‘ er interessant.

Svar

Toppsvaret i denne tråden antyder at PCA er mer en dimensjonsreduksjonsteknikk, mens FA er mer en latent variabel teknikk. Dette er sensu stricto riktig. Men mange svar her og mange behandlinger andre steder presenterer PCA og FA som to helt forskjellige metoder, med forskjellige, om ikke motsatte mål, metoder og resultater. Jeg er uenig; Jeg tror at når PCA blir ansett som en latent variabel teknikk, er det ganske nær FA, og de bør bedre sees på som veldig like metoder.

Jeg redegjorde for likhetene og forskjellene mellom PCA og FA i følgende tråd: Er det noen god grunn til å bruke PCA i stedet for EFA? Kan også PCA være en erstatning for faktoranalyse? Der argumenterer jeg for at av enkle matematiske grunner kan resultatet av PCA og FA forventes å være ganske likt, bare gitt at antall variabler ikke er veldig lite (kanskje over et dusin). Se svaret mitt [lenge!] I den koblede tråden for matematiske detaljer og Monte Carlo-simuleringer. For en mye mer kortfattet versjon av argumentet mitt, se her: Under hvilke forhold gir PCA og FA lignende resultater?

Her vil jeg gjerne ha for å vise det på et eksempel. Jeg vil analysere vinsettet fra UCI Machine Learning Repository. Det er et ganske kjent datasett med $ n = 178 $ viner fra tre forskjellige druer beskrevet av $ p = 13 $ variabler. Slik ser korrelasjonsmatrisen ut:

Korrelasjonsmatrise for vinsettet

Jeg kjørte både PCA og FA analyse og viste 2D-fremskrivninger av dataene som biploter for dem begge på figuren nedenfor (PCA til venstre, FA til høyre). Horisontale og vertikale akser viser 1. og 2. komponent / faktor score. Hver av $ n = 178 $ -punktene tilsvarer en vin, og prikkene farges i henhold til gruppen (se forklaring):

PCA- og FA-analyse av vinsettet

Belastningene til 1. og 2. komponent / faktor på hver av $ p = 13 $ originale variabler vises som svarte linjer. De er lik korrelasjoner mellom hver av de opprinnelige variablene og de to komponentene / faktorene.Selvfølgelig kan ikke korrelasjonene overstige $ 1 $, så alle lastelinjer er inne i «korrelasjonssirkelen» som viser maksimal mulig korrelasjon. Alle belastninger og sirkelen skaleres vilkårlig med en faktor på $ 3 $, ellers ville de være for små til å bli sett (så sirkelens radius er $ 3 $ og ikke $ 1 $).

Merk at der er knapt noen forskjell mellom PCA og FA! Det er små avvik her og der, men det generelle bildet er nesten identisk, og alle belastningene er veldig like og peker i samme retning. Dette er akkurat det som ble forventet av teorien, og det er ingen overraskelse; fremdeles er det lærerikt å observere.

PS. For en mye penere PCA-biplot av samme datasett, se dette svaret av @vqv .

PPS. Mens PCA-beregninger er standard, kan det hende at FA-beregninger krever en kommentar. Faktorbelastninger ble beregnet av en «iterert hovedfaktor» -algoritme til konvergens (9 iterasjoner), med fellesskap initialisert med delvise korrelasjoner. Når belastningene konvergerte, ble poengsummen beregnet ved hjelp av Bartlett-metoden. Dette gir standardiserte poeng. Jeg skalerte dem opp med de respektive faktoravvikene (gitt av belastningens lengder).

Kommentarer

  • Hvilken programvare brukte du for å lage PCA- og faktoranalyseplottene?
  • Jeg brukte Matlab. Jeg tenkte å lime inn koden i svaret mitt (som normalt er min vane ), men ønsket ikke å rote denne travle tråden enda mer. Men når jeg tenker på det, bør jeg legge det ut på et eksternt nettsted og legge igjen en lenke her. Jeg vil gjøre det.
  • Det er sant at PCA og FA noen ganger og ikke i det hele tatt sjelden gir lignende resultater (belastninger), og så kan PCA sees som et spesifikt tilfelle av FA, når faktoranalyse er definert bredt. Fortsatt er FA (sensu stricto) og PCA teoretisk ganske forskjellige.
  • (forts.) Faktorer er transcendente latente trekk; pr. komponenter er immanente avledninger. Til tross for din to lasteplott-app øret praktisk talt like, teoretisk de er fundamentalt forskjellige. Komponentplanet til venstre ble produsert som et underområde av variablene som projiserer seg på det. Faktorplanet ble produsert som et annet rom enn variabelenes rom, og derfor projiserer de seg selv på en » fremmed » mellomrom på rett tomt.
  • (forts.) Men riktig bilde (FA) er faktisk ikke en ekte biplot , er det snarere et overlegg av to forskjellige spredningsplotter, forskjellige mellomrom: lasteplottet (hvor akser er sanne faktorer) og objektet scorer plot (der akser er de estimerte faktorene som poeng). Ekte faktorrom overskrider » foreldrenes » variable rom, men faktor scorer mellomrom er underområdet. Du overlappet to heterogene par akser, men de bærer de samme merkelappene (» factor1 » og » faktor2 » i begge parene) hvilken omstendighet er sterkt misvisende og overtaler oss til å tro at det er en bona fide biplot , som den venstre.

Svar

En grunnleggende, men likevel en slags møysommelig forklaring på PCA vs Factor analyse ved hjelp av scatterplots, i logiske trinn. (Jeg takker @amoeba som i sin kommentar til spørsmålet har oppfordret meg til å legge ut et svar i stedet for å lage lenker til andre steder. Så her er et fritidssent svar.)

PCA som variabel oppsummering (utvinning av funksjoner)

Håper du allerede har forståelse for PCA. For å gjenopplive nå.

skriv inn bildebeskrivelse her

Anta at vi har korrelasjonsvariabler $ V_1 $ og $ V_2 $ . Vi sentrerer dem (trekker gjennomsnittet) og gjør et spredningsdiagram. Deretter utfører vi PCA på disse sentrerte dataene. PCA er en form for akserotasjon som tilbyr akser P1 og P2 i stedet for V1 og V2. nøkkelegenskapen til PCA er at P1 – kalt 1. hovedkomponent – blir orientert slik at variansen av datapunkter langs den maksimeres. De nye aksene er nye variabler som kan beregnes så lenge vi kjenner rotasjonskoeffisientene $ a $ (PCA gir dem) [ Lik.1 ]:

$ P1 = a1_1V_1 + a1_2V_2 $

$ P2 = a2_1V_1 + a2_2V_2 $

Disse koeffisientene er cosinus for rotasjon (= retning cosinus, hovedretning) og omfatter det som kalles egenvektorer, mens egenverdiene til kovariansmatrisen er de viktigste komponentvariansene. I PCA forkaster vi vanligvis svake siste komponenter: Vi oppsummerer dermed data med få først ekstraherte komponenter, med lite informasjonstap.

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åre plottede data, P1 komponentverdier (score) P1 = .73543*V1 + .67761*V2 og komponent P2 kaster vi. P1 «s varians er 1.75756, den første egenverdien til kovariansmatrisen, og så forklarer P1 86.5% av total varians som tilsvarer (1.07652+.95534) = (1.75756+.27430).

PCA som variabel prediksjon (» latent » -funksjon)

Så vi forkastet P2 og forventer at P1 alene rimelig kan representere dataene. Det tilsvarer å si at $ P1 $ kan rimelig godt » rekonstruere » eller forutsi $ V_1 $ og $ V_2 $ [ Lik.2 ]:

$ V_1 = a1_ {1} P1 + E_1 $

$ V_2 = a1_ {2} P1 + E_2 $

der koeffisienter $ a $ er det vi allerede vet og $ E $ er feilene (uforutsigbarhet). Dette er faktisk en » regresjonsmodell » der observerte variabler blir spådd (tilbake) av den latente variabelen (hvis du vil tillate at en komponent blir » latent » en) P1 hentet fra de samme variablene. Se på plottet Fig.2 , det er ikke noe annet enn Fig .1 , bare detaljert:

skriv inn bildebeskrivelse her

P1-aksen vises flislagt med verdiene (P1-poeng) i grønt (disse verdiene er fremskrivningene av datapunkter på P1). Noen vilkårlige datapunkter ble merket A, B, …, og deres avgang (feil) fra P1 er svarte kontakter. For punkt A vises detaljer: koordinatene til P1-poengsummen (grønn A) på V1- og V2-aksene er de P1-rekonstruerte verdiene til V1 og V2 i henhold til Eq.2 , $ \ hat {V_1} = a1_ {1} P1 $ og $ \ hat {V_2} = a1_ {2} P1 $ . Rekonstruksjonsfeilene $ E_1 = V_1- \ hat {V_1} $ og $ E_2 = V_2- \ hat {V_2} $ vises også, i beige. Koblingen » feil » lengde i kvadrat er summen av de to feilene i kvadrat, ifølge Pythagorean.

Nå, det som er karakteristisk for PCA er at hvis vi beregner E1 og E2 for hvert punkt i dataene og plotter disse koordinatene – dvs. lager spredningsdiagrammet for feilene alene, skyen » feildata » vil falle sammen med den kasserte komponenten P2. Og det gjør den: skyen er tegnet på samme bilde som den beige skyen – og du ser at den faktisk danner akse P2 (av Fig.1 ) som flislagt med P2-komponentpoeng.

Ikke rart, kan du si. Det er så opplagt: i PCA , den kasserte juniorkomponenten (e) er det nøyaktig dekomponerer (s) i prediksjonsfeilene E, i modellen som forklarer (gjenoppretter) originale variabler V ved den eller de latente egenskapene P1. Feil E utgjør bare komponenten (e) som er utelatt. Her er hvor faktoranalyse begynner å skille seg fra PCA.

Ideen om felles FA (latent funksjon )

Formelt er modellen som forutsier manifestvariabler etter den eller de ekstraherte latente funksjonene den samme i FA som i PCA; [ Eq.3 ]:

$ V_1 = a_ {1} F + E_1 $

$ V_2 = a_ {2} F + E_2 $

hvor F er den latente vanlige faktor hentet fra dataene og erstatter det som var P1 i Ligning 2 .Forskjellen i modellen er at i FA, i motsetning til PCA, kreves feilvariabler (E1 og E2) for å være ukorrelert med hverandre .

Digresjon . Her vil jeg plutselig avbryte historien og lage en forestilling om hva som er koeffisienter $ a $ . I PCA sa vi at dette var oppføringer av egenvektorer som ble funnet i PCA (via egen- eller entallverdi-nedbrytning). Mens latent P1 hadde sin opprinnelige varians. Hvis vi velger å standardisere P1 til enhetsvarians må vi kompensere ved å skalere koeffisientene $ a $ på riktig måte for å støtte ligning. Den skalerte $ a $ s kalles belastninger ; de er av interesse numerisk fordi de er kovarianter (eller korrelasjoner) mellom de latente og de observerbare variablene og derfor kan hjelpe til med å tolke den latente funksjonen. I begge modeller – Lik.2 og Eq.3 – du er fri til å bestemme, uten å skade ligningen , hvilken vei vilkårene skaleres. Hvis F (eller P1) regnes som enhetsskalert, lastes $ a $ , mens F (P1) må ha sin opprinnelige skala (varians), så skal $ a $ avskaleres tilsvarende – i PCA som vil være lik egenvektoroppføringer, b ut i FA vil de være forskjellige og vanligvis ikke kalt » egenvektorer «. I de fleste tekster om faktoranalyse antas F enhetsvarians så $ a $ er belastninger . I PCA-litteratur blir P1 typisk diskutert med sin reelle varians, og $ a $ er egenvektorer.

OK, tilbake til tråden. El og E2 er ukorrelert i faktoranalyse; dermed skal de danne en sky av feil enten runde eller elliptiske, men ikke diagonalt orientert. Mens de var i PCA, dannet skyen sin rett linje som falt sammen med diagonalt P2. Begge ideene vises på bildet:

skriv inn bildebeskrivelse her

Merk at feil er runde (ikke diagonalt langstrakte) skyer i FA. Faktor (latent) i FA er orientert noe annerledes, dvs. det er ikke riktig den første hovedkomponenten som er » latent » i PCA . På bildet er faktorlinjen merkelig konisk litt – det vil bli klart hvorfor til slutt.

Hva er meningen med denne forskjellen mellom PCA og FA? Variabler korrelert, som ses i den diagonalt elliptiske formen til dataskyen. P1 skummet maksimal varians, så ellipsen er co-dirigert til P1. Følgelig forklarte P1 av seg selv korrelasjonen; men det forklarte ikke den eksisterende mengden korrelasjon tilstrekkelig; det så ut til å forklare variasjon i datapunkter, ikke sammenheng. Egentlig overkonsulerte det sammenhengen, og resultatet av dette var utseendet til den diagonale, korrelerte skyen av feil som kompenserer for overkontoen. P1 alene kan ikke forklare styrken av korrelasjon / samvariasjon omfattende. Faktor F kan gjøre det alene; og tilstanden når den blir i stand til å gjøre det er nøyaktig hvor feil kan bli tvunget til å være ukorrelert. Siden feilskyen er rund, har ingen korrelasjon – positiv eller negativ – vært igjen etter at faktoren ble ekstrahert, og derfor er det faktoren som skummet det hele.

Som dimensjonsreduksjon, PCA forklarer varians men forklarer sammenhenger på en nøyaktig måte. FA forklarer sammenhenger men kan ikke redegjøre for (av de vanlige faktorene) så mye datavariasjon som PCA kan. Faktor (er) i FA utgjør den delen av variabiliteten som er nettokorrelasjonsdelen, kalt fellesskap ; og derfor kan faktorer tolkes som reelle, men ikke observerbare krefter / funksjoner / trekk som skjuler » i » eller » bak » inngangsvariablene for å bringe dem til å korrelere. Fordi de forklarer sammenhengen godt matematisk. Hovedkomponenter (få første) forklarer det ikke matematisk så godt, og så kan kalles » latent trekk » (eller slikt) bare i noen strekninger og foreløpig .

Multiplikasjon av belastninger er det som forklarer (gjenoppretter) korrelasjon eller korrelasjon i form for kovarians – hvis analysen var basert på kovariansematrise (som i eksempelet) i stedet for korrelasjonsmatrise.Faktoranalyse som jeg gjorde med dataene ga a_1=.87352, a_2=.84528, så produkt a_1*a_2 = .73837 er nesten lik kovariansen .73915. På den annen side var PCA-belastninger a1_1=.97497, a1_2=.89832, så a1_1*a1_2 = .87584 overvurderer .73915 betraktelig.

Etter å ha forklart det viktigste teoretiske skillet mellom PCA og FA, la oss komme tilbake til dataene våre for å eksemplifisere ideen.

FA: omtrentlig løsning (faktorpoeng)

Nedenfor er spredningsdiagrammet som viser resultatene av analysen som vi «kaller foreløpig » suboptimal faktoranalyse «, 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). 

skriv inn bildebeskrivelse her

Se avganger fra Fig .2 av PCA. Beige sky av feilene er ikke runde, den er diagonalt elliptisk, – likevel er den tydeligvis mye fetere enn den tynne diagonale linjen som har oppstått i PCA. Merk også at feilkontaktene (vist for noen punkter) ikke er parallelle lenger (i PCA var de per definisjon parallelle med P2). Hvis du for eksempel ser på punkter » F » og » E » som ligger speil symmetrisk over faktoren «s F akse, vil du, uventet, finne at deres tilsvarende faktorpoeng er ganske forskjellige verdier. Med andre ord, faktorpoeng er ikke bare lineært transformerte hovedkomponentpoeng: faktor F finnes på sin egen måte annerledes fra P1-vei. Og deres akser faller ikke helt sammen hvis de vises sammen på samme plott Fig.4 :

skriv inn bilde d beskrivelse her

Bortsett fra at de er litt annerledes orienterd, er F (som flislagt med score) kortere, det vil si at den utgjør mindre avvik enn P1 står for. Som nevnt tidligere utgjør faktoren bare variabilitet som er ansvarlig for korrelasjonen av V1 V2, dvs. den delen av total varians som er tilstrekkelig til å bringe variablene fra urkovariansen 0 til den faktiske kovariansen .73915.

FA: optimal løsning (sann faktor)

En optimal faktorløsning er når feil er runde eller ikke-diagonale elliptiske skyer : E1 og E2 er helt ukorrelert . Faktoranalyse returnerer faktisk en slik optimal løsning. Jeg viste det ikke på en enkel spredningsplot som de ovenfor. Hvorfor gjorde jeg det? – for det hadde tross alt vært det mest interessante.

Årsaken er at det ville være umulig å vise tilstrekkelig på et spredningsplott, til og med å vedta et 3D-plot. Det er ganske interessant poeng teoretisk. For å gjøre E1 og E2 helt ukorrelert ser det ut til at alle disse tre variablene, F, E1, E2 ikke må lyve i rommet (planet) definert av V1, V2; og de tre må ikke være korrelert med hverandre . Jeg tror det er mulig å tegne et slikt scatterplot i 5D (og kanskje med noe gimmick – i 4D), men vi lever i 3D-verden, akk. Faktor F må være ukorrelert til både E1 og E2 (mens de to ikke er korrelert også) fordi F skal være bare (ren) og fullstendig kilde til korrelasjon i de observerte dataene. Faktoranalyse deler total varians av p inngangsvariabler i to ukorrelerte (ikke-overlappende) ) deler: fellesskap del (m -dimensjonalt, der m vanlige faktorer styrer) og unikhet del (p -dimensjonal, der feil er, også kalt unike faktorer, gjensidig ukorrelert).

Så tilgiv for ikke å vise den sanne faktoren dataene våre på et scatterplot her. Det kan visualiseres ganske tilstrekkelig via vektorer i » emneområde » som gjort her uten å vise datapunkter.

Over, i seksjonen » Ideen om felles FA (latent funksjon) » Jeg viste faktor (akse F) som kil for å advare om at ekte faktorakse ikke ligger på planet V1 V2. Det betyr at – i motsetning til hovedkomponent P1 – faktor F som akse ikke er en rotasjon av akse V1 eller V2 i deres rom, og F som variabel er ikke en lineær kombinasjon av variablene V1 og V2.Derfor er F modellert (hentet fra variablene V1 v2) som om en ytre, uavhengig variabel, ikke en avledning av dem. Ligninger som Eq.1 hvor PCA begynner, er ikke aktuelt å beregne true (optimal) faktor i faktoranalyse, mens formelt isomorfe ligninger Eq.2 og Eq. 3 er gyldige for begge analysene. Det vil si at i PCA-variabler genererer komponenter og komponenter forutsier variabler; i FA faktor (er) genererer / forutsier variabler, og ikke tilbake – felles faktormodell antar konseptuelt so , selv om tekniske faktorer er hentet fra de observerte variablene.

Ikke bare true factor er ikke en funksjon av manifestvariablene, true factor «s verdier er ikke unikt definert . Med andre ord er de ganske enkelt ukjente. Alt skyldes at vi» befinner deg i det overdrevne 5D-analytiske rommet og ikke i hjemmets 2D-rom for dataene. Bare gode tilnærminger (et antall metoder eksisterer ) til sanne faktorverdier, kalt faktorpoeng , er der for oss. Faktorpoeng ligger i planet V1 V2, slik som hovedkomponentpoengene er, de blir beregnet som de lineære funksjonene til V1, V2, og det var de som jeg tegnet i seksjonen » FA: tilnærmet løsning (faktorpoeng) «. Hovedkomponentpoeng er sanne komponentverdier; faktorpoeng er bare rimelig tilnærming til de ubestemte sanne faktorverdiene.

FA: oppsummering av prosedyren

Å samle i en liten blodpropp hva de to forrige seksjonene sa, og legge til siste slag . Faktisk kan FA ( hvis du gjør det riktig, og se også dataantakelser ) finne den virkelige faktorløsningen (ved » true » Jeg mener her optimalt for dataeksemplet). Imidlertid finnes forskjellige ekstraksjonsmetoder (de er forskjellige i noen sekundære begrensninger de setter). Den virkelige faktorløsningen er opp til belastninger $ a $ . Dermed er belastninger av optimale, sanne faktorer. Faktorpoeng – hvis du trenger dem – kan beregnes ut fra disse belastningene på forskjellige måter og returnerer tilnærminger til faktorverdier.

Dermed vises » faktorløsning » i seksjonen » FA: tilnærmet løsning (faktor score) » var basert faktisk på optimale belastninger, dvs. på sanne faktorer. Men poengene var ikke optimale, etter skjebne. Poengene blir beregnet til å være en lineær funksjon av de observerte variablene, som komponentpoengene er, slik at de begge kunne sammenlignes på et spredningsdiagram, og jeg gjorde det i didaktisk forfølgelse å vise som en gradvis overføring fra PCA-ideen mot FA-ide. / p>

Man må være forsiktig når man plotter på den samme biplot faktorbelastningen med faktorpoeng i » faktorrommet «, vær oppmerksom på at belastninger gjelder sanne faktorer, mens poeng gjelder surrogatfaktorer (se kommentarene mine til dette svaret i denne tråden).

Rotasjon av faktorer (belastninger) hjelper til med å tolke de latente funksjonene. Rotasjon av belastninger kan gjøres også i PCA hvis du bruker PCA som om faktoranalyse (det vil si se PCA som variabel prediksjon). PCA har en tendens til å konvergere i resultater med FA ettersom antall variabler vokser (se den ekstreme rike tråden om praktiske og konseptuelle likheter og forskjeller mellom de to metodene). Se listen over forskjeller mellom PCA og FA på slutten av dette svaret . Trinnvise beregninger av PCA vs FA på iris datasett finnes her . Det er et betydelig antall gode lenker til andre deltakers svar på emnet utenfor denne tråden. Jeg beklager at jeg bare brukte få av dem i det nåværende svaret.

Se også en punktliste over forskjellene mellom PCA og FA her .

Kommentarer

  • +1. Det ‘ det er flott at du skrev det opp, denne tråden manglet definitivt et svar fra deg. Jeg stemte før jeg leste (som jeg sjelden gjør), og likte absolutt etterfølgende lesing. Jeg kan kommentere mer senere, men en liten nitpick for nå: du skrev flere ganger at i FA skulle feilskyen være » rund » .Men faktisk kan det godt være elliptisk (fordi unikheter for V1 og V2 kan ha forskjellige avvik), må det bare ha null korrelasjoner. Jeg antar at du ikke ønsket å forvirre leserne med denne detaljene.
  • @amoeba Jeg har en naiv tvil om den matematiske umuligheten til å presentere den optimale F, E1, E2 i rommet (planet) definert av V1, V2. Jeg kan tenke meg et moteksempel for dette: Si $ V_1 = a_ {1} F + E_1 $ og $ V_2 = a_ {2} F + E_2 $, hvor $ (E_1, E_2) = \ mathcal {N} (0 , \ Bbb {I}) $ – Bruk nå disse relasjonene til å generere prøver av V1 og V2. Når V1 og V2 er generert, hvis vi skulle utføre den optimale FA, bør vi få nesten nøyaktige estimater av (E1, E2), og det vil danne en elliptisk sky. Videre kan nå F, E1, E2 være representert i samme plan som V1 og V2.
  • @kasa, var kommentaren din svaret mitt eller amoeba ‘ s kommentar? Hvis kommentaren din er imot mitt hovedkrav om at i de tre latente variablene i FA ikke ligger i det opprinnelige rommet, og du kan vise det, hvorfor ikke gi et svar som viser det? Men vær oppmerksom på at i optimal FA er feilene nøyaktig ukorrelerte, ikke at de kunne tenkes som kommer fra normal ukorrelert befolkning.
  • @ttnphns : Beklager forvirringen, jeg tvilte på hovedkravet ditt. Jeg vil prøve å vise det som et svar om et par dager. Takk!

Svar

Forskjeller mellom faktoranalyse og hovedkomponentanalyse er:

• I faktoranalyse er det en strukturert modell og noen forutsetninger. I denne forbindelse er det en statistisk teknikk som ikke gjelder for hovedkomponentanalyse som er en ren matematisk transformasjon.

• Målet med hovedkomponentanalyse er å forklare variansen mens faktoranalyse forklarer kovariansen mellom variabler.

En av de største årsakene til forvirringen mellom de to har å gjøre med at en av faktorekstraksjonsmetodene i faktoranalyse kalles «metoden for hovedkomponenter». Imidlertid er det en ting å bruke PCA og en annen ting å bruke metoden til hovedkomponenter i FA. Navnene kan være like, men det er betydelige forskjeller. Førstnevnte er en uavhengig analysemetode mens sistnevnte er bare et verktøy for faktorekstraksjon.

Svar

For meg (og jeg håper dette er nyttig) er faktoranalyse mye mer nyttig enn PCA.

Nylig hadde jeg gleden av å analysere en skala gjennom faktoranalyse. Denne skalaen (selv om den er mye brukt i industrien) ble utviklet ved hjelp av PCA, og etter min kunnskap hadde aldri blitt faktoranalysert.

Da jeg utførte faktoranalysen (hovedaksen), oppdaget jeg at fellesskapene for tre av elementene var mindre enn 30%, noe som betyr at over 70% av varenes varians ikke ble analysert. PCA bare forvandler dataene til en ny kombinasjon og bryr seg ikke om felleskap. Min konklusjon var at skalaen ikke var veldig god fra et psykometrisk synspunkt, og jeg har bekreftet dette med et annet utvalg.

I hovedsak, hvis du vil forutsi bruk av faktorene, bruk PCA , mens hvis du vil forstå de latente faktorene, bruk faktoranalyse.

Svar

Utvider på @StatisticsDocConsultings svar: forskjellen i belastning mellom EFA og PCA er ikke triviell med et lite antall variabler. Her er «en simuleringsfunksjon for å demonstrere dette 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ører denne funksjonen 100 Iterations, i hver av dem produserer den tilfeldige, normalt distribuerte prøver (Sample.Size $ = 1000 $) av tre variabler, og trekker ut en faktor ved hjelp av PCA og ML-EFA. Den viser en liste med to Iterations -lange vektorer sammensatt av gjennomsnittsstørrelsene til de simulerte variablene «belastninger på den ikke-roterte første komponenten fra henholdsvis PCA og generell faktor fra EFA. Det lar deg leke med prøvestørrelse og antall variabler og faktorer som passer din situasjon, innenfor grensene for principal() og factanal() funksjoner og datamaskinen din.

Ved hjelp av denne koden har jeg simulert eksempler på 3–100 variabler med 500 iterasjoner hver for å produsere 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)} 

… for å plotte følsomheten til gjennomsnittlige belastninger (på tvers av variabler og iterasjoner) for antall variabler:

Dette viser hvor annerledes en må tolke styrken av belastninger i PCA kontra EFA. Begge avhenger noe av antall variabler, men belastningene er forspent oppover mye sterkere i PCA. Forskjellen mellom gjennomsnittlige belastninger avtar disse metodene når antall variabler øker, men selv med 100 variabler, gjennomsnittlig PCA-belastning er $ 0,067 $ høyere enn EFA-belastninger i tilfeldige normale data.Vær imidlertid oppmerksom på at gjennomsnittlig belastning vanligvis vil være høyere i virkelige applikasjoner, fordi man generelt bruker disse metodene på mer korrelerte variabler. Jeg er ikke sikker på hvordan dette kan påvirke forskjellen i gjennomsnittlig belastning.

Svar

Et sitat fra en veldig fin lærebok ( Brown, 2006, s. 22, fremheving lagt til.)
PCA = hovedkomponentanalyse
EFA = utforskende faktoranalyse
CFA = bekreftende faktoranalyse

Selv om det er relatert til EFA, blir hovedkomponentanalyse (PCA) ofte feilkategorisert som en estimeringsmetode for vanlig faktoranalyse. I motsetning til estimatorene som ble diskutert i forrige avsnitt (ML, PF), er PCA avhengig av et annet sett med kvantitative metoder som ikke er basert på fellesfaktormodellen. PCA skiller ikke felles og unik varians. Snarere tar PCA sikte på å redegjøre for avviket i de observerte tiltakene i stedet for å forklare sammenhengen mellom dem. Dermed blir PCA mer hensiktsmessig brukt som datareduksjonsteknikk for å redusere et større sett med tiltak til et mindre, mer håndterbart antall sammensatte variabler å bruke i påfølgende analyser. Noen metodologer har imidlertid hevdet at PCA er et rimelig eller kanskje overlegen alternativ til EFA, i lys av det faktum at PCA har flere ønskelige statistiske egenskaper (f.eks. Beregningsmessig enklere, ikke utsatt for feil løsninger, gir ofte resultater som ligner på EFAs , PCAs evne til å beregne deltakerens poengsum på en hovedkomponent mens EFAs ubestemte karakter kompliserer slike beregninger). Selv om debatten om denne saken fortsetter, har Fabrigar et al. (1999) gir flere grunner i motsetning til argumentet for PCAs plass i faktoranalyse. Disse forfatterne understreker situasjonene der EFA og PCA gir forskjellige resultater; for eksempel når fellesskap er lave eller når det bare er noen få indikatorer på en gitt faktor (jf. Widaman, 1993). Uansett, hvis den overordnede begrunnelsen og empiriske målene for en analyse er i samsvar med den vanlige faktormodellen, er det konseptuelt og matematisk inkonsekvent å gjennomføre PCA; EFA er mer hensiktsmessig hvis det oppgitte målet er å gjengi sammenkoblingene til et sett med indikatorer med et mindre antall latente dimensjoner, og gjenkjenne eksistensen av målefeil i de observerte målene. Floyd og Widaman (1995) gjør det relaterte punktet at estimater basert på EFA er mer sannsynlig å generalisere til CFA enn de som er oppnådd fra PCA ved at, i motsetning til PCA, er EFA og CFA basert på den felles faktormodellen. Dette er en bemerkelsesverdig betraktning i lys av det faktum at EFA ofte brukes som en forløper for CFA i skalautvikling og validering av konstruksjon. En detaljert demonstrasjon av beregningsforskjellene mellom PCA og EFA finnes i flervariate og faktoranalytiske lærebøker (f.eks. Tabachnick & Fidell, 2001).

Brown, TA (2006). Bekreftende faktoranalyse for anvendt forskning. New York: Guilford Press.

Svar

Man kan tenke av en PCA som en FA der fellesskap antas å være lik 1 for alle variabler. I praksis betyr dette at gjenstander som vil ha relativt lave faktorbelastninger i FA på grunn av lavt fellesskap, vil ha høyere belastninger i PCA. Dette er ikke et ønskelig trekk hvis det primære formålet med analysen er å kutte varelengden og rense et batteri med gjenstander av de med lave eller tvetydige belastninger, eller å identifisere konsepter som ikke er godt representert i varepuljen.

Svar

I en artikkel av Tipping og Bischop diskuteres det tette forholdet mellom probabalistisk PCA (PPCA) og faktoranalyse. PPCA er nærmere FA enn den klassiske PCA er. Den vanlige modellen er

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

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

  • Faktoranalyse antar at $ \ mathbf {\ Psi} $ er diagonal.
  • 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, bind 61, utgave 3, side 611–622

Kommentarer

  • + 1. Ja. Jeg tror at forståelse av PPCA er nødvendig for å forstå forholdet mellom PCA og FA. Men du kan forbedre svaret ditt ved å diskutere PCA / PPCA-forholdet.

Svar

Ingen av disse svarene er perfekt. Enten FA eller PCA har noen varianter. Vi må tydelig påpeke hvilke varianter som sammenlignes. Jeg vil sammenligne maksimal sannsynlighetsfaktoranalyse og Hotellings PCA.Førstnevnte antar at den latente variabelen følger en normalfordeling, men PCA har ingen slik antagelse. Dette har ført til forskjeller, for eksempel løsningen, nestingen av komponentene, det unike med løsningen, optimaliseringsalgoritmene.

Kommentarer

  • Jeg lurer på om du kan utvide litt til dette – du har sagt det er forskjeller i siste setning, men ikke gitt mye informasjon om hva disse forskjellene kan være, eller på hvilken måte disse forskjellene kan være viktige?
  • Å velge to fjerneste metoder og å hevde at de virkelig er forskjellige – som du gjør – er heller ikke en perfekt logikk . Man burde sannsynligvis finne og rapportere hvordan disse to er like. Alternativt kan man velge de fleste lignende metoder (som vanlig PCA vs PAF ) og rapportere på hvilken måte de er forskjellige.
  • Hotelling ‘ s PCA antar latente gaussere.

Svar

Det er mange gode svar for dette innlegget, men nylig kom jeg over en annen forskjell.

Clustering er en applikasjon der PCA og FA gir forskjellige resultater. Når det er mange funksjoner i dataene, kan man prøve å finne de beste PC-retningene og projisere dataene på disse PCene, og deretter fortsette med klynging. Ofte forstyrrer dette de iboende klyngene i dataene – Dette er et godt bevist resultat. Forskere foreslår å fortsette med sub-space clustering-metoder, som ser etter lavdimensjonale latente faktorer i modellen.

Bare for å illustrere denne forskjellen, vurder Crabs datasettet i R. Crabs datasettet har 200 rader og 8 kolonner, som beskriver 5 morfologiske målinger på 50 krabber hver av to farger former og begge kjønn, av arten – I hovedsak er det 4 (2×2) forskjellige klasser av krabber.

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) 

Klynging ved hjelp av PC1 og PC2: skriv inn bildebeskrivelse her

Klynging ved hjelp av PC2 og PC3: skriv inn bildebeskrivelse her

#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 av plottene ovenfor, bærer PC2 og PC3 mer kresne informasjon enn PC1.

Hvis man prøver å gruppere ved hjelp av latente faktorer ved å bruke en blanding av faktoranalysatorer, ser vi mye bedre resultat sammenlignet med å bruke de to første PCene.

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

  • Jeg må si at jeg tviler på at dette svaret virkelig svarer på spørsmålet. Svaret handler om klyngeanalyse etter PCA eller FA, ikke om PCA og FA selv. Men selv i så henseende er svaret svakt eller uferdig. Hvordan forskjellen du viser skal forklares?
  • @ttnphns Jeg er enig i at svaret handler om klyngeanalyse. Imidlertid hadde OP også bedt om et virkelig scenario med PCA / FA der det ene må brukes over det andre. Vanligvis er PCA eller FA aldri sluttmålet – For f.eks. I samfunnsvitenskap ville det endelige målet være å segmentere fagene i forskjellige klynger / grupper. Svaret mitt adresserer slike scenarier. I tilfelle du tror svaret mitt kan forbedres, vær så snill å påpeke.
  • Jeg tror at svaret ditt kan bli veldig relevant hvis du forklarer ditt funn. Du hevder at forskjellene mellom PCA og FA er iboende for de to metodene (bare de blir tydelige under gruppering). Jeg tror du burde vise eller i det minste spekulere i hvordan eller hvorfor forskjellene teoretisk oppstår fra forskjellene mellom metodene ‘ modeller.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *