Mehrebenenanalyse (HLM) mit R:
3. Zentrierung
Arndt Regorz, Dipl. Kfm. & MSc. Psychologie, 19.05.2022
Eine wichtige Frage bei der Analyse von Mehrebenenmodellen (hierarchische lineare Modelle, HLM) ist, ob und wenn ja wie man Prädiktoren zentriert. Dieses Tutorial zeigt, wie man in R verschiedene Formen der Zentrierung vornehmen kann (Grand Mean Centering, Centering Within Clusters) und wie man mit den zentrierten Prädiktoren ein Mehrebenenmodell schätzen kann.
INHALT
- Warum zentrieren?
- Zentrieren von Prädiktoren
- Hierarchisches Lineares Modell mit zentrierten Prädiktoren
- Vollständiger R-Code
- Literatur
1. Warum zentrieren?
Es gibt verschiedene Gründe, im Rahmen einer Mehrebenenanalyse eine Zentrierung von Prädiktoren vorzunehmen. Dies sind im wesentlichen:
- Interpretation des Intercepts
- Unterscheidung des Effekts einer Variable auf verschiedenen Ebenen
- Interpretierbarkeit bei Cross-Level-Interactions
Dabei werden zwei Zentrierungsmethoden voneinander unterschieden:
(1) Es wird am Gesamtmittelwert der Stichprobe zentriert, es wird also von der Prädiktorvariable der Gesamtmittelwert dieser Variable abgezogen. Dieses Verfahren nennt sich Grand Mean Centering. Beispiel: Von dem Wert für die Extraversion eines Schülers wird der Mittelwert der Extraversion aller Schülerinnen und Schüler abgezogen.
(2) Es wird am jeweiligen Mittelwert der Gruppe zentriert. Es wird also von der Prädiktorvariable der Mittelwert dieser Variable für die konkrete Gruppe abgezogen, deren Teil die Untersuchungseinheit ist. Dieses Verfahren nennt sich Center Within Cluster (CWC) oder auch Group-Mean Centering. Beispiel: Von dem Wert für die Extraversion eines Schülers wird der Mittelwert der Extraversion der Schülerinnen und Schüler aus der gleichen Schulklasse abgezogen.
Sie finden ausführliche Informationen zu den theoretischen Grundlagen der Prädiktorzentrierung und Empfehlungen, wann welche Zentrierungsmethode verwendet werden sollte, bei Enders und Tofighi (2007).
Als grobe Faustregeln haben Enders und Tofighi in Abhängigkeit vom inhaltlichen Fokus der Auswertung genannt:
- Fokus auf Level 1 Effekte, Level 2 nur zur Kontrolle: Center Within Cluster
- Fokus auf Level 2 Effekte, Level 1 nur zur Kontrolle: Grand Mean Centering
- Fokus auf dem Vergleich zwischen Level 1 und Level 2 Effekten: Beide Verfahren
- Fokus auf Cross-Level-Interaktionen oder Interaktionen zwischen zwei Level 1 Variablen: Center Within Cluster
- Fokus auf Interaktionen zwischen zwei Level 2 Variablen: Grand Mean Centering
Zudem befürworteten Enders und Tofighi in der Regel auch die Zentierung binärer (nominalskalierter) Prädiktoren, wovon ich im folgenden Beispiel jedoch abweichen werde.
2. Zentrieren von Prädiktoren
Zum Zentrieren kann man das Modul misty von R verwenden. Zunächst laden wir das Modul (vor der erstmaligen Verwendung muss man es natürlich mit install.packages einmalig installieren)
library(misty)
Für die Zentrierung verwenden wir die center-Funktion.
Wenn wir eine Grand Mean Zentrierung vornehmen wollen, also eine Zentrierung am Stichprobenmittelwert, ist dies ein möglicher Befehl:
my_dataframe$variable_gmc <- center(my_dataframe$variable1, type="CGM")
Es wird also für die center-Funktion die Variable übergeben, die zentriert werden soll, hier:
my_dataframe$variable1
und der Typ der Zentrierung
type =“CGM“
und das Ergebnis im Dataframe gespeichert.
Wenn wir hingegen eine Center Within Cluster Zentrierung vornehmen wollen, also am Gruppenmittelwert, dann ist dies ein möglicher Befehl:
my_dataframe$variable2 <- center(my_dataframe$variable2, type="CWC",
cluster=my_dataframe$gruppe)
Wieder wird der center-Funktion die Variable übergeben, die zentriert werden soll, hier:
my_dataframe$variable2
und der Typ den Zentrierung
type="CWC"
Was bei der CWC-Zentrierung hinzu kommt, ist die Angabe der Gruppierungsvariable, hier:
cluster=my_dataframe$gruppe
3. Hierarchisches Lineares Modell mit zentrieren Prädiktoeren
Diese beiden Zentrierungen, die Grand Mean Zentrierung und die Within Cluster Zentrierung wollen wir jetzt im Zusammenhang für den Beispieldatensatz aus Kapitel 2 von Hox et al. (2017) anwenden, den Sie schon im Basistutorial kennengelernt haben. (Ich nutze dafür das lme4 Modul, aber grundsätzlich könnte man es genauso gut auch mit dem nlme Modul schätzen.)
Wir beginnen damit, die nötigen Packages zu laden:
library(lme4) # HLM
library(lmerTest) # p-Werte HLM Fixed Slopes
library(misty) # Zentrierung
Zunächst rufen wir zu Vergleichszwecken das Modell wie aus dem Basistutorial ohne Zentrierung auf. Dieses Beispiel beruht lediglich auf Fixed Slopes und einem Random Intercept, aber die Zentrierung kann/soll selbstverständlich auch vorgenommen werden, wenn Random Effects und/oder Cross-Level-Interactions im Modell enthalten sind.
# 1. Fixed Slopes (Random intercept)
fixed_slopes <- lmer(popular ~ 1 + sex + extrav + texp + (1|class),
data=popular2, REML=F)
summary(fixed_slopes)
Wir erhalten als Ergebnis:
Zur Interpretation siehe im Basistutorial zur Mehrebenenanalyse mit R/lme4.
Da wir den Ursprungsdataframe nicht ändern möchten, legen wir einen neuen an:
popular2_zen <- popular2
Dann zentrieren wir Extraversion am Gruppenmittelwert (CWC):
# Extraversion Zentrierung am Gruppenmittelwert
popular2_zen$extrav_cwc <- center(popular2_zen$extrav, type="CWC",
cluster=popular2_zen$class)
Anschließend ergänzen wir den Gruppenmittelwert für Extraversion, den wir zusätzlich als Level 2 Prädiktor in das Modell einschließen möchten.
# Extraversion Gruppenmittelwert (zum Einschluss als L2 Prädiktor)
popular2_zen$extrav_class <- popular2_zen$extrav - popular2_zen$extrav_cwc
Auch diesen Gruppenmittelwert (als Level 2 Variable) möchten wir zur besseren Interpretierbarkeit zentrieren. Für Level 2 Prädiktoren kommt bei einem Modell mit zwei Ebenen nur die Grand Mean Zentrierung in Frage:
# Zentrierung Extraversion Gruppenmittlwert
popular2_zen$extrav_class_gmc <- center(popular2_zen$extrav_class, type="CGM")
Ebenso zentrieren wir die Erfahrung der Lehrkraft am Gesamtmittelwert
# Zentrierung Erfahrung Lehrkraft
popular2_zen$texp_gmc <- center(popular2_zen$texp, type="CGM")
Damit haben wir drei zentrierte Prädiktoren in unserem Datensatz: Extraversion der Schülerinnen und Schüler (CWC) als Level 1 Prädiktor, durchschnittliche Extraversion der Schulklasse (CGM) und Erfahrung der Lehrkraft (CGM) als Level 2 Prädiktoren. Auf die Zentrierung des Geschlechts habe ich hier verzichtet, da dort der Wert 0 eine inhaltlich interpretierbare Bedeutung hat (0 = Junge).
Dieses Modell schätzen wir jetzt:
# Schätzung des Modells mit Zentrierung
fixed_slopes_zen <- lmer(popular ~ 1 + sex + extrav_cwc + texp_gmc +
+ extrav_class_gmc + (1|class), data=popular2_zen, REML=F)
summary(fixed_slopes_zen)
Hier ist der Output:
(A) Die Schätzung für das Intercept ist jetzt für einen Jungen (Geschlecht = 0) mit Extraversion so hoch wie im Schnitt seiner Schulklasse (extrav_cwc = 0), in einer Schulklasse mit durchschnittlicher Extraversion (extrav_class_gmc = 0) mit einer Lehrkraft mit durchschnittlicher Berufserfahrung (texp_gmc = 0).
(B) Die Varianz des Intercepts schätzt die Schwankung im Intercept für Personen mit den unter (A) genannten Merkmalen.
(C) Das Regressionsgewicht für extrav_cwc zeigt an, wie sich eine um einen Punkt höhere Abweichung der Extraversion vom Klassenschnitt der Extraversion auf die Popularität eines Schülers bzw. einer Schülerin auswirkt.
(D) Das Regressionsgewicht für texp_gmc zeigt an, wie sich eine um ein Jahr längere Berufserfahrung der Lehrkraft auf die Popularität der Schülerinnen und Schüler der Klasse auswirkt.
(E) Das Regressionsgewicht für extrav_class_gmc zeigt an, wie sich eine um einen Punkt höhere durchschnittliche Popularität einer Schulklasse auf die Popularität der Schülerinnen und Schüler der Klasse auswirkt.
Beim Vergleich von (C) und (E) sehen wir, dass der Effekt der Extraversion auf Klassenebene tatsächlich stärker ist (0.629) als auf der Ebene der Schülerinnen und Schüler (0.451). Eine um einen Punkt höhere durchschnittliche Extraversion der Klassenmitglieder steht im Zusammenhang zu einer größeren Erhöhung der Popularität als eine um einen Punkt größere Abweichung der Popularität von Schüler bzw. Schülerin zum Mittelwert der eigenen Schulklasse. Im Modell ohne Zentrierung hatten wir nur einen Mischeffekt der Extraversion (0.455), der diese beiden Effekte zusammen enthielt.
4. Vollständiger R-Code
library(lme4) # HLM
library(lmerTest) # p-Werte HLM Fixed Slopes
library(misty) # Zentrierung
head(popular2, 5)
# 1. Fixed Slopes (Random intercept)
fixed_slopes <- lmer(popular ~ 1 + sex + extrav + texp + (1|class),
data=popular2, REML=F)
summary(fixed_slopes)
# 2. Zentrierung
popular2_zen <- popular2
# Extraversion Zentrierung am Gruppenmittelwert
popular2_zen$extrav_cwc <- center(popular2_zen$extrav, type="CWC",
cluster=popular2_zen$class)
# Extraversion Gruppenmittelwert (zum Einschluss als L2 Prädiktor)
popular2_zen$extrav_class <- popular2_zen$extrav - popular2_zen$extrav_cwc
# Zentrierung Extraversion L2 am Gesamtmittelwert
popular2_zen$extrav_class_gmc <- center(popular2_zen$extrav_class, type="CGM")
# Zentrierung Erfahrung Lehrkraft
popular2_zen$texp_gmc <- center(popular2_zen$texp, type="CGM")
# Schätzung des Modells mit Zentrierung
fixed_slopes_zen <- lmer(popular ~ 1 + sex + extrav_cwc + texp_gmc +
+ extrav_class_gmc + (1|class), data=popular2_zen, REML=F)
summary(fixed_slopes_zen)
5. Literatur
Enders, C. K., & Tofighi, D. (2007). Centering predictor variables in cross-sectional multilevel models: A new look at an old issue. Psychological Methods, 12(2), 121-138. https://doi.org/10.1037/1082-989X.12.2.121
Hox, J. J., Moerbeek, M., & Van de Schoot, R. (2017). Multilevel analysis: Techniques and applications (3rd edition). Routledge.
Weitere Tutorials zur Mehrebenenanalyse/HLM mit R:
- Mehrebenenanalyse (mit R) 1: Grundlagen mit lme4
- Mehrebenenanalyse (mit R) 2: Voraussetzungen prüfen
- Mehrebenenanalyse (mit R) 4: Random Effects auf Signifikanz prüfen
- Mehrebenenanalyse (mit R) 5: Ergebnisse berichten
- Mehrebenenanalyse (mit R) 6: Robuste Schätzung
- Mehrebenenanalyse (mit R) 7: Grundlagen mit nlme
- Formeln Mehrebenenanalyse verstehen: Videotutorial mit graphischer Erklärung der Formeln einer Mehrebenenanalyse (nicht R-spezifisch)