Ich verstehe, dass wir Modelle mit zufälligen Effekten (oder gemischten Effekten) verwenden, wenn wir glauben, dass einige Modellparameter über einen Gruppierungsfaktor zufällig variieren. Ich möchte ein Modell x
anpassen, bei dem die Reaktion über einen Gruppierungsfaktor normalisiert und zentriert (nicht perfekt, aber ziemlich nahe beieinander) ist, aber eine unabhängige Variable in keiner Weise angepasst wurde. Dies führte mich zu dem folgenden Test (unter Verwendung von erfundenen Daten), um sicherzustellen, dass ich den gesuchten Effekt finden würde, wenn er tatsächlich vorhanden wäre. Ich habe ein Modell mit gemischten Effekten mit einem zufälligen Schnittpunkt (über die durch definierten Gruppen hinweg f
) und ein zweites Modell mit festen Effekten mit dem Faktor f als festem Effektprädiktor ausgeführt. Ich habe das R-Paket lmer
für das Mixed-Effect-Modell und die Basisfunktion verwendetlm()
für das Modell mit festem Effekt. Es folgen die Daten und die Ergebnisse.
Beachten Sie, dass y
unabhängig von der Gruppe die Werte um 0 variieren. Dies x
variiert konsistent y
innerhalb der Gruppe, variiert jedoch zwischen den Gruppen erheblich mehr alsy
> data
y x f
1 -0.5 2 1
2 0.0 3 1
3 0.5 4 1
4 -0.6 -4 2
5 0.0 -3 2
6 0.6 -2 2
7 -0.2 13 3
8 0.1 14 3
9 0.4 15 3
10 -0.5 -15 4
11 -0.1 -14 4
12 0.4 -13 4
Wenn Sie an der Arbeit mit den Daten interessiert sind, wird dput()
Folgendes ausgegeben:
data<-structure(list(y = c(-0.5, 0, 0.5, -0.6, 0, 0.6, -0.2, 0.1, 0.4,
-0.5, -0.1, 0.4), x = c(2, 3, 4, -4, -3, -2, 13, 14, 15, -15,
-14, -13), f = structure(c(1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L,
4L, 4L, 4L), .Label = c("1", "2", "3", "4"), class = "factor")),
.Names = c("y","x","f"), row.names = c(NA, -12L), class = "data.frame")
Anpassen des Mixed-Effects-Modells:
> summary(lmer(y~ x + (1|f),data=data))
Linear mixed model fit by REML
Formula: y ~ x + (1 | f)
Data: data
AIC BIC logLik deviance REMLdev
28.59 30.53 -10.3 11 20.59
Random effects:
Groups Name Variance Std.Dev.
f (Intercept) 0.00000 0.00000
Residual 0.17567 0.41913
Number of obs: 12, groups: f, 4
Fixed effects:
Estimate Std. Error t value
(Intercept) 0.008333 0.120992 0.069
x 0.008643 0.011912 0.726
Correlation of Fixed Effects:
(Intr)
x 0.000
Ich stelle fest, dass die Intercept-Varianz-Komponente auf 0 geschätzt wird und für mich x
kein signifikanter Prädiktor ist y
.
Als nächstes passe ich das feste Effektmodell f
als Prädiktor anstelle eines Gruppierungsfaktors für einen zufälligen Schnittpunkt an:
> summary(lm(y~ x + f,data=data))
Call:
lm(formula = y ~ x + f, data = data)
Residuals:
Min 1Q Median 3Q Max
-0.16250 -0.03438 0.00000 0.03125 0.16250
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.38750 0.14099 -9.841 2.38e-05 ***
x 0.46250 0.04128 11.205 1.01e-05 ***
f2 2.77500 0.26538 10.457 1.59e-05 ***
f3 -4.98750 0.46396 -10.750 1.33e-05 ***
f4 7.79583 0.70817 11.008 1.13e-05 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.1168 on 7 degrees of freedom
Multiple R-squared: 0.9484, Adjusted R-squared: 0.9189
F-statistic: 32.16 on 4 and 7 DF, p-value: 0.0001348
Jetzt merke ich, dass, wie erwartet, x
ein signifikanter Prädiktor für ist y
.
Was ich suche, ist Intuition in Bezug auf diesen Unterschied. Inwiefern ist mein Denken hier falsch? Warum erwarte ich fälschlicherweise, x
in beiden Modellen einen signifikanten Parameter zu finden, aber sehe ihn tatsächlich nur im Festeffektmodell?
x
Variable nicht signifikant ist. Ich vermute, das ist das gleiche Ergebnis (Koeffizienten und SE), das Sie zum Laufen gebracht hättenlm(y~x,data=data)
. Sie haben keine Zeit mehr für die Diagnose, wollten aber darauf hinweisen.