[viesti Survo-keskustelupalstalla (2001-2013)]
Kirjoittaja: | Seppo Mustonen |
---|---|
Sähköposti: | - |
Päiväys: | 13.12.2004 15:18 |
Faktorianalyysin graafisen rotaation (ROTATE?) toimintatapaa on yleistetty Lauri Tarkkosen ehdottamien periaatteiden mukaisesti. 1) On mahdollista valita mitkä muuttujat näkyvät faktoriavaruuden projektioissa. Kun muuttujia on paljon, keskittyminen "tärkeimpiin" selkeyttää tarkastelua. 2) Rotaation ohjaamiseen voidaan käyttää ulkoisia (external) muuttujia. Tähän tarvitaan ao. muuttujien projektiot (lataukset) faktoriavaruudessa ja sellaisiksi katsotaan ulkoisten muuttujien ja faktoripistemäärien korrelaatiot. Ulkoiset muuttujat näkyvät kuvissa harmaina. Ulkoisten muuttujien käyttö antaa uusia mahdollisuuksia tehdä Survon avulla faktorianalyysia konfirmatorisen analyysin tyyliin, mutta sitä joustavammin. Sukrokomento /EXTFACTA <datatiedosto>,<faktorien_lukumäärä> luo valmiin kaavion graafisen rotaation tekemiseksi tässä yleistetyssä muodossa käyttäjän valittua faktorianalyysiin tulevat muuttujat maskein A (=näkyvät), B (=näkymättömät) ja maskein X ulkoiset muuttujat. EXTFACTA muodostaa kaikkien muuttujien (A,B,X) korrelaatiomatriisin, laskee faktorimatriisin FACT.M muuttujista A,B (oletus: ML-ratkaisu) ja ulkoisten muuttujien lataukset matriisina EXTFACT.M suoraan muuttujien A,B ja X välisten korrelaatioiden ja matriisin FACT.M avulla (laskematta erikseen faktoripistemääriä). Kaavio on muodoltaan esim. DECA-aineistoon sovellettuna: MASK=--ABAAABBBAAXX /EXTFACTA DECA,3 Setup for graphical factor rotation generated by /EXTFACTA: Primary factor matrix saved in FACT.M _ /MATSHOW FACT.M EXTERNAL=EXTFACT.M Loadings of external variables _ /MATSHOW EXTFACT.M FSHOW=FSHOW.M Variables shown in displays _ /MATSHOW FSHOW.M ROTATE FACT.M,3,CUR+1 / METHOD=GRAPHICAL - - - Faktorianalyysin graafinen rotaatio ei ilmeisesti ole saatavilla vieläkään muissa yleisissä tilasto-ohjelmissa, vaikka sillä on jatkuvasti sijansa ajattelevien tutkijoiden käsissä. Jotta useammat käyttäjät saisivat tilaisuuden oppia graafisen rotaation taidot, olen täydentänyt ROTATE-ohjelmaa niin, että se toimii myös tutoriaalisessa moodissa. Siis SURVO MM:n versiosta 2.21 lähtien on mahdollista tehdä sukroja, jotka suorittavat tutoriaalisessa moodissa tehdyn mallin mukaisesti graafisen rotaation eri vaiheet. Sukron listaukseen on lisättävissä tämän jälkeen selityksiä, jotka näkyvät rotaatioikkunassa yksilöllisesti jokaisessa suoritusvaiheessa. Oppimisedellytysten parantamiseksi tulisi tehdä useita sukroja esim. historiallisesti merkittävien aineistojen analyysin muodossa. Tässä esittelen sukron ROT1, joka tekee DECA-aineiston 10 lajimuuttujan ja 3 faktorin ML-faktoroinnin perusteella graafisen rotaation. Tuo ML-faktoroinnin kuvasin (sukron /EXTFACTA sovelluksena) edellä. Tämän jälkeen siirryin sukron A määrittelyyn tutoriaalisessa moodissa napeilla F2 T S A ENTER ja aktivoin komennon ROTATE FACT.M,3,CUR+1 / METHOD=GRAPHICAL . Tein vinon (oblique) rotaatioratkaisun vaihe vaiheelta. Saatuani mielestäni kelvollisen ratkaisun poistuin rotaatiosta ja lopetin sukron määrittelyn (napeilla F2 T E). Sukron A listaus on seuraava: TUTLOAD A {act}O|A109.22|R|N|A131.132|R|N|A100.134|R|A13.2269|R|N|A108.905|R|N| N|N|X|{end} Rotaation vaiheet näkyvät sukron A listauksessa koodisanoina, jotka päättyvät merkkiin |. Esim. "O|" tarkoittaa vinorotaatioon siirtymistä napilla O tai vastaavan painikkeen näpäytyksellä. "A109.22|" puolestaan vastaa 109.22-asteisen kiertokulman valintaa (hiirellä), "R|" itse rotaatiota ja "N|" seuraavan akseliparin valintaa. "X|" on hyväksymiskuittaus (nappi X), jolloin poistutaan rotaatio-ohjelmasta. Näitä epätavallisia (siis vain graafiseen rotaatioon liittyviä) koodeja voi laventaa sanallisin selityksin, jotka ilmaantuvat punaisina tekstiriveinä rotaatioikkunan alareunaan. Esim. O| voidaan laajentaa muotoon O:Ensimmäinen akselipari 1,2 - Siirrytään vinoon rotaatioon (O).| ja A109.22| muotoon A109.22:Rotaatio alkaa - Valitaan Y-akselin suunta (100m).| Siis : aloittaa kommenttitekstin ja | lopettaa sen samoin kuin koko koodisanan. Lopullisen ROT1-sukron olen tehnyt muotoon, jossa aloitetaan /EXTFACTA:lla ja jatketaan kommentein jalostetulla A-sukrolla: TUTSAVE ROT1 {R} MASK=--ABAAABBBAAXX-----------{R} /EXTFACTA DECA,3{act}{R} {R}{d2} {act}O:Ensimmäinen akselipari 1,2 - Siirrytään vinoon rotaatioon (O).| A109.22:Rotaatio alkaa - Valitaan Y-akselin suunta (100m).| R:Y-akselin kiertokulma (109.22 astetta valittu!) - Rotatoidaan (R).| N:Kierto vahvistettu - Valitaan seuraava akselipari (N).| A131.132:Toinen akselipari 1,3 - Y-akselin suunnaksi Shotput| R:Suunta 131.132 valittu - Rotatoidaan (R).| N:Rotatoitu - seuraava akselipari!| A100.134:Akselipari 2,3 - Valitaan suunta Shotput.| R:Suunta 100.134 valittu - Rotatoidaan (R).| A13.2269:Rotatoitu - Valitaan myös uusi X-akselin suunta (100m).| R:Suunta 13.2269 valittu - Vahvistetaan X-akselin paikka.| N:X-akseli asetettu - Uuteen akselipariin!| A108.905:Uudelleen pari 1,2 - Y-akseli 100m:n kautta!| R:Y-akseli 100m:n kautta asetettu - Vahvistetaan rotaatio.| N:Rotaatio vahvistettu - Seuraava akselipari| N:Ei muutettavaa - Seuraava akselipari| X:Ei muutettavaa - Rotaatio valmis (X)| {R}{d11}{u10} {end} ....................................................................... Jokaisella rotaatioaskeleella sukro pysähtyy ja näyttää kommentti- tekstin punaisena rotaatioikkunan alareunassa. Seuraavaan vaiheeseen siirrytään käyttäjän painettua ENTER-nappia. Sukron /ROT1 päätettyä työnsä toimituskenttään tulee seuraavaa jälkeä: (Huom. alla _ tarkoittaa todellisuudessa pientä mustaa neliötä.) /ROT1 MASK=--ABAAABBBAAXX----------- /EXTFACTA DECA,3 Setup for graphical factor rotation generated by /EXTFACTA: Primary factor matrix saved in FACT.M _ /MATSHOW FACT.M EXTERNAL=EXTFACT.M Loadings of external variables _ /MATSHOW EXTFACT.M FSHOW=FSHOW.M Variables shown in displays _ /MATSHOW FSHOW.M ROTATE FACT.M,3,CUR+1 / METHOD=GRAPHICAL Rotated factor matrix AFACT.M=FACT.M*inv(TFACT.M)' F1 F2 F3 Sumsqr 100m 0.007 0.944 -0.001 0.890 Shot_put 0.006 0.008 0.860 0.739 Hi_jump -0.287 -0.521 0.048 0.356 400m 0.444 0.622 -0.107 0.596 Javelin -0.158 -0.277 -0.008 0.102 1500m 1.009 0.010 0.016 1.019 L_jump -0.264 0.107 -0.174 0.111 Hurdles -0.128 0.306 0.000 0.110 Discus -0.192 -0.025 0.746 0.595 Pole_vlt -0.157 -0.005 -0.321 0.128 Sumsqr 1.471 1.731 1.443 4.645 Valitettavasti tässä viestissä kuvalliset vaiheet jäävät pois. Jotta niistä saisi edes jonkinlaisen käsityksen, olen siirtänyt kohtaa R:Suunta 13.2269 valittu - Vahvistetaan X-akselin paikka.| vastaavan kuvan verkkoon tiedostona, jonka Survosta avataan komennolla /OPEN www.survo.fi/pictures/rot1.jpg (Kasvata kuvakokoa tarvittaessa.) /ROT1:n antama rotatoitu faktorimatriisi AFACT.M vastaa erittäin hyvin kosinirotaatiolla saatavaa: MAT A1=AFACT.M / Kopioidaan graafisen rotaation tulos matriisiksi A. ROTATE FACT.M,3,CUR+1 / METHOD=COS Rotated factor matrix AFACT.M=FACT.M*inv(TFACT.M)' Shot_p 100m 1500m Sumsqr 100m 0.000 0.941 -0.000 0.886 Shot_put 0.856 0.000 0.000 0.733 Hi_jump 0.052 -0.517 -0.280 0.349 400m -0.113 0.617 0.435 0.583 Javelin -0.006 -0.275 -0.154 0.100 1500m 0.000 0.000 0.997 0.995 L_jump -0.169 0.111 -0.261 0.109 Hurdles 0.003 0.306 -0.128 0.110 Discus 0.747 -0.030 -0.194 0.596 Pole_vlt -0.317 -0.000 -0.153 0.124 Sumsqr 1.436 1.717 1.433 4.585 /TRAN-LEASTSQR A1,AFACT.M / Tulosten vertailu transformaatioanalyysilla MAT LOAD L.M,##.###,END+2 / Transformation matrix MAT LOAD E.M,##.###,END+2 / Residual matrix MATRIX L.M Transformation_matrix /// Shot_p 100m 1500m F1 -0.016 -0.010 0.988 F2 0.001 0.998 -0.007 F3 0.996 -0.009 -0.006 Transformaatiomatriisi L.M osoittaa ratkaisujen yhtäpitävyyden. - - - Toivon hartaasti, että näille uudistuksille kuuluisi myönteistä vastakaikua Survon käyttäjien suunnalta ja se ilmenisi hyviksi sukroiksi purkitettujen rotaatioratkaisujen muodossa. - Seppo Mustonen
Vastaukset: |
---|
Survo-keskustelupalstan (2001-2013) viestit arkistoitiin aika ajoin sukrolla, joka automaattisesti rakensi viesteistä (yli 1600 kpl) HTML-muotoisen sivukokonaisuuden. Vuoden 2013 alusta Survo-keskustelua on jatkettu entistäkin aktiivisemmin osoitteessa forum.survo.fi. Tervetuloa mukaan!