Vraag:
Wordt PCA gevolgd door een rotatie (zoals varimax) nog steeds PCA?
Roman Luštrik
2010-07-25 19:31:32 UTC
view on stackexchange narkive permalink

Ik heb geprobeerd wat onderzoek te reproduceren (met behulp van PCA) van SPSS in R. In mijn ervaring, principal () function van pakket psych was de enige functie die in de buurt kwam (of als mijn geheugen me goed bedient, dood aan) om de output te evenaren. Om dezelfde resultaten te krijgen als in SPSS, moest ik de parameter principal (..., rotate = "varimax") gebruiken. Ik heb kranten zien praten over hoe ze PCA deden, maar op basis van de output van SPSS en het gebruik van rotatie klinkt het meer als factoranalyse.

Vraag: Is PCA, zelfs na rotatie (met varimax ), nog steeds PCA? Ik had de indruk dat dit in feite factoranalyse zou kunnen zijn ... Als dat niet zo is, welke details mis ik dan?

Technisch gezien is alles wat je hebt na rotatie geen * hoofd * componenten meer.
Rotatie zelf verandert het niet. Gedraaid of niet, de analyse is wat het is. PCA is _niet_ FA in de enge definitie van "factoranalyse", en PCA _is_ FA in een bredere definitie van "factoranalyse". http://stats.stackexchange.com/a/94104/3277
Hallo @Roman!Ik heb deze oude thread herzien en het verbaast me dat je Brett's antwoord als geaccepteerd hebt gemarkeerd.U vroeg of PCA + rotatie nog steeds PCA is, of FA;Brett's antwoord zegt geen woord over rotaties!Het vermeldt ook niet de 'principal'-functie waar u naar vroeg.Als zijn antwoord inderdaad uw vraag beantwoordde, dan is uw vraag misschien niet voldoende geformuleerd;zou je overwegen om te bewerken?Anders vind ik dat het antwoord van het doctoraat veel dichter bij het daadwerkelijk beantwoorden van uw vraag ligt.Merk op dat u het geaccepteerde antwoord op elk moment kunt wijzigen.
Ik moet hieraan toevoegen dat ik bezig ben met een nieuw, meer gedetailleerd antwoord op je vraag, dus ik ben benieuwd of je eigenlijk nog steeds geïnteresseerd bent in dit onderwerp.Er zijn tenslotte vier en zijn jaren verstreken ...
@amoeba, anderen zijn misschien geïnteresseerd, dus als er iets is waarvan je denkt dat je het kunt bijdragen in een nieuw antwoord, zou ik zeggen: ga ervoor!Dat is het mooie van deze site.
@amoeba kan ik helaas niet antwoorden waarom ik dat antwoord heb geaccepteerd.Toen ik 4,5 jaar later het oude beest herzag, realiseerde ik me dat geen van de antwoorden in de buurt kwam.mbq begint veelbelovend, maar schiet tekort.Maar hoe dan ook, het onderwerp is erg verwarrend, waarschijnlijk dankzij de verkeerde terminologie in populaire statistische software voor sociale wetenschappen, die ik niet zal noemen met een vierletterige afkorting.Plaats alstublieft een antwoord en ping me, ik zal het accepteren als ik het dichter bij het beantwoorden van mijn vraag vind.
Acht antwoorden:
#1
+54
amoeba
2015-02-09 22:58:47 UTC
view on stackexchange narkive permalink

Deze vraag gaat grotendeels over definities van PCA / FA, dus de meningen kunnen verschillen. Mijn mening is dat PCA + varimax niet PCA of FA mag heten, maar eerder expliciet naar bv. als "varimax-geroteerde PCA".

Ik moet hieraan toevoegen dat dit een nogal verwarrend onderwerp is. In dit antwoord wil ik uitleggen wat een rotatie eigenlijk is ; dit vereist wat wiskunde. Een ongedwongen lezer kan direct naar de illustratie gaan. Alleen dan kunnen we bespreken of PCA + rotatie wel of niet "PCA" moet worden genoemd.

Een referentie is Jolliffe's boek "Principal Component Analysis", sectie 11.1 "Rotation of Principal Components", maar ik vind het zou duidelijker kunnen zijn.


Laat $ \ mathbf X $ een $ n \ maal p $ datamatrix zijn waarvan we aannemen dat deze gecentreerd is. PCA komt neer op ( zie mijn antwoord hier) op een enkelvoudige waarde-decompositie: $ \ mathbf X = \ mathbf {USV} ^ \ top $. Er zijn twee equivalente maar complementaire weergaven van deze ontleding: een meer PCA-achtige "projectie" weergave en een meer FA-stijl "latente variabelen" weergave.

Volgens de PCA-stijl weergave vonden we een stel orthogonale richtingen $ \ mathbf V $ (dit zijn eigenvectoren van de covariantiematrix, ook wel "hoofdrichtingen" of "assen" genoemd), en "hoofdcomponenten" $ \ mathbf {US} $ (ook wel hoofdcomponent "scores" genoemd ) zijn projecties van de gegevens in deze richtingen. Hoofdcomponenten zijn niet gecorreleerd, de eerste heeft maximaal mogelijke variantie, enz. We kunnen schrijven: $$ \ mathbf X = \ mathbf {US} \ cdot \ mathbf V ^ \ top = \ text {Scores} \ cdot \ text {Principal routebeschrijving}. $$

Volgens de FA-stijl hebben we enkele niet-gecorreleerde eenheidsvariantie "latente factoren" gevonden die aanleiding geven tot de waargenomen variabelen via "ladingen". Inderdaad, $ \ widetilde {\ mathbf U} = \ sqrt {n-1} \ mathbf {U} $ zijn gestandaardiseerde hoofdcomponenten (niet-gecorreleerd en met eenheidsvariantie), en als we belastingen definiëren als $ \ mathbf L = \ mathbf { VS} / \ sqrt {n-1} $, daarna $$ \ mathbf X = \ sqrt {n-1} \ mathbf {U} \ cdot (\ mathbf {VS} / \ sqrt {n-1}) ^ \ top = \ widetilde {\ mathbf U} \ cdot \ mathbf L ^ \ top = \ text {Gestandaardiseerde scores} \ cdot \ text {Loadings}. $$ (Merk op dat $ \ mathbf {S} ^ \ top = \ mathbf { S} $.) Beide weergaven zijn gelijkwaardig. Merk op dat ladingen eigenvectoren zijn die geschaald zijn door de respectievelijke eigenwaarden ($ \ mathbf {S} / \ sqrt {n-1} $ zijn eigenwaarden van de covariantiematrix).

(ik zou tussen haakjes moeten toevoegen dat PCA $ \ ne $ FA; FA expliciet gericht is op het vinden van latente factoren die lineair zijn toegewezen aan de waargenomen variabelen via ladingen; het is flexibeler dan PCA en levert verschillende ladingen op. Daarom geef ik er de voorkeur aan om noem de bovenstaande "FA-style view on PCA" en niet FA, ook al beschouwen sommige mensen het als een FA-methode.)

Wat doet een rotatie nu? Bijv. een orthogonale rotatie, zoals varimax. Ten eerste beschouwt het alleen $ k<p $ componenten, dwz: $$ \ mathbf X \ approx \ mathbf U_k \ mathbf S_k \ mathbf V_k ^ \ top = \ widetilde {\ mathbf U} _k \ mathbf L ^ \ top_k. $$ Dan er is een orthogonaal vierkant $ k \ maal k $ matrix $ \ mathbf T $ voor nodig en plugt $ \ mathbf T \ mathbf T ^ \ top = \ mathbf I $ in deze decompositie: $$ \ mathbf X \ approx \ mathbf U_k \ mathbf S_k \ mathbf V_k ^ \ top = \ mathbf U_k \ mathbf T \ mathbf T ^ \ top \ mathbf S_k \ mathbf V_k ^ \ top = \ widetilde {\ mathbf U} _ \ mathrm {rot} \ mathbf L ^ \ top_ \ mathrm {rot}, $$ waarbij geroteerde ladingen worden gegeven door $ \ mathbf L_ \ mathrm {rot} = \ mathbf L_k \ mathbf T $, en geroteerde gestandaardiseerde scores worden gegeven door $ \ widetilde {\ mathbf U} _ \ mathrm {rot} = \ widetilde {\ mathbf U} _k \ mathbf T $. (Het doel hiervan is om $ \ mathbf T $ zodanig te vinden dat $ \ mathbf L_ \ mathrm {rot} $ zo min mogelijk schaars werd, om de interpretatie ervan te vergemakkelijken.)

Merk op dat wat wordt geroteerd zijn: (1) gestandaardiseerde scores, (2) ladingen. Maar niet de ruwe scores en niet de hoofdrichtingen! De rotatie vindt dus plaats in de latente ruimte, niet in de oorspronkelijke ruimte. Dit is absoluut cruciaal.

Vanuit het standpunt van de FA-stijl is er niet veel gebeurd. (A) De latente factoren zijn nog niet gecorreleerd en gestandaardiseerd. (B) Ze zijn nog steeds toegewezen aan de waargenomen variabelen via (geroteerde) ladingen. (C) De hoeveelheid variantie vastgelegd door elke component / factor wordt gegeven door de som van de gekwadrateerde waarden van de corresponderende ladingskolom in $ \ mathbf L_ \ mathrm {rot} $. (D) Geometrisch beslaan ladingen nog steeds dezelfde $ k $ -dimensionale deelruimte in $ \ mathbb R ^ p $ (de deelruimte die wordt overspannen door de eerste $ k $ PCA-eigenvectoren). (E) De benadering tot $ \ mathbf X $ en de reconstructiefout veranderden helemaal niet. (F) De covariantiematrix wordt nog steeds even goed benaderd: $$ \ boldsymbol \ Sigma \ approx \ mathbf L_k \ mathbf L_k ^ \ top = \ mathbf L_ \ mathrm {rot} \ mathbf L_ \ mathrm {rot} ^ \ top. $$

Maar het standpunt van de PCA-stijl is praktisch ingestort. Gedraaide ladingen komen niet meer overeen met orthogonale richtingen / assen in $ \ mathbb R ^ p $, d.w.z. kolommen van $ \ mathbf L_ \ mathrm {rot} $ zijn niet orthogonaal! Erger nog, als u de gegevens [orthogonaal] projecteert op de aanwijzingen van de geroteerde ladingen, krijgt u gecorreleerde (!) Projecties en zult u de scores niet kunnen herstellen. [Om de gestandaardiseerde scores na rotatie te berekenen, moet men in plaats daarvan de datamatrix vermenigvuldigen met de pseudo-inverse van ladingen $ \ widetilde {\ mathbf U} _ \ mathrm {rot} = \ mathbf X (\ mathbf L_ \ mathrm {rot} ^ +) ^ \ top $. Als alternatief kan men eenvoudig de originele gestandaardiseerde scores roteren met de rotatiematrix: $ \ widetilde {\ mathbf U} _ \ mathrm {rot} = \ widetilde {\ mathbf U} \ mathbf T $.] Ook doen de geroteerde componenten not vangen achtereenvolgens de maximale hoeveelheid variantie op: de variantie wordt herverdeeld over de componenten (hoewel alle $ k $ geroteerde componenten precies evenveel variantie vastleggen als alle $ k $ originele hoofdcomponenten).

Hier is een illustratie. De gegevens zijn een 2D-ellips die langs de hoofddiagonaal is uitgerekt. De eerste hoofdrichting is de hoofddiagonaal, de tweede staat er orthogonaal op. PCA-laadvectoren (eigenvectoren geschaald door de eigenwaarden) worden in rood weergegeven - wijzend in beide richtingen en ook uitgerekt met een constante factor voor zichtbaarheid. Vervolgens heb ik een orthogonale rotatie van $ 30 ^ \ circ $ toegepast op de belastingen. De resulterende laadvectoren worden weergegeven in magenta. Merk op dat ze niet orthogonaal zijn (!).

PCA rotation

Een FA-achtige intuïtie is hier als volgt: stel je een "latente ruimte" voor waar punten een kleine cirkel vullen ( komen uit een 2D Gaussian met eenheidsvariaties). Deze verdeling van punten wordt vervolgens uitgerekt langs de PCA-ladingen (rood) om de gegevens-ellips te worden die we in deze figuur zien. Dezelfde verdeling van punten kan echter geroteerd worden en vervolgens worden uitgerekt langs de geroteerde PCA-ladingen (magenta) om dezelfde gegevens-ellips te worden.

[ Om daadwerkelijk te zien dat een orthogonale rotatie van ladingen een rotatie is, moet men naar een PCA-dubbeldekker kijken; daar zullen de vectoren / stralen die overeenkomen met de oorspronkelijke variabelen gewoon roteren.]


Laten we samenvatten. Na een orthogonale rotatie (zoals varimax ), zijn de "geroteerde hoofd" assen niet orthogonaal, en orthogonale projecties daarop hebben geen zin. Dus men zou liever dit hele assen / projectie-standpunt laten vallen. Het zou raar zijn om het nog steeds PCA te noemen (wat alles te maken heeft met projecties met maximale variantie enz.).

Vanuit FA-oogpunt hebben we eenvoudigweg onze (gestandaardiseerde en niet-gecorreleerde) latente factoren geroteerd, die is een geldige operatie. Er zijn geen "projecties" in FA; in plaats daarvan genereren latente factoren de waargenomen variabelen via ladingen. Deze logica is nog steeds bewaard gebleven. We zijn echter begonnen met hoofdcomponenten, die eigenlijk geen factoren zijn (aangezien PCA niet hetzelfde is als FA). Dus het zou raar zijn om het ook FA te noemen.

In plaats van te debatteren of men het liever PCA of FA zou moeten noemen, zou ik willen voorstellen om nauwgezet de exacte gebruikte procedure te specificeren: "PCA gevolgd door een varimax-rotatie".


Postscriptum. is mogelijk om een ​​alternatieve rotatieprocedure te overwegen, waarbij $ \ mathbf {TT} ^ \ top $ wordt ingevoegd tussen $ \ mathbf {US} $ en $ \ mathbf V ^ \ top $. Dit zou ruwe scores en eigenvectoren roteren (in plaats van gestandaardiseerde scores en ladingen). Het grootste probleem met deze aanpak is dat scores na zo'n "rotatie" niet meer ongecorreleerd zullen zijn, wat behoorlijk fataal is voor PCA. Men kan het doen, maar het is niet hoe rotaties gewoonlijk worden begrepen en toegepast.

Ik begreep de tekst rond de afbeelding niet helemaal.U gebruikt "ladingen" meerdere keren: `PCA-laadvectoren ... worden in rood weergegeven`,` uitgerekt langs de geroteerde PCA-ladingen (magenta) `.Ik vraag me af hoe "ladingen" of hun "vector" kunnen worden weergegeven als assen op de gegevensverspreidingsplot.Kunt u het alstublieft duidelijker maken?En het idee van "uitrekken"?Bedankt.
Dit kan te maken hebben met de lange discussie die we onlangs hadden over ladingen die "een subruimte overspannen" in de variabele ruimte of niet.In dit antwoord heb ik "loading vector" (of simpelweg "loadings") gebruikt om naar een kolom van de loadings-matrix te verwijzen.In mijn voorbeeld zijn de gegevens 2D, d.w.z. er zijn twee variabelen, en dus zijn ladingen 2D-vectoren.Daarom kan ik ze plotten op de data scatterplot (ik heb ze met een constante factor geschaald voor zichtbaarheid).In PCA zijn de belastingen natuurlijk orthogonaal (ze zijn evenredig met de eigenvectoren).Na varimax zijn ze dat niet meer.
De paragraaf over "uitrekken" (direct na de foto) zou ik waarschijnlijk beter moeten illustreren;Ik kan zien dat het niet erg duidelijk is.
Ik dacht dat als je orthogonaliteit of niet-orthogonaliteit van sommige vectoren (zoals ladingen) wilt plotten, je ze als pijlen zou moeten tekenen.Of misschien begrijp ik je niet?
Ik ben het ermee eens dat het gebruik van pijlen beter zou zijn, ik heb alleen de "pijlpunten" weggelaten voor het gemak van plotten.Ik zou dit cijfer opnieuw kunnen doen om ze toe te voegen.Ook heb ik elke vector in beide richtingen getekend omdat hun tekens er niet toe doen.
#2
+29
Brett
2010-07-28 00:22:33 UTC
view on stackexchange narkive permalink

Principal Components Analysis (PCA) en Common Factor Analysis (CFA) zijn verschillende methoden. Vaak produceren ze vergelijkbare resultaten en wordt PCA gebruikt als de standaard extractiemethode in de SPSS-factoranalyseroutines. Dit leidt ongetwijfeld tot veel verwarring over het onderscheid tussen beide.

Het komt erop neer dat dit conceptueel twee verschillende modellen zijn. In PCA zijn de componenten feitelijke orthogonale lineaire combinaties die de totale variantie maximaliseren. In FA zijn de factoren lineaire combinaties die het gedeelde deel van de variantie - onderliggende "latente constructen" maximaliseren. Daarom wordt FA vaak "gemeenschappelijke factoranalyse" genoemd. FA gebruikt verschillende optimalisatieroutines en het resultaat hangt, in tegenstelling tot PCA, af van de gebruikte optimalisatieroutine en de uitgangspunten voor die routines. Er is gewoon geen enkele unieke oplossing.

In R biedt de factanal () functie CFA een maximale waarschijnlijkheidsextractie. U mag dus niet verwachten dat het een SPSS-resultaat reproduceert dat is gebaseerd op een PCA-extractie. Het is gewoon niet hetzelfde model of dezelfde logica. Ik weet niet zeker of je hetzelfde resultaat zou krijgen als je de Maximum Likelihood-extractie van SPSS zou gebruiken, omdat ze misschien niet hetzelfde algoritme gebruiken.

Voor beter of slechter in R, kunt u echter de verwisselde "factoranalyse" reproduceren die SPSS als standaard biedt. Hier is het proces in R. Met deze code kan ik het resultaat van de SPSS Principal Component "Factor Analysis" reproduceren met behulp van deze dataset. (Met uitzondering van het teken, dat onbepaald is). Dat resultaat kan vervolgens ook worden geroteerd met behulp van een van de beschikbare rotatiemethoden van R.

  # Laad de attitude van de basisdataset om mee te werken. Data (attitude) # Bereken eigenwaarden en eigenvectoren van de correlatiematrix. pfa.eigen<-eigen (cor (attitude)) # Print en merk op dat eigenwaarden die zijn geproduceerd door SPSS. # Merk ook op dat SPSS 2 componenten als eigenwaarden zal extraheren > 1 = 2pfa.eigen $ waarden
# stel een waarde in voor het aantal factoren (voor de duidelijkheid) factors<-2 # Extraheer en transformeer twee componenten. pfa.eigen $ vectors [, 1: factors]% *% + diag (sqrt (pfa.eigen $ waarden [1: factoren]), factoren, factoren)  
+1 om echt de verwarring rond SPSS versus R hier te helpen dempen. Twee vragen blijven over: wat doet R's `prcomp` of` princomp` in vergelijking met de gemengde benadering van SPSS? Wat doet SPSS eigenlijk door extractie?
ah, en mag ik toevoegen hoe u scores berekent voor bijv. PC1 voor uw oplossing: standaardiseer `zz <- scale (attitude, T, T)` en `pc1 <- zz% *% oploss (cor (attitude), lamba [, 1])`. Waar lambda het resultaat is van de laatste regel van het voorbeeld van @Brett Magills.
-1.Hoewel er veel nuttige informatie in dit antwoord staat, vind ik dat het de oorspronkelijke vraag helemaal niet beantwoordt.De oorspronkelijke vraag was of PCA + rotatie nog steeds als PCA (of liever FA) kan worden beschouwd.Je antwoord noemt zelfs geen rotaties!Dus hoe kan het een antwoord zijn?
Het kan nuttig zijn om op te merken dat Common Factor Analysis * niet * hetzelfde is als Confirmatory Factor Analysis (ook CFA), wat een geheel andere procedure is.
#3
+11
ttnphns
2016-01-29 09:14:38 UTC
view on stackexchange narkive permalink

Dit antwoord is om in de vorm van een paddiagram dingen te presenteren waarover @amoeba redeneerde in zijn diepe (maar enigszins gecompliceerde) antwoord over deze thread (ik ben het er een beetje mee eens met 95%) en hoe ze er voor mij uitzien.

PCA in zijn juiste, minimale vorm is de specifieke orthogonale rotatie van gecorreleerde gegevens naar zijn niet-gecorreleerde vorm, waarbij de hoofdcomponenten opeenvolgend steeds minder van de totale variabiliteit. Als de dimensionaliteitsreductie alles is wat we willen, berekenen we meestal geen ladingen en alles wat ze erachter slepen. We zijn blij met de (ruwe) hoofdcomponentscores $ \ bf P $. [Houd er rekening mee dat notaties op de kaart niet precies de @ amoeba's volgen, - ik blijf bij wat ik aanneem in sommige van mijn andere antwoorden.]

Op de kaart neem ik een eenvoudig voorbeeld van twee variabelen p = 2 en gebruik beide geëxtraheerde hoofdcomponenten. Hoewel we meestal maar een paar eerste m<p -componenten behouden, maakt het voor de theoretische vraag die we overwegen ("Is PCA met rotatie een PCA of wat?") Geen verschil of m of allemaal p ; althans in mijn specifieke antwoord.

De truc van ladingen is om schaal (grootte, variabiliteit, inertie $ \ bf L $) van de componenten (ruwe scores) en naar de coëfficiënten $ \ bf V $ (eigenvectoren) waardoor de eerste een kaal "raamwerk" $ \ bf P_z $ is (gestandaardiseerde pr. componentscores) en de laatste vlezige $ \ bf A $ (ladingen). U herstelt de gegevens even goed met beide: $ \ bf X = PV '= P_zA' $. Maar ladingen openen perspectieven: (i) om de componenten te interpreteren; (ii) te rouleren; (iii) om correlaties / covarianties van de variabelen te herstellen. Dit komt allemaal door het feit dat de variabiliteit van de gegevens in ladingen is geschreven, als hun lading.

En ze kunnen die belasting op elk moment terugzetten naar de datapunten - nu of na rotatie . Als we ons een orthogonale rotatie voorstellen, zoals varimax, betekent dit dat we willen dat de componenten niet gecorreleerd blijven nadat de rotatie is voltooid. Alleen gegevens met een sferische covariantiematrix, wanneer ze orthogonaal worden geroteerd, behouden de ongecorrelatie. En voila, de gestandaardiseerde hoofdcomponenten (die in machine learning vaak "PCA-witgemaakte gegevens" worden genoemd) $ \ bf P_z $ zijn die magische gegevens ($ \ bf P_z $ zijn eigenlijk evenredig met de linkerzijde , dwz rij eigenvectoren van de gegevens). Terwijl we op zoek zijn naar de varimax-rotatiematrix $ \ bf Q $ om de interpretatie van belastingen te vergemakkelijken, wachten de datapunten passief op in hun kuise bolvormigheid &-identiteit (of "witheid").

Na $ \ bf Q $ gevonden is, is rotatie van $ \ bf P_z $ daardoor equivalent aan de gebruikelijke manier berekening van gestandaardiseerde hoofdcomponentscores via de gegeneraliseerde inverse van de laadmatrix, - dit keer van de geroteerde ladingen, $ \ bf A_r $ (zie de tabel). De resulterende varimax-geroteerde hoofdcomponenten, $ \ bf C_z $, zijn niet gecorreleerd, zoals we het wilden, plus gegevens worden door hen net zo goed hersteld als voorheen: $ \ bf X = P_zA '= C_zA_r' $. We kunnen ze dan hun weegschaal teruggeven die is gedeponeerd (en dienovereenkomstig geroteerd) in $ \ bf A_r $ - om ze niet te standaardiseren: $ \ bf C $.

We moeten ons ervan bewust zijn dat "varimax-geroteerde hoofdcomponenten "zijn geen belangrijkste componenten meer: ​​ik heb de notatie Cz, C, in plaats van Pz, P, gebruikt om het te benadrukken. Het zijn slechts "componenten". Hoofdcomponenten zijn uniek, maar componenten kunnen veel zijn. Andere rotaties dan varimax zullen andere nieuwe variabelen opleveren, ook wel componenten genoemd en ook niet gecorreleerd, naast onze $ \ bf C $ -en.

Ook om te zeggen dat varimax-geroteerde (of anderszins orthogonaal geroteerde) hoofdcomponenten (nu slechts "componenten"), terwijl ze niet-gecorreleerd, orthogonaal blijven, impliceren niet dat hun ladingen ook nog steeds orthogonaal zijn. Kolommen van $ \ bf A $ zijn onderling orthogonaal (net als eigenvectoren $ \ bf V $), maar geen kolommen van $ \ bf A_r $ (zie ook voetnoot hier).

En tot slot - het roteren van ruwe hoofdcomponenten $ \ bf P $ met onze $ \ bf Q $ is geen nuttige actie. We krijgen enkele gecorreleerde variabelen $ \ bf "C" $ met een problematische betekenis. $ \ bf Q $ leek (op een bepaalde manier) de configuratie van loadings te optimaliseren die alle schaal in hen hadden opgenomen. $ \ bf Q $ is nooit getraind om datapunten te roteren met de rest van de schaal erop. Het roteren van $ \ bf P $ met $ \ bf Q $ komt overeen met het roteren van eigenvectoren $ \ bf V $ met $ \ bf Q $ (in $ \ bf V_r $) en vervolgens het berekenen van de ruwe component scoort als $ \ bf "C" = XV_r $. Deze "paden" opgemerkt door @amoeba in hun Postscriptum.

Deze laatst geschetste acties (grotendeels zinloos) herinneren ons eraan dat eigenvectoren, niet alleen ladingen, in het algemeen kunnen worden geroteerd. De varimax-procedure zou op hen kunnen worden toegepast om hun structuur te vereenvoudigen. Maar aangezien eigenvectoren niet zo nuttig zijn bij het interpreteren van de betekenis van de componenten als de belastingen, wordt rotatie van eigenvectoren zelden gedaan.

enter image description here

Dus PCA met daaropvolgende varimax (of andere) rotatie is

  • nog steeds PCA
  • die onderweg de hoofdcomponenten verliet voor alleen componenten
  • die mogelijk meer (dan de pc's) interpreteerbaar als "latente eigenschappen"
  • maar werden niet satistisch gemodelleerd als die (PCA is geen eerlijke factoranalyse)

Ik heb in dit antwoord niet verwezen naar factoranalyse. Het lijkt mij dat het gebruik van het woord "latente ruimte" door @ amoeba een beetje riskant is in de context van de gestelde vraag. Ik ben het er echter mee eens dat PCA + analytische rotatie "FA- style view on PCA" genoemd zou kunnen worden.

Hoe de eigenwaarden van de geroteerde componenten berekenen?
@Haga, Geroteerde componenten zijn geen _principal_ componenten meer en kunnen dus geen eigenwaarden hebben.Hun varianties zijn niettemin gelijk aan de kolomsommen van kwadratische ladingen (zie de onderkant van mijn diagram - pijl naar niet-gestandaardiseerde scores).
#4
+8
doctorate
2013-03-28 16:38:51 UTC
view on stackexchange narkive permalink

In psych :: principal () kun je verschillende soorten rotaties / transformaties uitvoeren op je geëxtraheerde hoofdcomponent (en) of 'pc's' met behulp van de rotate = argument, zoals: "none" , "varimax" (standaard), "quatimax" , "promax" , "oblimin" , "simplimax" , en "cluster" . U moet empirisch beslissen welke in uw geval zinvol is, indien nodig, afhankelijk van uw eigen beoordeling en kennis van het onderwerp dat wordt onderzocht. Een belangrijke vraag die u een hint zou kunnen geven: welke is beter interpreteerbaar (opnieuw indien nodig)?

In de help vindt u misschien het volgende ook nuttig:

Het Het is belangrijk om te erkennen dat geroteerde hoofdcomponenten geen hoofdcomponenten zijn (de assen die horen bij de eigenwaardeontleding) maar slechts componenten zijn. Om dit duidelijk te maken, worden niet-geroteerde hoofdcomponenten gelabeld als PCi, terwijl geroteerde pc's nu worden aangeduid als RCi (voor geroteerde componenten) en schuin getransformeerde componenten als TCi (voor getransformeerde componenten). (Met dank aan Ulrike Gromping voor deze suggestie.)

#5
+7
russellpierce
2010-07-27 08:54:36 UTC
view on stackexchange narkive permalink

Ik heb begrepen dat het onderscheid tussen PCA en factoranalyse voornamelijk te maken heeft met de vraag of er een foutterm is. Dus PCA kan en zal de gegevens getrouw weergeven, terwijl factoranalyse minder trouw is aan de gegevens waarop het is getraind, maar probeert onderliggende trends of gemeenschappelijkheid in de gegevens weer te geven. Bij een standaardaanpak wordt PCA niet geroteerd, maar het is wiskundig mogelijk om dit te doen, dus mensen doen het van tijd tot tijd. Ik ben het met de commentatoren eens dat de "betekenis" van deze methoden enigszins voor het oprapen ligt en dat het waarschijnlijk verstandig is om er zeker van te zijn dat de functie die u gebruikt doet wat u van plan bent - zoals u bijvoorbeeld opmerkt, heeft R enkele functies die een ander soort PCA dan gebruikers van SPSS kennen.

#6
+2
user88
2010-07-25 19:56:32 UTC
view on stackexchange narkive permalink

Dankzij de chaos in de definities van beide zijn ze in feite synoniemen. Geloof geen woorden en kijk diep in de haven om de vergelijkingen te vinden.

Ik heb nog steeds moeite om vergelijkingen te begrijpen (bioloog ahoy), en daarom wendde ik me tot de gemeenschap hier, in de hoop dat het me zal helpen het verschil in lekentaal uit te leggen.
Ik denk dat de ideologie is dat FA ervan uitgaat dat het proces wordt aangedreven door enkele 'verborgen factoren', terwijl de gegevens die we hebben uit een aantal combinaties daarvan bestaan. Daarom is het probleem van FA om de verborgen factoren op de een of andere manier te reconstrueren. En daar komt PCA - een methode die iteratief nieuwe variabelen (pc's) bouwt door de oude zodanig te mengen dat de variantie van de gegevens gretig wordt geabsorbeerd. Je zou kunnen zeggen dat de pc's gelijk zijn aan de factoren van de FA, en hier zullen ze niet van elkaar te onderscheiden zijn. Maar men kan ook enkele wijzigingen aanbrengen in de PCA om er een basis van een andere 'FA-soort' van te maken, en zo begint het probleem.
Dus eigenlijk moet u bedenken wat u wilt doen (niet welk modewoord u wilt gebruiken). Ik weet dat het moeilijk is, vooral als ik biologen in de buurt heb (tot op zekere hoogte werkt het gebruik-buzzword goed in de biologie, dus ze gaan er gewoon van uit dat dit gebruikelijk is voor andere disciplines); toch is dit de manier waarop wetenschap moet worden gedaan. Gebruik dan Google (of deze site) om het goede algoritme ervoor te beoordelen. Gebruik ten slotte de docks om een ​​functie / knop te vinden die dit doet en typ / klik erop.
#7
+1
Gottfried Helms
2015-07-01 20:03:42 UTC
view on stackexchange narkive permalink

Hoewel deze vraag al een geaccepteerd antwoord heeft, wil ik graag iets toevoegen aan het punt van de vraag.

"PCA" -als ik het me goed herinner - betekent "hoofdcomponentenanalyse"; dus zolang je de hoofdcomponenten analyseert, of het nu zonder rotatie of met rotatie is, zijn we nog bezig met de analyse van de "hoofdcomponenten" (die werden gevonden door de juiste initiële matrix-ontleding).

Ik zou formuleren dat na "varimax" -rotatie op de eerste twee hoofdcomponenten, dat we de "varimax-oplossing van de twee eerste pc's" (of iets anders) hebben, maar nog steeds in de kader van analyse van hoofdcomponenten, of korter, zijn in het kader van "pca".

Om mijn punt nog duidelijker te maken: Ik ben niet van mening dat de simpele kwestie van rotatie het probleem introduceert om onderscheid te maken tussen EFA en CFA (de laatstgenoemden / geïntroduceerd in het probleem bijvoorbeeld in de antwoord van Brett)

Waarom noemde u CFA plotseling in de laatste zin?
@amoeba: Ik werd op die term gewezen door het 23-punten-toegekende antwoord van _Brett en vond dat het de moeite waard was er iets over op te merken.Maar misschien was het beter geweest om in plaats daarvan "FA" te zeggen.Ik zal erover nadenken ... (als ik erover nadenk, herinner ik me vaag dat 'CFA' werd gezien als 'bevestigende factoranalyse' in plaats van 'gewoon ...' in mijn eerdere studies van die methode, mogelijk in de jaren 80of jaren 90)
Alleen gaan de eerste drie alinea's van je antwoord over PCA versus FA, en dan gaat de laatste alinea die eruitziet alsof het de vorige samenvattend plotseling over EFA versus CFA gaat.
@amoeba: Maakt mijn laatste bewerking mijn intentie / zin duidelijker?
#8
+1
Dylan_Larkin
2016-01-27 23:39:45 UTC
view on stackexchange narkive permalink

Ik vond dit het nuttigst: Abdi & Williams, 2010, Principal component analysis.

ROTATION

Nadat het aantal componenten is bepaald, en om de interpretatie te vergemakkelijken, omvat de analyse vaak een rotatie van de componenten die werden behouden [zie bv. Ref. 40 en 67 voor meer details]. Er worden twee hoofdtypen rotatie gebruikt: orthogonaal als de nieuwe assen ook orthogonaal ten opzichte van elkaar staan, en schuin als de nieuwe assen niet orthogonaal hoeven te zijn. Omdat de rotaties altijd in een deelruimte worden uitgevoerd, zullen de nieuwe assen altijd minder traagheid verklaren dan de originele componenten (die berekend worden als optimaal). Het deel van de traagheid dat wordt verklaard door de totale subruimte na rotatie is echter hetzelfde als vóór rotatie (alleen de verdeling van de traagheid is veranderd). Het is ook belangrijk op te merken dat omdat erotatie altijd plaatsvindt in een deelruimte (dwz de ruimte van de behouden componenten), de keuze van deze deelruimte sterk het resultaat van de rotatie beïnvloedt. Daarom wordt het sterk aanbevolen om te proberen verschillende maten voor de deelruimte van de behouden componenten om de robuustheid van de interpretatie van de rotatie te beoordelen. Bij het uitvoeren van een rotatie verwijzen de termloadings bijna altijd naar de elementen van matrixQ.

(zie paper voor definitie van Q).



Deze Q&A is automatisch vertaald vanuit de Engelse taal.De originele inhoud is beschikbaar op stackexchange, waarvoor we bedanken voor de cc by-sa 2.0-licentie waaronder het wordt gedistribueerd.
Loading...