Pitanje:
Slijedi li PCA rotacijom (kao što je varimax) još uvijek PCA?
Roman Luštrik
2010-07-25 19:31:32 UTC
view on stackexchange narkive permalink

Pokušao sam reproducirati neka istraživanja (koristeći PCA) iz SPSS-a u R. Prema mom iskustvu, funkcija principal () iz paketa psych bila je jedina funkcija koja se približila (ili ako me sjećanje dobro služi, mrtva) kako bi se podudarala s izlazom. Da bih se podudarao s istim rezultatima kao u SPSS-u, morao sam koristiti parametar principal (..., rotate = "varimax") . Vidio sam kako radovi govore o tome kako su radili PCA, ali na temelju rezultata SPSS-a i upotrebe rotacije to više zvuči kao faktorska analiza.

Pitanje: Je li PCA, čak i nakon rotacije (pomoću varimax ), još uvijek PCA? Imao sam dojam da bi ovo zapravo mogla biti faktorska analiza ... U slučaju da nije, koje mi detalje nedostaje?

Tehnički, sve što imate nakon rotacije više nisu * glavne * komponente.
Sama rotacija to ne mijenja. Rotirana ili ne, analiza je takva kakva je. PCA _ nije_ FA u uskoj definiciji "faktorske analize", a PCA _ je_ FA u široj definiciji "faktorske analize". http://stats.stackexchange.com/a/94104/3277
Pozdrav @Roman!Pregledavao sam ovu staru nit i iznenađen sam što ste Brettov odgovor označili kao prihvaćen.Pitali ste je li rotacija PCA + još uvijek PCA ili je FA;Brettov odgovor ne govori niti jednu riječ o rotacijama!Niti se spominje funkcija `principal` o kojoj ste pitali.Ako je njegov odgovor doista odgovorio na vaše pitanje, onda vaše pitanje možda nije adekvatno formulirano;biste li razmislili o uređivanju?Inače, smatram da je odgovor doktorata mnogo bliži stvarnom odgovoru na vaše pitanje.Imajte na umu da prihvaćeni odgovor možete promijeniti u bilo kojem trenutku.
Trebao bih dodati da radim na novom, detaljnijem odgovoru na vaše pitanje, pa me zanima znati li vas zapravo još uvijek zanima ova tema.Napokon, prošle su i četiri godine ...
@amoeba, mogu biti zainteresirani, pa ako postoji nešto za što mislite da biste mogli dati svoj doprinos u novom odgovoru, rekao bih da to učinite!U tome je ljepota ove stranice.
@amoeba nažalost budući ja ne mogu odgovoriti zašto sam prihvatio taj odgovor.Pregledom stare zvijeri 4,5 godine kasnije, shvatio sam da se niti jedan odgovor ne približava.mbq započinje s obećanjima, ali nedostaje objašnjenje.Ali bez obzira na to, tema je vrlo zbunjujuća, vjerojatno zahvaljujući pogrešnoj terminologiji u popularnom statističkom softveru za društvene znanosti, koju neću imenovati s četveroslovnom kraticom.Molimo vas da objavite odgovor i pingate me, prihvatit ću ga ako ga nađem bliže odgovoru na moje pitanje.
Osam odgovori:
#1
+54
amoeba
2015-02-09 22:58:47 UTC
view on stackexchange narkive permalink

Ovo se pitanje uglavnom odnosi na definicije PCA / FA, pa se mišljenja mogu razlikovati. Moje mišljenje je da se PCA + varimax ne smije zvati ni PCA ni FA, već se izričito odnosi na npr. kao "varimax rotirani PCA".

Trebao bih dodati da je ovo prilično zbunjujuća tema. U ovom odgovoru želim objasniti što je zapravo rotacija ; ovo će zahtijevati malo matematike. Slučajni čitatelj može izravno prijeći na ilustraciju. Tek tada možemo razgovarati o tome treba li se rotacija PCA + zvati "PCA".

Jedna referenca je Jolliffeova knjiga "Analiza glavnih komponenata", odjeljak 11.1 "Rotacija glavnih komponenata", ali smatram da može biti jasnije.


Neka $ \ mathbf X $ bude $ n \ puta p $ matrica podataka za koju pretpostavljamo da je centrirana. PCA iznosi ( pogledajte moj odgovor ovdje) na razgradnju pojedinačne vrijednosti: $ \ mathbf X = \ mathbf {USV} ^ \ top $. Postoje dva ekvivalentna, ali besplatna gledišta na ovu razgradnju: prikaz više projekcije u stilu PCA i prikaz latentnih varijabli u stilu FA.

Prema pogledu u stilu PCA pronašli smo hrpa ortogonalnih pravaca $ \ mathbf V $ (to su vlastiti vektori matrice kovarijance, koji se nazivaju i "glavni pravci" ili "osi") i "glavne komponente" $ \ mathbf {US} $ (također se nazivaju "rezultati rezultata glavne komponente") ) su projekcije podataka u tim smjerovima. Glavne komponente su nepovezane, prva ima maksimalno moguću varijancu itd. Možemo napisati: $$ \ mathbf X = \ mathbf {US} \ cdot \ mathbf V ^ \ top = \ text {Rezultati} \ cdot \ text {Principal upute}. $$

Prema prikazu u stilu FA, pronašli smo neke neusklađene "latentne čimbenike" varijance jedinice koji dovode do promatranih varijabli putem "opterećenja". Zapravo, $ \ widetilde {\ mathbf U} = \ sqrt {n-1} \ mathbf {U} $ su standardizirane glavne komponente (nekorelirane i s varijantom jedinice), a ako opterećenja definiramo kao $ \ mathbf L = \ mathbf { VS} / \ sqrt {n-1} $, zatim $$ \ mathbf X = \ sqrt {n-1} \ mathbf {U} \ cdot (\ mathbf {VS} / \ sqrt {n-1}) ^ \ top = \ widetilde {\ mathbf U} \ cdot \ mathbf L ^ \ top = \ text {Standardizirani rezultati} \ cdot \ text {Loadings}. $$ (Imajte na umu da $ \ mathbf {S} ^ \ top = \ mathbf { S} $.) Oba su prikaza jednaka. Imajte na umu da su učitavanja vlastiti vektori prilagođeni odgovarajućim vlastitim vrijednostima ($ \ mathbf {S} / \ sqrt {n-1} $ su vlastite vrijednosti matrice kovarijance).

(trebam dodati u zagradama da PCA $ \ ne $ FA; FA izričito ima za cilj pronalaženje latentnih čimbenika koji se linearno preslikavaju na promatrane varijable pomoću opterećenja; fleksibilniji je od PCA i daje različita opterećenja. Zbog toga radije nazovite gornji "prikaz u FA stilu na PCA", a ne FA, iako neki ljudi to smatraju jednom od FA metoda.)

Što radi rotacija? Npr. ortogonalna rotacija, poput varimaxa. Prvo, uzima u obzir samo $ k<p $ komponente, tj .: $$ \ mathbf X \ približno \ mathbf U_k \ mathbf S_k \ mathbf V_k ^ \ top = \ widetilde {\ mathbf U} _k \ mathbf L ^ \ top_k. $$ Zatim potreban je kvadratni ortogonalni $ k \ puta k $ matrica $ \ mathbf T $ i uključuje $ \ mathbf T \ mathbf T ^ \ top = \ mathbf I $ u ovu dekompoziciju: $$ \ mathbf X \ približno \ 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}, $$ gdje rotirana opterećenja daju $ \ mathbf L_ \ mathrm {rot} = \ mathbf L_k \ mathbf T $, a rotirane standardizirane ocjene daju $ \ widetilde {\ mathbf U} _ \ mathrm {rot} = \ widetilde {\ mathbf U} _k \ mathbf T $. (Svrha ovoga je pronaći $ \ mathbf T $ tako da se $ \ mathbf L_ \ mathrm {rot} $ što više približi tome da bude oskudan, kako bi se olakšalo njegovo tumačenje.)

Imajte na umu da su rotirani sljedeći dijelovi: (1) standardizirani rezultati, (2) opterećenja. Ali ne i neobrađene ocjene i ne glavna uputstva! Dakle, rotacija se događa u latentnom prostoru, a ne u izvornom prostoru. Ovo je apsolutno presudno.

S gledišta FA stila, ništa se posebno nije dogodilo. (A) Latentni čimbenici još uvijek nisu povezani i standardizirani. (B) Oni se i dalje mapiraju u promatrane varijable pomoću (rotiranih) opterećenja. (C) Količina varijance koju bilježi svaka komponenta / faktor daje se zbrojem kvadrata vrijednosti odgovarajućeg stupca opterećenja u $ \ mathbf L_ \ mathrm {rot} $. (D) Geometrijski, opterećenja još uvijek obuhvaćaju isti $ k $ -dimenzionalni podprostor u $ \ mathbb R ^ p $ (potprostor koji obuhvaćaju prvih $ k $ PCA vlastitih vektora). (E) Približavanje $ \ mathbf X $ i pogreška rekonstrukcije uopće se nisu promijenili. (F) Kovarijantna matrica još uvijek se jednako dobro aproksimira: $$ \ boldsymbol \ Sigma \ approx \ mathbf L_k \ mathbf L_k ^ \ top = \ mathbf L_ \ mathrm {rot} \ mathbf L_ \ mathrm {rot} ^ \ top. $$

Ali gledište u stilu PCA praktički je propalo. Rotirana opterećenja više ne odgovaraju pravokutnim smjerovima / osima u $ \ mathbb R ^ p $, tj. Stupci $ \ mathbf L_ \ mathrm {rot} $ nisu pravokutni! Još gore, ako [ortogonalno] projicirate podatke na upute dane rotiranim opterećenjima, dobit ćete korelirane (!) Projekcije i nećete moći vratiti rezultate. [Umjesto toga, za izračunavanje standardiziranih rezultata nakon rotacije treba pomnožiti matricu podataka s pseudo-inverzno učitavanja $ \ widetilde {\ mathbf U} _ \ mathrm {rot} = \ mathbf X (\ mathbf L_ \ mathrm {rot} ^ +) ^ \ vrh $. Alternativno se mogu jednostavno rotirati izvorne standardizirane rezultate matricom rotacije: $ \ widetilde {\ mathbf U} _ \ mathrm {rot} = \ widetilde {\ mathbf U} \ mathbf T $.] Također, rotirane komponente rade ne sukcesivno bilježi maksimalnu količinu varijance: varijanca se preraspodjeljuje među komponentama (iako sve $ k $ rotirane komponente bilježe točno onoliko varijanci kao i sve $ k $ izvorne glavne komponente).

Evo ilustracije. Podaci su 2D elipsa rastegnuta duž glavne dijagonale. Prvi glavni smjer je glavna dijagonala, drugi je pravokutni na nju. PCA vektori opterećenja (vlastiti vektori skalirani vlastitim vrijednostima) prikazani su crveno - usmjereni u oba smjera i također rastegnuti konstantnim faktorom vidljivosti. Tada sam na opterećenja primijenio ortogonalnu rotaciju za $ 30 ^ \ circ $. Rezultirajući vektori učitavanja prikazani su magenta. Imajte na umu kako nisu pravokutni (!).

PCA rotation

Ovdje je intuicija u stilu FA sljedeća: zamislite "latentni prostor" u kojem točke ispunjavaju mali krug ( potječu iz 2D Gaussova s ​​jedinstvenim varijantama). Ta se raspodjela točaka proteže duž PCA opterećenja (crvena) kako bi postala elipsa podataka koju vidimo na ovoj slici. Međutim, ista raspodjela točaka može se rotirati , a zatim protezati duž rotiranih PCA opterećenja (magenta) kako bi postala ista elipsa podataka .

[ Da bismo zapravo vidjeli da je pravokutna rotacija opterećenja rotacija , treba pogledati PCA biplot; tamo vektori / zrake koje odgovaraju izvornim varijablama jednostavno će se okretati.]


Sažeti. Nakon ortogonalne rotacije (kao što je varimax ), osi "zakrenute-glavne" nisu pravokutne i ortogonalne projekcije na njih nemaju smisla. Stoga bi radije trebalo odbaciti cijelo ovo gledište osi / projekcije. Bilo bi čudno i dalje ga zvati PCA (što se tiče projekcija s maksimalnom varijancom itd.).

S gledišta FA stila, jednostavno smo rotirali svoje (standardizirane i nekorelirane) latentne čimbenike, koji je valjana operacija. U FA ne postoje "projekcije"; umjesto toga, latentni čimbenici generiraju promatrane varijable opterećenjima. Ova je logika još uvijek sačuvana. Međutim, započeli smo s glavnim komponentama, koje zapravo nisu čimbenici (jer PCA nije isto što i FA). Stoga bi bilo čudno nazvati ga i FA.

Umjesto da raspravljamo o tome treba li to "radije" nazvati PCA ili FA, predložio bih da budete precizni u određivanju točnog korištenog postupka: "PCA praćen rotacijom varimaxa".


Postscriptum. Moguće je razmotriti alternativni postupak rotacije, gdje je $ \ mathbf {TT} ^ \ top $ umetnuto između $ \ mathbf {US} $ i $ \ mathbf V ^ \ vrh $. To bi rotiralo sirove rezultate i vlastite vektore (umjesto standardiziranih rezultata i opterećenja). Najveći problem ovog pristupa je što nakon takve "rotacije" rezultati više neće biti neusklađeni, što je prilično kobno za PCA. Neko to može ali to nije način na koji se rotacije obično razumiju i primjenjuju.

Nisam u potpunosti razumio tekst koji okružuje sliku.Nekoliko puta upotrebljavate "opterećenja": `PCA vektori učitavanja ... prikazani su crveno`,` razvučeni duž rotiranih PCA opterećenja (magenta) `.Pitam se kako bi se "učitavanja" ili njihov "vektor" mogli prikazati kao osi na dijagramu raspršivanja podataka.Možete li, molim vas, to pojasniti?A ideja o "istezanju"?Hvala.
To bi moglo biti povezano s dugom raspravom koju smo nedavno vodili o učitavanjima "koja obuhvaćaju podprostor" u prostoru varijabli ili ne.U ovom odgovoru koristio sam "vektor učitavanja" (ili jednostavno "učitavanja") kako bih se pozvao na jedan stupac matrice učitavanja.U mom primjeru podaci su 2D, tj. Postoje dvije varijable, pa su i opterećenja 2D vektori.Stoga ih mogu ucrtati na grafikonu raspršivanja podataka (skalirao sam ih nekim konstantnim faktorom za vidljivost).U PCA, opterećenja su naravno pravokutna (proporcionalna su vlastitim vektorima).Nakon varimaxa to više nisu.
Odlomak o "istezanju" (odmah nakon slike) vjerojatno bih trebao bolje ilustrirati;Vidim da to nije baš jasno.
Mislio sam da ako želite nacrtati ortogonalnost ili neortogonalnost nekih vektora (poput opterećenja), trebali biste ih nacrtati kao strelice.Ili te možda ne razumijem?
Slažem se da bi korištenje strelica bilo bolje, izostavio sam samo "vrhove strelica" radi crtanja.Možda bih ponovio ovu brojku da bih ih dodao.Također, nacrtao sam svaki vektor usmjeren u oba smjera jer njihovi znakovi nisu važni.
#2
+29
Brett
2010-07-28 00:22:33 UTC
view on stackexchange narkive permalink

Analiza glavnih komponenata (PCA) i Analiza zajedničkog faktora (CFA) različite su metode. Često daju slične rezultate, a PCA se koristi kao zadana metoda ekstrakcije u rutinama SPSS faktorske analize. To nesumnjivo rezultira velikom zabunom oko razlike između njih dvoje.

Zaključak je da su ovo dva različita modela, konceptualno. U PCA, komponente su stvarne pravokutne linearne kombinacije koje maksimiziraju ukupnu varijancu. U FA, faktori su linearne kombinacije koje maksimiziraju dijeljeni dio varijance - temeljni "latentni konstrukti". Zato se FA često naziva "zajedničkom faktorskom analizom". FA koristi razne optimizacijske rutine, a rezultat, za razliku od PCA, ovisi o korištenoj optimizacijskoj rutini i početnim točkama za te rutine. Jednostavno, nema niti jednog jedinstvenog rješenja.

U R, funkcija factanal () omogućuje CFA-i izdvajanje najveće vjerojatnosti. Dakle, ne biste trebali očekivati ​​da će reproducirati SPSS rezultat koji se temelji na PCA ekstrakciji. To jednostavno nije isti model ili logika. Nisam siguran biste li dobili isti rezultat ako biste upotrijebili SPSS-ovo izvlačenje maksimalne vjerojatnosti, jer oni možda ne koriste isti algoritam.

U dobru ili zlu u R, međutim, možete reproducirati pomiješanu "faktorsku analizu" koju SPSS nudi kao zadanu. Evo postupka u R. S ovim kodom mogu reproducirati rezultat "Faktorske analize" glavne komponente SPSS-a pomoću ovog skupa podataka. (Izuzev znaka koji je neodređen). Taj bi se rezultat također mogao rotirati korištenjem bilo koje dostupne metode rotacije R-a.

  # Učitajte stav osnovnog skupa podataka da biste radili s. Data (stav) # Izračunajte vlastite vrijednosti i vlastite vektore matrice korelacije. pfa.eigen<-eigen (cor (stav)) # Ispišite i primijetite da su vlastite vrijednosti one koje proizvodi SPSS. # Također imajte na umu da će SPSS izvući 2 komponente kao vlastite vrijednosti > 1 = 2pfa.eigen $ vrijednosti
# postavite vrijednost za broj čimbenika (radi jasnoće) factor<-2 # Izdvojite i transformirajte dvije komponente.pfa.eigen $ vektori [, 1: čimbenici]% *% + diag (sqrt (pfa.eigen $ vrijednosti [1: faktori]), faktori, faktori)  
+1 za stvarno pomaganje ublažavanju zabune oko SPSS-a i R-a ovdje. Preostaju dva pitanja: Što radi R-ov `prcomp` ili` princomp` u usporedbi sa miješanim pristupom SPSS-a? Što SPSS zapravo radi ekstrakcijom?
ah, i mogu li dodati kako izračunati rezultate za npr. PC1 za vaše rješenje: standardizirajte `zz <- ljestvicu (stav, T, T)` i `pc1 <- zz% *% riješite (cor (stav), lamba [, 1])`. Gdje je lambda rezultat posljednjeg retka primjera @Brett Magills.
-1.Iako u ovom odgovoru ima puno korisnih informacija, smatram da uopće ne odgovara na izvorno pitanje.Prvotno je pitanje bilo može li se rotacija PCA + i dalje smatrati PCA (ili bolje rečeno FA).Vaš odgovor ne spominje ni rotacije!Pa kako to može biti odgovor?
Moglo bi biti korisno primijetiti da analiza zajedničkog faktora * nije * isto što i potvrdna analiza faktora (također CFA), što je potpuno drugačiji postupak.
#3
+11
ttnphns
2016-01-29 09:14:38 UTC
view on stackexchange narkive permalink

Ovaj odgovor želi predstaviti, u obliku putokaza, stvari o kojima je @amoeba obrazložio svojim dubokim (ali malo kompliciranim) odgovorom na ovoj temi (ja se nekako slažem s tim za 95%) i kako mi se čine.

PCA u svom pravilnom, minimalnom obliku specifična je ortogonalna rotacija koreliranih podataka u svoj nekorelirani oblik, s glavnim komponentama koje se slijede sve manje i manje od ukupnog broja varijabilnost. Ako je smanjenje dimenzionalnosti sve što želimo, obično ne računamo opterećenja i sve što se povuče za njima. Zadovoljni smo rezultatima (sirove) glavne komponente $ \ bf P $. [Imajte na umu da zapisi na grafikonu ne slijede točno @ amebe, - držim se onoga što usvajam u nekim drugim odgovorima.]

Na grafikonu uzimam jednostavan primjer dvije varijable p = 2 i upotrijebite obje izdvojene glavne komponente. Iako obično držimo samo nekoliko prvih m<p komponenata, za teoretsko pitanje koje razmatramo ("Je li PCA s rotacijom PCA ili što?") Nema razlike ako zadržimo m ili svi p ; barem u mom konkretnom odgovoru.

Trik učitavanja je skinuti skalu (veličina, varijabilnost, inercija $ \ bf L $) sa komponenata (neobrađene ocjene) i na koeficijenti $ \ bf V $ (vlastiti vektori) ostavljajući prvi da bude goli "okvir" $ \ bf P_z $ (standardizirani rezultati pr. komponenata), a drugi da budu mesnati $ \ bf A $ (opterećenja). Podatke vraćate podjednako dobro s oba: $ \ bf X = PV '= P_zA' $. Ali opterećenja otvaraju izglede: (i) za tumačenje komponenata; (ii) za rotiranje; (iii) za obnavljanje korelacija / kovarijancija varijabli. Sve je to zbog činjenice da je varijabilnost podataka zapisana u opterećenjima, kao njihovo opterećenje.

I to opterećenje mogu vratiti natrag u podatkovne točke bilo kada - sada ili nakon rotacije . Ako zamislimo ortogonalnu rotaciju kao što je varimax, to znači da želimo da komponente ostanu nekorelirane nakon izvršene rotacije. Samo podaci sa sfernom matricom kovarijance, kada se pravokutno rotiraju, čuvaju nekoreliranost. I voila, standardizirane glavne komponente (koje se u strojnom učenju često nazivaju "PCA izbijeljeni podaci") $ \ bf P_z $ su da su magični podaci ($ \ bf P_z $ zapravo proporcionalni lijevom , tj. vlastiti vektori podataka u retku). Dok smo u potrazi za varimax matricom rotacije $ \ bf Q $ kako bismo olakšali interpretaciju opterećenja, podatkovne točke pasivno čekaju u svojoj čednoj sferičnosti & identiteta (ili "bjeline").

Nakon $ \ bf Q Pronađen je $, rotacija $ \ bf P_z $ po njemu ekvivalentna je uobičajenom načinu izračuna standardiziranih rezultata glavnih komponenata putem generalizirane inverzne matrice učitavanja, - ovaj put, od rotirane učitavanja, $ \ bf A_r $ (vidi grafikon). Dobivene varimax-rotirane glavne komponente $ \ bf C_z $ su nepovezane, kao što smo htjeli, plus podaci se obnavljaju lijepo kao i prije rotacije: $ \ bf X = P_zA '= C_zA_r' $. Tada im možemo vratiti njihovu ljestvicu pohranjenu (i u skladu s tim zarotiranu) u $ \ bf A_r $ - da bismo ih nestandardizirali: $ \ bf C $.

Morali bismo biti svjesni da "varimax rotirane glavne komponente "više nisu glavne komponente: za naglašavanje sam upotrijebio oznaku Cz, C, umjesto Pz, P. Oni su samo "komponente". Glavne komponente su jedinstvene, ali ih može biti mnogo. Rotacije koje nisu varimax, donijet će i druge nove varijable koje se također nazivaju komponentama i koje također nisu u korelaciji, osim naših $ \ bf C $.

Također da kažemo, varimax-rotirane (ili na neki drugi način ortogonalno rotirane) glavne komponente (sada samo "komponente"), iako ostaju nekorelirane, ortogonalne, ne znače da su njihova učitavanja i dalje pravokutna. Stupci $ \ bf A $ međusobno su pravokutni (kao i vlastiti vektori $ \ bf V $), ali ne i stupci $ \ bf A_r $ (također pogledajte fusnotu ovdje).

I na kraju - rotiranje sirovih glavnih komponenata $ \ bf P $ s našim $ \ bf Q $ nije korisna radnja. Dobit ćemo neke korelirane varijable $ \ bf "C" $ s problematičnim značenjem. $ \ bf Q $ pojavio se kao optimizacija (na neki specifičan način) konfiguracije učitavanja koja su apsorbirala svu skalu u njih . $ \ bf Q $ nikada nije bio osposobljen za rotiranje podatkovnih točaka sa svom skalom koja je ostala na njima. Rotiranje $ \ bf P $ s $ \ bf Q $ bit će ekvivalentno rotiranju vlastitih vektora $ \ bf V $ s $ \ bf Q $ (u $ \ bf V_r $), a zatim izračunavanje sirovog komponenta ocjenjuje kao $ \ bf "C" = XV_r $. Te "staze" koje je @amoeba zabilježio u svom Postscriptumu.

Ove posljednje opisane radnje (uglavnom besmislene) podsjećaju nas da bi se vlastiti vektori, ne samo opterećenja, mogli rotirati, općenito. Na primjer, na njih se može primijeniti varimax postupak kako bi se pojednostavila njihova struktura. No, budući da svojstveni vektori nisu toliko korisni u tumačenju značenja komponenata kao opterećenja, rotacija vlastitih vektora rijetko se vrši.

enter image description here

Dakle, PCA s naknadnom rotacijom varimaxa (ili nekom drugom) je

  • još uvijek PCA
  • koji je usput napustio glavne komponente samo za komponente
  • koje su potencijalno više (od osobnih računala) koji se mogu protumačiti kao "latentne osobine"
  • , ali nisu modelirani satistički kao oni (PCA nije fer faktorska analiza)

U ovom se odgovoru nisam pozvao na faktorsku analizu. Čini mi se da je uporaba @ amoeba riječi "latentni prostor" pomalo rizična u kontekstu postavljenog pitanja. Međutim, složit ću se da bi se PCA + analitička rotacija mogla nazvati "FA- style prikaz na PCA".

Kako izračunati vlastite vrijednosti rotiranih komponenata?
@Haga, Rotirane komponente više nisu _principalne_ komponente, pa ne mogu imati vlastite vrijednosti.Njihove su varijance ipak jednake zbrojevima kvadratnih opterećenja u stupcu (pogledajte dno mojeg grafikona - strelica do nestandardiziranih rezultata).
#4
+8
doctorate
2013-03-28 16:38:51 UTC
view on stackexchange narkive permalink

U psych :: principal () možete izvoditi različite vrste rotacija / transformacija izvađenih glavnih komponenti ili '' PC-a '' pomoću rotate = argument, poput: "none" , "varimax" (zadano), "quatimax" , "promax" , "oblimin" , "simplimax" i "cluster" . Morate empirijski odlučiti koji bi u vašem slučaju trebao imati smisla, ako je potrebno, ovisno o vašoj vlastitoj procjeni i znanju o predmetu koji se istražuje. Ključno pitanje koje bi vam moglo nagovijestiti: koje je više razumljivo (opet ako je potrebno)?

U pomoći bi vam moglo biti korisno i sljedeće:

To važno je prepoznati da rotirane glavne komponente nisu glavne komponente (osi povezane s raspadanjem vlastite vrijednosti), već su samo komponente. Da to istaknemo, neokretne glavne komponente označene su kao PCi, dok su rotirani računali sada označeni kao RCi (za rotirane komponente), a koso transformirane komponente kao TCi (za transformirane komponente). (Hvala Ulrike Gromping na ovom prijedlogu.)

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

Koliko razumijem, razlika između PCA i faktorske analize prvenstveno je u tome postoji li pojam pogreške. Stoga PCA može i hoće vjerno predstavljati podatke, dok je faktorska analiza manje vjerna podacima na kojima je obučena, ali pokušava predstaviti temeljne trendove ili zajedništvo u podacima. Prema standardnom pristupu PCA se ne rotira, ali to je matematički moguće, pa to ljudi rade s vremena na vrijeme. Slažem se s komentatorima u tome da je "značenje" ovih metoda donekle prihvatljivo i da je vjerojatno pametno biti siguran da funkcija koju koristite radi ono što namjeravate - na primjer, kao što ste primijetili da R ima neke funkcije koje izvode druga vrsta PCA-e nego što je poznata korisnicima SPSS-a.

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

Zahvaljujući kaosu u definicijama oba, oni su zapravo sinonimi. Ne vjerujte riječima i pogledajte duboko u dokove kako biste pronašli jednadžbe.

Još uvijek se borim za razumijevanje jednadžbi (biolog ahoy), zbog čega sam se obratio zajednici ovdje, nadajući se da će mi pomoći objasniti razliku u laičkim terminima.
Mislim da je ideologija da FA pretpostavlja da je proces vođen nekim 'skrivenim čimbenicima', dok se podaci koje imamo sastoje od nekih njihovih kombinacija. Zbog toga je problem FA-a nekako rekonstruirati skrivene čimbenike. A tu je i PCA - metoda koja iterativno gradi nove varijable (PC) miješanjem starih tako da pohlepno apsorbiraju varijancu podataka. Moglo bi se reći da su računala jednaka FA faktorima i ovdje će se ne razlikovati. Ali netko može unijeti i neke promjene u PCA kako bi ga učinio bazom neke druge 'FA sorte', i tako problem započinje.
U osnovi, trebali biste razmisliti što želite raditi (a ne koju modnu riječ želite koristiti). Znam da je teško, pogotovo dok su u blizini biolozi (do neke mjere modna riječ dobro djeluje u biologiji, pa samo pretpostavljaju da je to zajedničko drugim disciplinama); ipak je to način na koji treba raditi znanost. Zatim upotrijebite Google (ili ovu web stranicu) da biste procijenili dobar algoritam za to. Na kraju, pomoću dokova pronađite funkciju / gumb koji to radi i upišite / kliknite na nju.
#7
+1
Gottfried Helms
2015-07-01 20:03:42 UTC
view on stackexchange narkive permalink

Iako ovo pitanje već ima prihvaćen odgovor, želio bih dodati nešto na točku pitanja.

"PCA" -ako se dobro sjećam - znači "analiza glavnih komponenata"; tako da dokle god analizirate glavne komponente, bilo da je to bez rotacije ili s rotacijom, mi smo još uvijek u analizi "glavnih komponenti" (koje su pronađene odgovarajućom početnom razgradnjom matrice).

Formulirao bih da nakon rotacije "varimax" na prve dvije glavne komponente imamo "varimax-rješenje dvaju prvih računala" (ili nešto drugo), ali još uvijek smo u Okviri analize glavnih komponenata, ili kraći, nalaze se u okviru "pca".

Da bi moja poanta bila još jasnija: Ne smatram da jednostavno pitanje rotacije uvodi problem razlikovanja između EFA i CFA (potonje je spomenuto / uvedeno u problem, na primjer u odgovor Brett-a)

Zašto ste iznenada spomenuli CFA u posljednjoj rečenici?
@amoeba: Na taj sam izraz ukazao _Brett-ov odgovor s 23 točke i smatrao sam da vrijedi nešto primijetiti u vezi s tim.Ali možda bi umjesto toga bilo bolje reći "FA".Razmislit ću o tome ... (Razmišljajući o tome, maglovito se sjećam da je "CFA" u mojim ranijim studijama te metode, možda 80-ih, bio viđen kao "potvrđujuća faktorska analiza" umjesto kao "uobičajeno ..."ili 90-ih godina)
Samo što se prva tri odlomka vašeg odgovora odnose na PCA vs FA, a zatim je posljednji odlomak koji izgleda kao da rezimira prethodne iznenada o EFA nasuprot CFA.
@amoeba: čini li moje zadnje uređivanje jasnijom moju namjeru / rečenicu?
#8
+1
Dylan_Larkin
2016-01-27 23:39:45 UTC
view on stackexchange narkive permalink

Smatram da je ovo najkorisnije: Abdi & Williams, 2010., Analiza glavnih komponenata.

ROTACIJA

Nakon što se odredi broj komponenata, a kako bi se olakšala interpretacija, analiza često uključuje rotaciju komponenata koje su zadržane [vidi npr. ref. 40 i 67, za više detalja]. Koriste se dvije glavne vrste rotacije: ortogonalna kada su nove osi također pravokutne jedna prema drugoj i kosa kad nove osi ne trebaju biti pravokutne. Budući da se rotacije uvijek izvode u potprostoru, nove osi uvijek će objasniti manje inercije od izvornih komponenata (koje se računaju kao optimalne). Međutim, dio tromosti objašnjen ukupnim podsprostorom nakon rotacije isti je kao i prije rotacije (samo particija inercije promijenila se). Također je važno napomenuti da se, jer se rotacija uvijek odvija u potprostoru (tj. Prostoru zadržanih komponenata), odabir ovog potprostora snažno utječe na rezultat rotacije. Stoga je snažno preporučljivo isprobati separalizacije za podprostor prostora zadržao komponente kako bi procijenio robusnost interpretacije rotacije. Prilikom rotacije, učitavanja termina gotovo se uvijek odnose na elemente matriceQ.

(vidi papir za definiciju Q).



Ova pitanja su automatski prevedena s engleskog jezika.Izvorni sadržaj dostupan je na stackexchange-u, što zahvaljujemo na cc by-sa 2.0 licenci pod kojom se distribuira.
Loading...