Struktuurivõrrandite mudelid 16. detsember Struktuurivõrrandite mudelid piirid ja piiritagused alad
Eeldatud jaotustest uuritavate tunnuste jaotus mtjus ML ja GLS hinnangute omadused asümptootiliselt efektiivne hinnangu dispersiooni hinnang Hii-ruut test normaaljaotus jah jah korrektne korrektne järsakus = 0 jah jah korrektne korrektne elliptiline jah jah vale vale üldjuhul jah ei vale vale Probleeme valmistab eelkõige endogeensete tunnuste jaotus (ehk mudelivigade jaotus). Kui eksogeensete tunnuste jaotus on sõltumatu mudeli vigade jaotusest (ning ei sõltu teistest otsitavatest parameetritest) siis erilisi probleeme ei esine. Mida teha, kui uuritavad tunnused pole soovitud jaotusega? a) Transformeerida uuritavaid tunnuseid; b) kasutada robustsemaid meetodeid.
Transformatsioonidest Kui õnnestub leida sobiv transformatsioon, mis muudab uuritava tunnuse jaotuse normaaljaotuseks, siis on kõik OK võime mudelis kasutada transformeeritud tunnust esialgse asemel (kui see ei tekita just interpreteerimisraskuseid). Üks sageli kasutatav meetod leida sobivat transformatsiooni on kasutada Box-Cox-i transformatsiooni. Struktuurivõrrandite mudelite juures pole Box-Coxi transformatsioon just ideaalne, sest ta minimiseerib eelkõige transformeeritud tunnuste asümmeetriakordaja väärtuseid (transformeeritud tunnus on võimalikult sümmeetriline). Struktuurivõrrandite puhul on aga asümmeetriast suuremaks mure allikaks järsakus. Sestap on välja pakutud modifitseeritud transformatsioon, mis aitab eelkõige vähendada järsakust (Jobson, 1992): X transform = sign(x-x med ) { ( X-X med +1)^a 1}/a, kui a <> 0; X transform = sign(x-x med ) ln{ ( X-X med +1) 1}, kui a = 0; Tuleb siiski silmas pidada, et Jobsoni meetodil transformeeritud tunnustele interpretatsiooni anda ei pruugi olla sugugi lihtne Box-Cox i meetodi puhul võiks see lihtsamini õnnestuda.
Näide: Jobsoni transformatsioon ja Box-Cox i transformatsioon R-is: library(mass); # boxcox funktsiooni jaoks jarsak=function (x) sum((x - mean(x))^4)/(length(x) * var(x)^2) 3 Jobson=function(X, lambda){ Xmed=median(X) n=length(lambda) obj=rep(na,n) for (i in 1:n){ a=lambda[i] if (a==0) Xtransform = sign(x-xmed)* log(abs(x-xmed)+1) else Xtransform = sign(x-xmed)*((abs(x-xmed)+1)^a - 1)/a obj[i] = abs(jarsak(xtransform)) } plot(lambda, obj, main="jobson i transformatsioon") return(lambda[which(obj==min(obj))]) } y=rpois(1000, lambda=2) Jobson(y, seq(-2,2, 0.1)) boxcox(lm(y+0.01~1), seq(-2, 2, 0.1))
Jobson i transformatsioon Box-Cox obj 0 1 2 3 4 5 log-likelihood -10000-8000 -6000-4000 95% -2-1 0 1 2 lambda -2-1 0 1 2 λ Jobson: jäta transformeerimata! (või kasuta astendajat 0,94) transf. järsakus -0,0007 Box-Cox: Võta ruutjuur! (või kasuta astendajat 0,55) y 0.55 järsakus -0,13
Robustsematest meetoditest: Sisuliselt mitteparameetriline meetod on nn WLS (Weighted Least Squares). Parameetrite hindamiseks minimiseeritakse funktsiooni F WLS väärtus: F WLS = [s-σ( )] T W -1 [s-σ( )] kus s valimi kovariatsioonimaatriksi 0.5(p+q)(p+q+1) unikaalsest elemendist moodustatud vektor, σ( ) vektor, mis on saadud vastavatest Σ( ) elementidest; W on positiivselt määratud kaalude maatriks. Browne (1982, 1984) näitas, et kui W on cov(s,s) mõjus hinnang, siis WLS meetod tagab asümptootiliselt efektiivsed hinnangud, nullhüpoteesi kehtides (N-1) F WLS ~ χ 2 ja lisaks on võimalik leida ka parameetrite vektori hinnangu asümptootilist kovariatsioonimaatriksit.
Kaalude maatriksi W valikust ACOV(s ij, s gh )= 1/N (σ ijgh - σ ij σ gh ), kus σ ijgh = E(X i - i) (X j j) (X g g) (X h h) σ ij = E(X i - i) (X j j). Praktikas asendatakse vastavad näitajad nende valimihinnangutega. Kaalutud vähimruutude meetodit, kus kaalude maatriks W on valitud ülaltoodud kujul, tuntakse ka ADF-meetodi nime all (ADF-Arbitrary Distribution Function). Paraku on 4. järku momentide valimihinnangud silmapaistvalt ebatäpsed ja sestap soovitatakse vastavat meetodit kasutada eelkõige vaid tõepoolest suurte valimite korral (N>>1000).
Üldistatud struktuurivõrrandid Kirjandus: Generalized Latent Variable Modeling. Multilevel, Longitudinal and Structural Equation Models. Anders Skrondal, Sophia Rabe-Hesketh (2004) või y j = X j β + Λ j η j + ε j µ i = g -1 (ν i ); ν i = X j β + Λ j η j + ε j Kus Λ j võib sisaldada nii mõõdetud tunnuste väärtuseid kui ka tundmatuid parameetreid. STATA (gllmm) M-Plus (http://www.statmodel.com/)
Võimalus 2: Satorra & Bentler muudetud hii-ruut statistik Kunagi ammu pakkus härra Browne (1982) välja idee, et jagades mudeli headust kontrolliva hii-ruut statistiku läbi (teataval viisil leitud suhtelise) mitmemõõtmelise järsakusega, on võimalik saada teststatistikut, mis on (asümptootiliselt) hii-ruut jaotusega suvalise elliptilise jaotuse korral. Satorra & Bentler (1988, 1994) täiendasid seda ideed konstant, millega jagatakse läbi hii-ruut statistik, sõltub neil lisaks mitmemõõtmelisele järsakusele veel mudeli vabadusastmete arvust jm. Simulatsioonid on näidanud, et väikeste või keskmise suurusega valimite korral töötab Satorra & Bentler i modifitseeritud hii-ruut test sageli paremini kui F WLS il baseeruv hii-ruut test. R-is hetkel kättesaadav lisamoodulis sem.additions
Võimalus 3: Bootstrap aitab alati? 1. leia S, Σ=Σ(θ) ja χ 2 -statistik. 2. leia uus, transformeeritud andmestik Z: Z=YS -0,5 Σ 0,5 (nullhüpotees kehtib). 3. vali tagasipanekuga välja N vaatlust andmestikust Z. Hinda oma mudel uuesti ja salvesta χ 2 -statistiku väärtus. 4. Korda sammu 3 tuhandeid kordi; 5. loe, mitu korda tuli bootstrapil χ 2 -statistiku väärtus suurem kui algne, sinu transformeerimata andmestiku põhjal leitud hii-ruut statistiku väärtus. Saadud tõenäosus ongi otsitav p-väärtus.
Näide bootstrapi programmist: mudel <- matrix(c( 'X -> Y', 'b1', NA, 'Y -> Z', 'b2', NA, 'X <-> X', 'd1', NA, 'Y <-> Y', 'd2', NA, 'Z <-> Z', 'd3', NA), ncol=3, byrow=true) aa=sem(mudel, cov(cbind(x,y,z)), n) summary(aa)$chisq sqrtsig=eigen(aa$c)$vectors%*%diag(sqrt(eigen(aa$c)$values))%*% t(eigen(aa$c)$vectors) sqrtsinv=eigen(aa$s)$vectors%*%diag(eigen(aa$s)$values^(-0.5))%*% t(eigen(aa$s)$vectors) Z=cbind(X,Y,Z)%*%sqrtSinv%*%sqrtsig salv=rep(na,1000) for (i in 1:1000){ Zuus = Z[sample(1:n, n, replace=true),] aboot = sem(mudel, cov(zuus), n, c("x","y","z")) salv[i] = summary(aboot)$chisq} pvalue = sum(salv>summary(aa)$chisq); pvalue
Latentsed tunnused Mitte alati ei pea latentsed tunnused olema pidevad. Eksisteerib küllaltki palju olukordi, kus osakme aimata latentne tunnus peab olema nominaalne/diskreetne vms. Sageli on vastavatele analüüsitehnikatele antud ka omad spetsiifilised nimed. Vaatame mõningaid tuntumaid meetodeid, kus latentne tunnus pole pidev.
Latent Class Analysis Näide (General Social Survey, 1987): Mõõdetud tunnused: Y1 luba religioonivastastel rääkida 1 jah, 2- ei Y2 luba religioonivastastel inimestel õpetada 1 jah, 2- ei Y3 eemalda raamatukogust religioonivastased raamatud Latentne tunnus X kaks võimalikku väärtust X=1 religioonivastasuse suhtes tolerantne X=2 religioonivastasuse suhtes mittetolerantne
Y1 Y2 Y3 Sagedus P(X=1 Y=y) P(X=2 Y=y) 1 1 1 696.998.002 1 1 2 68.929.071 1 2 1 275.876.124 1 2 2 130.168.832 2 1 1 34.848.152 2 1 2 19.138.862 2 2 1 125.080.920 2 2 2 366.002.998 X=1 X=2 P(X=x).62.38 P(Y1=1 X=x).96.23 P(Y2=1 X=x).74.04 P(Y3=1 X=x).92.24 P( Y = y) = C x= 1 P( X = p x) Π l= 1 P( Y l = y l X = x)
Latent Class Regression varjatud faktortunnusega regression Mudel: jne. Y = c 0,1 + c 1,1 x + mudeli viga, kui vaatlus kuulub klassi 1; Y = c 0,2 + c 1,2 x + mudeli viga, kui vaatlus kuulub klassi 2; y 5 10 15 20 25 0 2 4 6 8 10 12 x
Varjatud faktortunnusega regressioonanalüüs R-is library(flexmix) M1=flexmix(y~x,, k=2) M1 grupp=cluster(m1) toenaosus= posterior(m1) parameters(m1,1) parameters(m1,2) M2=flexmix(y~1,,k=2) # Suurem AIC- Akaike Information Criterion väärtus näitab paremat mudelit AIC(M1) AIC(M2)
Latentsed tunnused hüpoteetilised konstruktsioonid vajavad õigustamist. Hüpoteetilised konstruktsioonid on kindlasti mitmes valdkonnas kasulikud, aga võib konstrueerida ka lõputul hulgal sisutühje ja tähenduseta latentseid tunnuseid. Kontrollimaks, kas kasutatud hüpoteetilistel konstruktsioonidel võiks üldse olla mingi mõte (ja kas meie poolt arvatud tähendus on õige), tuleks neid valideerida. On välja pakutud erinevaid valiidsuse kriteeriume kui Sinu poolt kasutatud konstruktsioon rahuldab neid vallidsuse kriteeriume, siis suhtutakse Sinu konstruktsiooni ehk veidi heatahtlikumalt kui muidu. Konstruktsiooni valiidsuse (Construct validity) kontrollimine: - convergent validity - discriminant validity - nomological validity
Convergent Validity Kas mõni teine test, mis peaks mõõtma sama asja, annab sarnaseid tulemusi? Kui oled konstrueerinud testi mille abil mõõta inimese matemaatika-alaseid võimeid, siis teised testid (teiste küsimustega), näiteks keskkooli matemaatika lõpueksam vms. peaks andma sinu poolt konstrueeritud näitajaga kõrgelt korreleeritud tulemusi. Discriminant Validity Korrelatsioonid erinevate mõistete (erinevaid konstruktsioone) mõõtvate latentsete tunnuste vahel ei tohiks olla liiga suured.
Esmane kontroll tundub olevat OK. Väike korrelatsioon η 1 η 2 y 1 y 2 y 3 y 4 y 5 y 6
Probleemid valiidsusega: suur korrelatsioon η 1 η 2 y 1 y 2 y 3 y 4 y 5 y 6
Nomoloogiline valiidsus Teoreetiline konstruktsioon on nomoloogiliselt valiidne, kui mõiste(te) tähenduse järgi kirja pandud teoreetiline sõltuvusstruktuur kannatab välja vaatlusandmete abil teostatava kontrolli The nomological network is founded on a number of principles that guide the researcher when trying to establish construct validity. They are: Scientifically, to make clear what something is or means, so that laws can be set forth in which that something occurs. The laws in a nomological network may relate: o observable properties or quantities to each other o different theoretical constructs to each other o theoretical constructs to observables At least some of the laws in the network must involve observables. "Learning more about" a theoretical construct is a matter of elaborating the nomological network in which it occurs or of increasing the definiteness of its components. The basic rule for adding a new construct or relation to a theory is that it must generate laws (nomologicals) confirmed by observation or reduce the number of nomologicals required to predict some observables. Operations which are qualitatively different "overlap" or "measure the same thing" if their positions in the nomological net tie them to the same construct variable.