Multilevel Analysis

Uit Methodologiewinkel
Ga naar: navigatie, zoeken

Waar wordt deze test voor gebruikt?

Multilevel analyse wordt gebruikt wanneer data genest zijn. Voorbeelden van geneste data zijn tijdsmetingen genest in proefpersonen, of leerlingen genest in scholen. Leerlingen binnen scholen kunnen namelijk net wat meer op elkaar lijken dan personen tussen scholen. Dus wanneer proefpersonen genest zijn in scholen kan een uitkomstmaat in de data niet alleen afhankelijk zijn van de leerlingeigenschappen, maar ook van de scholeneigenschappen. In dit geval worden leerlingen level 1 genoemd en scholen level 2. De multilevelmodellen die hier beschreven zullen worden zijn een uitbreiding van de lineaire regressie en ANOVA (wat gebruikt wordt als data niet genest is).


Waarom zijn Geneste Data een problem?

Wanneer er geen rekening gehouden wordt met geneste data kan de standaardfout verkeerd worden geschat, omdat de observaties niet afhankelijk zijn van elkaar. De standaardfout is de precisie van de parameterschattingen (zoals een regressie coefficient). Hierdoor kan eerder een type I fout (H0 verwerpen i.p.v aannemen) of een type II (H0 aannemen i.p.v verwerpen) gemaakt worden. Maar hoe kan je zien wanneer er afhankelijkheid in de data is? Afhankelijkheid in de data is te zien wanneer errors (residuen) met elkaar correleren. De error van een persoon is het verschil tussen de verwachtte waarde en de geobserveerde waarde. Wanneer de error van personen binnen klassen meer lijkt op error tussen leerlingen tussen klassen is er correlatie tussen errors en dus afhankelijkheid in de data.


Assumpties

Multilevel analyse is een extensie van lineaire regressie. Er gelden dan ook dezelfde assumpties, alhoewel ze op sommige punten net wat kunnen afwijken. Deze assumpties worden daarom hieronder verder toegelicht.

Lineariteit

Tussen de afhankelijke en onafhankelijke variabelen moet een lineair verband zijn. De assumptie van lineariteit kan getest worden door elke onafhankelijke variabelen te plotten tegenover de residuen (errors). Als de puntenwolk rond de horizontale 0 lijn licht, is er voldaan aan de assumptie.

Normaliteit van Residuen

De residuen (error) moeten normaal verdeeld zijn. Dit kan getest worden door level-1 residuen te plotten tegen de Normaal scores (z-transformatie). Wanneer er niet voldaan is aan deze assumptie kunnen data transformaties worden toegepast op de afhankelijke variabelen. Een voorbeeld is een log transformatie. Wanneer de steekproefomvang groot genoeg is kan multilevel analyse echter robuust zijn tegen schendingen van deze assumptie.

Homoskedaticiteit van Residuen

Deze assumptie stelt dat de variantie van residuen gelijk is voor level 1 groepen (bijv. leerlingen). Deze assumptie is bijvoorbeeld geschonden wanneer de residuen bij leerlingen van school A groter zijn dan bij school B. Om deze assumptie te testen moeten level 1 errors geplot worden tegen de verwachtte waarde, zoals je ook zou doen in een lineaire regressie. Als de residuen rondom het nulpunt zweven dan is aan deze assumptie voldaan. Zie pagina 43 van deze link voor een voorbeeld: http://www.bristol.ac.uk/media-library/sites/cmm/migrated/documents/multbook1995.pdf

Onafhankelijkheid van Observaties

Deze assumptie stelt dat de errors op het hoogste level niet met elkaar mogen correleren. Onthoud, dat School het hoogste level is wanneer leerlingen genest zijn in scholen. Dit betekent dat de school A niet meer mag lijken op school B dan op school C. Dit verschilt dus met de assumptie van een lineaire regressie of ANOVA. Deze stellen namelijk dat de errors van leerlingen niet met elkaar mogen correleren.


Modellen

In multilevel analyse kan getest worden op wat voor manier groepen van elkaar verschillen in hoe de relatie zich verhoudt tussen de afhankelijke en onafhankelijke variabelen. Zo kan de intercept en/of een regressiegewicht (slope) verschillen tussen groepen. Wanneer je kijkt of de intercept tussen groepen verschilt, gebruik je een random intercept model en voor de slope een random slope model. Als je wilt testen of een model model beter past, waar zowel de slope en intercept mogen vari¨eren per groep, gebruik je een random slope en intercept model.

Om dit te illustreren geven we drie voorbeelden. Zo kan je bijvoorbeeld testen of er op elke school een ander verband is tussen IQ en het gemiddelde cijfer, terwijl het verwachte gemiddelde cijfer voor elke klas bij (IQ = 0) hetzelfde is (random slope model). Omdat een IQ van 0 waarschijnlijk niet bestaat is het handig om IQ te centreren. De interpretatie van het intercept verandert dan naar het verwachte cijfer bij een gemiddeld IQ score. Daarentegen kan je ook testen of er een zelfde verband is tussen IQ en het gemiddelde cijfer voor alle klassen, terwijl je modelleerd dat het verwachte gemiddelde cijfer bij een gemiddeld IQ score (als IQ gecentreerd is) mag vari¨eren tussen klassen (random intercept model). Verder kan je ook bedenken dat een model met een random intercept ´en een random slope de relatie tussen IQ en gemiddeld cijfer beter beschrijft over klassen (random intercept en slope model) dan andere modellen.


Modellen Vergelijken

In multilevel modelling kunnen modellen met elkaar vergeleken worden via goodness-of-fit indices. Deze indices geven aan hoe goed een model past op de data ten opzichte van andere modellen. Je kan dan bijvoorbeeld testen of een random intercept en random slope model beter past op de data dan een model dat alleen een random slope heeft. De uitkomst van deze vergelijking geeft je een indicatie of groepen verschillen op slopes of intercepts. De fit indices die wij gebruiken in de voorbeelden zijn de AIC, BIC, en likelihood ratio test. Met de AIC en BIC fit het model dat de laagste AIC of BIC score heeft best. Met de likelihood ratio test wordt dit statistisch getoetst. De loglihood van het model met meer parameters, model A, wordt van het model met minder parameters getrokken, model B (en hetzelfde geldt voor vrijheidsgraden van de modellen). Met χ2 change en DF_change (zie formule 1) wordt opgezocht wat onder een chi-square verdeling een significante waarde is. Als de χ2 change groter is dan dit getal, fit het model met meer parameters significant beter. Maar als χ2 change onder deze waarde licht, fit het model met meer parameters niet significant beter en kies je het model met minder parameters.

Chisquare.jpg


Voorbeeld

Stel dat je wilt voorspellen wat het gemiddelde cijfer is van een leerling aan de hand van IQ. Omdat kinderen genest zijn in scholen moet er een multilevel analyse gedaan worden. IQ is een level 1 variabel, omdat IQ varieert op het niveau van de leerlingen. Deze analyse zal zowel in SPSS als in R gedaan worden. In het voorbeeld zal een random intercept en slope model worden vergeleken met een random intercept model. Dit laatste model is een model waar alleen de intercept van de scholen van elkaar mogen verschillen, terwijl de slopes hetzelfde zijn.

SPSS

Om een multi-level analyse te doen in SPSS moet je de volgende stappen volgen:

Analyze− > MixedModels− > Linear...


Step1.png


Er verschijnt dan een scherm waarin je de level 2 variabel moet specificeren. In ons geval School.


Step2.png


Een ander scherm komt dan tevoorschijn waarin je de afhankelijke variabel en onafhankelijke variabelen moet specificeren. Wanneer een onafhankelijke variabel categorisch is, plaats je het bij Factors(s). Als de factor continue is bij Covariate(s). In ons geval plaatsen we IQ bij covariate(s).


Step3.png


Nu kunnen we de fixed en random effects specificeren. Voor de fixed effect klik je op Fixed. Dan voer je de onafhankelijke variabelen waarvan je fixed intercept en slope wilt weten in, in ons geval IQ. Wanneer je alleen een fixed intercept wilt hebben klik je Include intercept aan zonder de onafhankelijke variable in het Model te plaatsen. Als je alleen een fixed slope wilt hebben plaats je de onafhankelijke variabel in het Model, maar klik je de Include intercept niet aan.


Step4.png


Hierna kunnen we de random effect specificeren dor op Random te klikken. Net als bij de fixed effects kunnen we een random slope en intercept model maken door zowel Include intercept aan te klikken en de onafhankelijke variabel in het Model te plaatsen. Vergeet daarbij niet de level 2 variabel van Subjects naar Combinations te plaatsen. Verder kan je de covariantie structuur specificeren. In ons geval is Unstructured de default optie. Net als bij de fixed effects kun je ook alleen een random slope of random intercept model maken.



Step5.png


Vergeet niet de relevante Statistics aan te vinken voordat je op ok klikt om de output te krijgen. In de output zien we als eerste hoeveel model parameters er zijn. In totaal zijn er in ons random intercept en slope model 6 parameters: 2 fixed effect parameters en 4 random effects parameters. De 2 fixed effect parameters zijn de fixed intercept (het gemiddelde van de random intercepts) en de fixed slope (het gemiddelde van de random slopes). De random parameters zijn de random varianties van de random intercept en random slope, de variantie van de residuen, en de covariantie tussen de random intercept en random slope.


Step6 0.png


De volgende output tabel die verschijnt bevat de goodness of fit indices van het model. Deze statistieken zijn nodig om modellen te vergelijken zoals we zo zullen zien.


Step6.png


De derde, vierde en vijfde output tabellen bevatten de fixed en random effects van de intercept en IQ. We zien dat IQ geen significante voorspeller is voor het gemiddeld cijfer en dat er geen significante variantie of covariantie is tussen groepen voor de relatie tussen IQ en cijfer. In the covariance parameters tabel staat UN(1, 1) voor de variantie van de random intercept, UN(2, 2) staat voor variantie van de random slope, en UN(1, 2) staat voor de covariantie tussen de random intercept en slope.


Step7.png



Model Vergelijking

Het vorige model is een random slope en random intercept model. Wij willen vergelijken hoe dit model het doet ten opzichte van zuinigere modellen die minder parameters schat. Bijvoorbeeld, wanneer er alleen een random intercept is, maar geen random slope. We volgen dan ook dezelfde stappen als voorheen, maar in plaats van bij Random IQ in Model te plaatsen, klikken we alleen Include intercept aan. Wat we zien is dat er twee random parameters minder zijn: de variantie van de random slope en de covarianties tussen de random slope en intercept.


Step75.png


De volgende tabel bevat de goodness of fit indices voor een model zonder een random slope (maar met dezelfde variabelen als het vorige model). Nu kunnen we met de fit indices zien welk model beter past.


Step8.png


Zoals eerder gezegd, is het te prefereren model volgens de AIC en BIC indices het model met de laagste score. Nu zien we het random intercept model een lagere AIC heeft dan het model met een random slope ´en intercept (280.251 vs 283.295). Dit zou betekenen dat het zuinigere model (random intercept model) beter past. We ook testen welk model beter past met de likelihood ratio test. De χ 2 change is in dit geval (276.251 - 275.295 = .956), met een DFchange van 2. Zoals je kunt zien is DFchange gelijk aan het verschil in parameter tussen de twee modellen. Als we in een chi distributie tabel kijken zien dat de significantie nivea (α van .05) overschreden wordt bij een waarde van 5.99. Aangezien .956 kleiner is dan 5.99 is het model model met meer parameters (random intercept en slope) niet significant beter dan het model met minder parameters (random intercept model). Alle drie de fit indices wijzen er dan ook op dat het random intercept model de werkelijkheid waarschijnlijk beter beschrijf dan het random intercept en slope model.


R

In deze uitleg wordt een basis kennis van R verwacht. Er wordt daarbij aangenomen dat de SPSS uitleg ook gelezen is. Om een multilevel analyse in R te doen gebruiken we het pakket lme4. Net als in lineaire regressie specificeer je eerst de afhankelijke variabel en daarna de onafhankelijke variabel. Tussen haakje staan de random effects en level 2 variabel. Een (1 +) staat voor de inclusie van een intercept. Om de fixed en random effects van de intercept niet mee te nemen moet er een ”-” voor de een gezet worden (-1 + ). Na de ”|” specificeer je de level 2 variabel, wat in ons geval School is. Net als in het SPSS deel specificeren we een random intercept en random slope model.

 Fit <- lmer(Cijfer ~ 1 + IQ + (1 + IQ|School), data = DATA, REML = T) 
 summary(Fit) 

In de output staat net als bij de SPSS output random en fixed effects. We zien 2 fixed effects en 3 random effects. De vierde random effect is de correlatie tussen de random intercept en random slope (-0.99). Deze gegevens kunnen dan ook terug gevonden worden in de SPSS output.


Step11.png


Model Vergelijking

Model vergelijking in R is wat makkelijker dan in SPSS. Eerst specificeren we wederom een tweede model met alleen een random intercept, maar geen random slope.

  Fit2 <- lmer(Cijfer ~ 1 + IQ + (1 |School), data = DATA, REML = T) 
  summary(Fit2) 

Nu kunnen we deze twee modellen met elkaar vergelijken met de functie anova() om te zien welk model beter past op de data.

  anova(Fit, Fit2) 

De resultaten laten zien dat het model met random intercept beter fit dan het model met random slope en intercept (i.e, kleiner AIC, BIC, en niet significante likelihood ratio test).


Step20.png


Extra Informatie

Met multilevel analyse kan nog veel meer gedaan worden dan hier besproken is. Zo kan net als bij regressie andere variabelen toegevoegd worden en interacties worden gespecificeerd. Hieronder worden enkele andere voorbeelden gegeven.

Level 2 onafhankelijke variabelen

In multilevel analyse kunnen variabelen niet alleen gespecificeerd worden op het eerste level, als in het voorbeeld, maar ook op het tweede level. Zo kan je kijken of er een verschil is tussen IQ en gemiddeld cijfer tussen scholen die Christelijk zijn of Monttesori onderwijs hebben. Het soort onderwijs is dan de level 2 onafhankelijke variable.

Meer dan 2 levels

Er kunnen verder analyses gedaan worden met meer dan twee levels. Zo kunnen leerlingen (level 1) genest zijn in scholen (level 2), en scholen weer genest zijn in landen (level 3). De complexiteit van de interpretaties neemt dan wel toe.

Repeated Measures Data

In het voorbeeld dat we hebben gebruikt zijn personen genest in groepen. Maar het kan ook zo zijn dat observaties genest zijn in personen. Dit werkt een beetje anders dan in ons voorbeeld. Wij raden in dit geval het volgende youtube filmpje te kijken: https://www.youtube.com/watch?v=LKT4brBV-jo