MPlus – jak na to? P. Soukup
Obsah úvodu MPlus Mplus a jiný statistický SW, výhody, nevýhody, přehled technik Dělení proměnných v Mplus Grafické prezentace modelů a jejich rovnicová vyjádření Parametry modelů a jejich odhady, ukázka regrese Úvod do práce s Mplus Struktura příkazů Mplus Příprava dat pro MPlus Základní modely v Mplus – korelace, lineární regrese, logistická regrese, EFA Generátor příkazů Modul pro diagramy
1. Mplus a jiný statistický SW, výhody, nevýhody, přehled technik
Stručně o MPlus Poměrně zvláštní SW Původně pro strukturní modely (jako alternativa k AMOS, LISREL či EQS) Postupně rozšiřování palety procedur Nyní poměrně široké spektrum technik (viz dále) Specifický (jako např. AMOS) ale částečně všeobecný software (blízké SPSS, R)
Materiály a texty I Mnoho na webu: http://www.statmodel.com – texty, videa, prezentace prof. Muthena a jeho kolegů Manuál – poměrně technicistní (opět na webu) plus doplňky k novým verzím, cca 800 stran statmodel forum Mplus user groups – UK, NL, ČR? Plus na webech statistiků
Materiály a texty II Existuje cosi jako učebnice MPlus V některých knihách je MPlus využíván Asi nej Byrne, B.: SEM in Mplus (obdobně vydala stejnou knihu pro AMOS a LISREL) dobrá Brown, D.: Confirmatory factor analysis for applied research (hodně o Mplus)
MPlus nabízené techniky Korelace Regrese lineární i logistická Explorační faktorová analýza (EFA) Konfirmační faktorová analýza (CFA) Úseková analýza (Path analysis) Obecné strukturní modely (SEM) Modely růstu s latentními proměnnými (LGA) Analýza latentních tříd (LCA) Loglineární modely Latent trait analysis (LTA) Víceúrovňové modely (multilevel) Item response theory (IRT) Analýza přežití (survival) Bayesovské přístupy Simulace Monte Carlo (MC) Vícenásobná náhrada chybějících hodnot (MI)
MPlus moduly Base - regrese, path analysis, EFA a CFA, SEM, modely růstu Mixture – zejména modely pro kategoriální proměnné, např. LCA, loglineární modely, LCGA, Multilevel – víceúrovňové mdoelování regrese, CFA, SEM, LGA Prodej: Base, Base+Mixture, Base+Multilevel, VŠE
MPlus ceny (univerzitní) Mplus Base Program $595 Mplus Base Program and Mixture Add-On $745 Mplus Base Program and Multilevel Add-On Mplus Base Program and Combination Add-On $895 Poznámka: cena pro studenty USD 200-350
MPlus demo Nyní verze 7.11 Demo dostupné na http://www.statmodel.com/demo.shtml Omezení dema na 2 nezávislé a šest závislých proměnných a maximálně dvě úrovně analýzy Umí ale veškerou paletu nabízených technik Na rozdíl od plné verze se s demem nedodávají příklady z manuálu (lze stáhnout z webu)
Výhody MPlus mnoho různých modelů EFA, CFA, obecné SEM, ML, LGM, LCA, LTA, možnost práce se všemi typy proměnných spousta různých výstupů mnoho variant odhadovacích technik malé nároky na techniku rychlé výpočty Bayesovské odhady, pokročilé náhrady chybějících hodnot, simulace vhodné velikosti dat před provedením výzkumu
Nevýhody MPlus specifický syntax (hodně odlišný od jiných SW) ale je „snadný“ omezený formát vstupních dat omezené možnosti úpravy dat (potřeba použít též jiný SW) omezené možnosti diagnostiky (specializace na SEM, díky tomu např. regresní diagnostika chybí) nelze převzít popisy proměnných a vždy je znovu vytváříme nejsou popisy kategorií nelze najednou provádět analýzy více souborů, pouštět více modelů najednou pouze textový výstup (plus diagram od verze 7)
2. Mplus a dělení proměnných
Klasická typologie nestačí Kardinální, ordinální, nominální Potřeba dále rozlišit: specifická je zejména cenzorovaná proměnná (příklad) V MPlus netradičně definujeme jen typ závisle proměnné, u ostatních je to jedno Spíše než o závisle a nezávisle proměnné hovoříme o endo vs. exogenních proměnných a dále o manifestních a latentních (viz dále)
Korelace – dvě manifestní proměnné Korelace měří sílu a směr vztahu mezi dvěma nebo více manifestními (pozorovanými) proměnnými. Graficky manifestní proměnné značíme čtvercem nebo obdélníkem Vzájemnou vazbu mezi proměnnými značí obousměrná šipka (CORRELATED WITH)
Explorační faktorová analýza – 2 latentní proměnné (+4 man.) Manifestní proměnné (indikátory) jsou projevem v pozadí působící latentní proměnné (faktor) Graficky latentní proměnné značíme kružnicí či elipsou Vazbu faktoru k indikátoru značí jednosměrná šipka (MEASURED BY)
Endogenní vs. endogenní proměnná Exogenní – není určena modelem, není ovlivněna jinou proměnnou z modelu Endogenní – je aspoň částečně určena modelem, je ovlivněna jinou proměnnou z modelu Technicky – do endogenní směřuje minimálně 1 šipka
Explorační faktorová analýza – 2 exogenní proměnné (+4 end.) Faktor je v roli nezávisle (endogenní) proměnné, např. inteligence ovlivňuje výsledek v jednotlivých testech inteligence
3. Grafické prezentace modelů (Mplus i jiný SW) a rovnicová vyjádření
Jednoduchá regrese Jednoduchá regresní analýza se zabývá tím jak jedna proměnná (Y) závisí na druhé (Y) (REGRESSED ON). Závisle proměnnou nepředvídáme přesně ale s chybou (ε) Rovnicově: Y=β0+ β1X+ ε E
Jednoduchá regrese Výsledek: odhad neznámých parametrů (β0, β1, plus rozptylu ε) Odhad β0 – umožňuje popis průměrné úrovně jevu (konstanty), navíc odhad jejich směr. odch. Odhad β1 – umožňuje popis vlivu proměnné X na proměnnou Y (směrnice), navíc odhad jejich směr. odch. Dále se odhaduje rozptyl ε – ukazuje jak je model přesný (jak moc je Y ovlivněno X), z něj plyne výpočet indexu determinace (R2) 1,3 3,56 E
Další výsledky jednoduché regrese Nebývají zobrazeny graficky (i když směrodatné odchylky někdy bývají v závorkách za odhadem parametru) Nalezneme ve výstupu procedury, typicky β0, , R2 aj. 1,3 3,56 (0,6) E
Explorační faktorová analýza – rovnice Pro každou manifestní proměnnou rovnice (tj. 6 rovnic), dále rovnice pro kovariance (více později) Složité modely zpravidla více rovnic a grafická prezentace modelu i odhadů parametru je snazší (ale je vždy nutně zjednodušením!!!)
4. Parametry modelů a jejich odhady – ukázka regrese v MPlus
PŘÍKLAD MODEL RESULTS Two-Tailed Estimate S.E. Est./S.E. P-Value COVERT ON C1 1.300 0.091 14.308 0.000 C2 1.250 0.081 15.388 0.000 C3 1.107 0.065 17.129 0.000
5. Úvod do práce s MPlus
Co potřebuji pro práci ? Datový soubor (viz dále) Syntax (tzv. input file) Pro každý model potřebuji 1 input file s jiným názvem (nutno je ukládat) Data mohou být samozřejmě pro různé modely stejná Upozornění: Když změníme zadání (input file) a tuto změnu neuložíme analýza se provede dle původního zadání
Finty a zrady I Příkazy – poměrně jednoduché (spousta věcí je default), ale zároveň ošemetné (občas je nutno default zrušit) příkazy nejsou zcela intuitivní, často nahlédnout do manuálu ale ten není moc user friendly Generátor příkazů aneb částečná pomoc skrze menu ale neobsahuje model!!! (lze řešit dnes grafickým rozhraním ), funguje jen pro některé modely Diagrammer – lze nakreslit model a vygenerovat část příkazu, která specifikuje model
Finty a zrady II Data – data musí mít specifický formát a často se je nedaří načíst (detaily dále) Spojovat data nutno jinde (například pro víceúrovňové modely), MPlus pracuje vždy s jediným souborem Průzkum dat lépe provést jinde (možnosti MPlus značně omezené - viz dále výstup SAMPSTAT)
6. Struktura příkazů MPlus (Input file)
Základní skladba TITLE DATA (povinné) VARIABLE (povinné) DEFINE ANALYSIS MODEL (není povinné, ale nic bez toho nespočítáme)* OUTPUT SAVEDATA PLOT MONTECARLO * Pokud nás zajímá jen základní popis dat, pak MODEL vynecháme
Postup výkladu TITLE DATA (povinné) VARIABLE (povinné) DEFINE ANALYSIS MODEL (není povinné, ale nic bez toho nespočítáme)* OUTPUT SAVEDATA PLOT MONTECARLO vysvětlíme Ukážeme u příkladů
TITLE Vhodné si napsat, co v analýze provádím, například regresní analýza závislosti příjmu na vzdělání, pohlaví a počtu let praxe Fráze bude vypadat: TITLE: regresní analýza závislosti příjmu na vzdělání, pohlaví a počtu let praxe Obecně platí, že se píše klíčové slovo (zde TITLE), za něj dvojtečka a pak další věci (případně další klíčová slova, viz například dále u dat)
TITLE Pozor: Části příkazu končí středníkem, výjimka je TITLE, kde středník na konci být nemusí Využití popisu analýzy: popis analýzy (TITLE) se objeví ve výstupu zcela nahoře Tip: Když chci si do příkazu udělat poznámky, tak napíši vykřičník a poté píši poznámku (v SPSS se analogicky užívá * a poté na konci tečka), až do konce (ke středníku) to program ignoruje)
DATA Vždy musím uvést s jakými daty pracuji Tip: Není nutné specifikovat cestu k datům, když jsou ve stejném adresáři jako input file Data mohou mít různou podobu: individuální, korelační matice, kovarianční matice (exkurz o kovarianční a korelační matici – aneb základ pro modely, více později) Upozornění: Pokud mám data ve formě korelační či kovarianční matice musím v příkazu dále specifikovat počet pozorování (NOBS ARE...viz dále) Ukázky různých dat (3 soubory – individuální data, korelační matice a kovarianční matice)
DATA Data mohou mít dvojí formátování (free nebo fixed), default je free (tj. za každým údajem je mezera) Pokud máme pevně daný formát (fixed) musíme specifikovat (viz ukázka dále) Doporučení: mít free formát, je to jednodušší Vždy ale používáme data v čistě textovém formátu MPlus nečte data z SPSS, Stata apod. (pro převod lze užít SPSS, StataConvertor, Excel apod.)
DATA Základní fráze bude vypadat: DATA: FILE IS “C:/reg.dat”; Upozornění: Nemohu tedy načítat více datových souborů najednou Tip: lze dělat analýzy za podskupiny (viz dále sekce VARIABLES, fráze GROUPING) Pro data, která nejsou individuální nutno připsat: TYPE IS COVARIANCE !toto je pro kovarian. matici; TYPE IS CORRELATION !toto je pro korel. matici; Plus specifikovat počet pozorování: NOBSERVATIONS ARE XXX;
VARIABLE Zde musíme popsat technickým názvem všechny proměnné, které jsou v souboru na který odkazuje příkaz DATA Doporučení: Nedávat do Mplus všechny proměnné, ale jen ty se kterými chci pracovat (šetřím čas i místo na disku) Tip: Pro rychlý výčet proměnných lze užít symbol pomlčky “-“ např. A1-A6 a automaticky se vytvoří sada A1 A2 ...A6 Základní fráze bude vypadat např.: VARIABLE: NAMES ARE X1 X2 X3;
VARIABLE Když chceme pracovat jen s podskupinou proměnných z dat musíme navíc přidat: USEVARIABLES ARE x1 x2; Dále je třeba často specifikovat chybějící hodnoty a proměnné, které mají jiný charakter než spojité (týká se jen endogenních) Fráze jsou tyto: MISSING ARE x1 (9) x2 (99); nebo ALL Pro ordinální či dichotomické endogenní: CATEGORICAL ARE x3;
VARIABLE Pro nominální endogenní: NOMINAL ARE x3; Pro cenzorovaná data: CENSORED ARE X3; Pro data s řídkým výskytem (Pois. rozdělená): COUNT ARE ARE X3; Pokud chci dělat analýzu po skupinách nutno přidat frázi včetně popisu skupin: GROUPING IS X3 (1=kluci 2=holky);
VARIABLE Tip: výčet proměnných lze opět udat skrze pomlčku, pokud chci něco provést pro všechny proměnné užiji místo výčtu slovo ALL Lze pracovat též s částí souboru, např. jen s kluky: USEOBSERVATION ARE (X3=1); Data lze samozřejmě použít s vahou, např.: WEIGHT IS TOTWGST; Poznámka: Obdobně lze požadovat váhy na 2. či 3. úrovni u víceúrovňových dat
Další části příkazů ANALYSIS, MODEL a OUTPUT budou vysvětlovány u jednotlivých analýz ostatní budou vynechány (DEFINE, SAVEDATA, PLOT, MONTECARLO)
Obecná pravidla příkazů Každé klíčové slovo musí začít na novém řádku Části příkazu odděluje vždy středník (výjimka u TITLE) MPlus čte jen do 90. sloupce,cokoli za ním ignoruje Malá a velká písmena se nerozlišují ani v názvech proměnných Klíčová slova lze zkrátit až na 4 písmena Klíčová slova IS, ARE, plus symbol = jsou záměnné (neplatí v DEFINE, MODEL CONSTRAINT, a MODEL) Seznam proměnných lze udat s mezerami, nebo oddělujeme čárkou Poznámka: detailní struktura příkazů je v manuálu (kap. 20)
Jednoduchá práce s input file Ctrl+S - uloží input file Ctrl+A - vybere vše v Input file Alt+R - spustí výpočet
7. Příprava dat pro MPlus
Příprava dat U korelačních či kovariančních dat zpravidla připravíme tak, že korelační či kovarianční matici vepíšeme do textového souboru, případně zkopírujeme (například z výstupu SPSS) a upravíme tak, aby vždy mezi dvěmi hodnotami byla jedna mezera (standard je dolní trojůhelník kov. či kor. matice) U individuálních dat musíme připravit soubor tak, aby: obsahoval pouze data (zapomenout na označení proměnných) prostý ASCII soubor s koncovkou *.dat neměl chybějící data ve formě mezer (nutno čísla nebo specifické symboly) Pro oddělení údajů používal mezeru nebo tabulátor
Postup v SPSS 1. Nutno zjistit, zda jsou chybějící hodnoty (uživatelské či systémové) a ty všechny rekodovat na jednu hodnotu (např. 999): recode a1 (mis=999) (else=copy). 2. Kontrola, že mám všude hodnoty, které nejsou systém missing (např. FRE ALL) 3. Uložení dat (lze vybrat proměnné k uložení, před tím lze případně vybrat případy pro uložení SEL IF) 4. Ukládáme jako TabDelimited (*.dat) ideálně do adresáře, kde budeme ukládat práci v MPlus (pak nemusíme specifikovat cesty k souboru – viz výše)
Ukázka v SPSS Data ISSP1999 Převod do MPlus (proměnné věk, vzdělání, pohlaví a příjem – B7, B9, B48, B41A) Kontrola výsledného souboru otevřením v prohlížeči Později kontrola spuštěním analýz v MPlus – srovnání popisné statistiky v MPlus a SPSS (zejména počet případů a hodnoty průměrů či četností) Úkol na procvičení – samostatný převod do MPlus proměnné A47a-c, A47f-g
8. Základní modely v MPlus
Probírané příklady Regrese lineární jednoduchá Regrese lineární vícenásobná Regrese logistická vícenásobná
Postup Zadání příkazem, doplnění základních parametrů výstupu Zadání skrze diagrammer U složitějších (EFA a CFA) ukázka přípravy příkazu přes Language generator Komentář k výstupům Možnosti úpravy modelu
Korelace na úvod DATA: FILE IS spss_mplus1.dat; variable: names are prij poh vzd vek; categorical are poh; MISSING ARE ALL (-1); OUTPUT: sampstat; Srovnání výsledků s SPSS
Jednoduchá lin. regrese Jednoduchá regresní analýza se zabývá tím jak jedna proměnná (Y) závisí na druhé (Y) (REGRESSED ON). Závisle proměnnou nepředvídáme přesně ale s chybou (ε) Rovnicově: Y=β0+ β1X+ ε E
Jednoduchá lin. regrese DATA: FILE IS spss_mplus1.dat; variable: names are prij poh vzd vek; Usevariables prij vzd; MISSING ARE ALL (-1); MODEL: Prij on vzd; OUTPUT: sampstat standardized cinterval; Srovnání výsledků s SPSS
Vícenásobná regrese Vícenásobná regrese analyzuje možnost predikovat pomocí více proměnných závisle proměnnou (Y). Tato metoda má výhody, protože málokdy můžeme vysvětlit závisle proměnnou pouze pomocí jedné proměnné. Y = b0 + b1X1 +b2X2 +b3X3
Vícenásobná lin. regrese DATA: FILE IS spss_mplus1.dat; variable: names are prij poh vzd vek; Usevariables prij vzd poh vek; MISSING ARE ALL (-1); MODEL: Prij on vzd poh vek; OUTPUT: sampstat standardized cinterval; Srovnání výsledků s SPSS
Vícenásobná logistická regrese DATA: FILE IS spss_mplus3.dat; VARIABLE: NAMES ARE podriz pohl vzdel; CATEGORICAL IS podriz; missing are vzdel (88); ANALYSIS: ESTIMATOR = ML !jinak spočte probit model; MODEL: podriz ON pohl vzdel; OUTPUT: sampstat standardized cinterval; Srovnání výsledků s SPSS – MPlus umí standardizaci, automaticky rozezná charakter nezávisle proměnných, snadno přejde k polytomické či ordinální regresi případně ke Coxově modelu, ale není R2 či testy LR
Explorační FA Pro každou manifestní proměnnou rovnice (tj. 6 rovnic), dále rovnice pro kovariance (více později) Složité modely zpravidla více rovnic a grafická prezentace modelu i odhadů parametru je snazší (ale je vždy nutně zjednodušením!!!)
Explorační FA DATA: FILE IS spss_mplus2.dat; VARIABLE: names are preroz vlastnik pracuji tradice smrt autor; MISSING ARE ALL (-1); ANALYSIS: TYPE = EFA 1 4 !chci 1-4 faktory; OUTPUT: sampstat modindices standardized; Upozornění: MPlus defaultně ML, defaultně rotuje, nadto šikmo (jiná volba-nutno zadat) Srovnání s SPSS SAVEDATA: FILE IS output.sav; SAVE IS FSCORES !uložení fakrtorových skorů do dat;
9. Generátor příkazů
Generátor Umožňuje pro složitější modely přípravu jejich syntaxe Pomůže připravit část DATA a VARIABLES Neobsahuje ale nic speciálního Ukázka na datech pro EFA
10. Diagrammer
Diagrammer Umožňuje zobrazit model graficky 3 režimy: Zadání modelu graficky a aut. převod na syntax Zadání modelu syntaxem a aut. převod na obrázek Výstup ve formě obrázku s odhady parametrů Ukázky
Chybové hlášky místo kávy
Errors & Warnings *** WARNING in Model command All variables are uncorrelated with all other variables in the model. Check that this is what is intended. 1 WARNING(S) FOUND IN THE INPUT INSTRUCTIONS Není zadán model (nic nesouvisí s ničím). Není špatně když chci například jen popisné statistiky.
Errors & Warnings *** WARNING Variable name contains more than 8 characters. Only the first 8 characters will be printed in the output. Variable: THISVARIABLENAMEISTOOLONG Jméno proměnné moc dlouhé, nevadí, když jiná proměnná nemá stejných prvních 8 znaků
Errors & Warnings *** WARNING Data set contains cases with missing on x-variables. These cases were not included in the analysis. Number of cases with missing on x-variables: 514 1 WARNING(S) FOUND IN THE INPUT INSTRUCTIONS Informace
Errors & Warnings *** WARNING *** ERROR in Model command Unknown variable(s) in a BY statement: C1-C3 Klasika, nesoulad značí proměnné v sekci VARIABLES a v sekci MODEL
Errors & Warnings *** WARNING Categorical variable Q77 contains non-integer values. Musíme ověřit, zda je proměnná opravdu ordinální či binární
Errors & Warnings THE MODEL ESTIMATION TERMINATED NORMALLY Nic to ale nezaručuje