Ich habe eine Frage, wie eine Interaktion in einem Regressionsmodell am besten spezifiziert werden kann. Betrachten Sie die folgenden Daten:
d <- structure(list(r = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("r1","r2"),
class = "factor"), s = structure(c(1L, 1L, 1L, 1L, 1L,
2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L),
.Label = c("s1","s2"), class = "factor"), rs = structure(c(1L, 1L,
1L,1L, 1L,2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L),
.Label = c("r1s1","r1s2", "r2s1", "r2s2"), class = "factor"),
y = c(19.3788027518437, 23.832287726332, 26.2533235300492,
15.962906892112, 24.2873740664331, 28.5181676764727, 25.2757801195961,
25.3601044326474, 25.3066440027202, 24.3298865128677, 32.5684219007394,
31.0048406654209, 31.671238316086, 34.1933764518288, 36.8784821769123,
41.6691435168277, 40.4669714825801, 39.2664137501106, 39.4884849591932,
49.247505535468)), .Names = c("r","s", "rs", "y"),
row.names = c(NA, -20L), class = "data.frame")
Es gibt zwei äquivalente Möglichkeiten, das Modell mit Interaktionen anzugeben:
lm0 <- lm(y ~ r*s, data=d)
lm1 <- lm(y ~ r + s + r:s, data=d)
Meine Frage ist, ob ich die Interaktion unter Berücksichtigung einer neuen Variablen (rs) mit denselben Interaktionsebenen spezifizieren könnte:
lm2 <- lm(y ~ r + s + rs, data=d)
Welche Vor- und Nachteile hat dieser Ansatz? Und warum sind die Ergebnisse dieser beiden Ansätze unterschiedlich?
summary(lm1)
lm(formula = y ~ r + s + r:s, data = d, x = TRUE)
coef.est coef.se
(Intercept) 21.94 1.46
rr2 11.32 2.07
ss2 3.82 2.07
rr2:ss2 4.95 2.92
---
n = 20, k = 4
residual sd = 3.27, R-Squared = 0.87
summary(lm2)
lm(formula = y ~ r + s + rs, data = d, x = TRUE)
coef.est coef.se
(Intercept) 21.94 1.46
rr2 11.32 2.07
ss2 8.76 2.07 # ss2 coef is different from lm1
rsr1s2 -4.95 2.92
---
n = 20, k = 4
residual sd = 3.27, R-Squared = 0.87
r
regression
interaction
Manuel Ramón
quelle
quelle
rs
ist definiert alsinteraction(r, s)
?attr(terms(lm1),"factors")
undattr(terms(lm2),"factors")
Antworten:
Die Ergebnisse sind unterschiedlich, da sich die Art und Weise, wie ich das Modell mit der Interaktion einrichte, von der Art und Weise unterscheidet, wie es eingerichtet wird, wenn Sie es selbst einrichten. Wenn Sie sich den Rest sd ansehen, ist er derselbe, was darauf hinweist (nicht definitiv), dass die zugrunde liegenden Modelle gleich sind, nur ausgedrückt (in Bezug auf die lm-Interna) unterschiedlich.
Wenn Sie Ihre Interaktion
paste(d$s, d$r)
anstellepaste(d$r, d$s)
Ihrer Parameterschätzungen definieren, ändern sich diese auf interessante Weise erneut.Beachten Sie, dass in Ihrer Modellzusammenfassung für lm1 die Koeffizientenschätzung für ss2 4,94 niedriger ist als in der Zusammenfassung für lm2, wobei der Koeffizient für rr2: ss2 4,95 beträgt (wenn Sie auf 3 Dezimalstellen drucken, verschwindet die Differenz). Dies ist ein weiterer Hinweis darauf, dass eine interne Umstellung von Begriffen stattgefunden hat.
Ich kann mir keinen Vorteil vorstellen, es selbst zu tun, aber es kann eines mit komplexeren Modellen geben, bei denen Sie keinen vollständigen Interaktionsbegriff wünschen, sondern nur einige der Begriffe im "Kreuz" zwischen zwei oder mehr Faktoren.
quelle
Sie können dieses Verhalten besser verstehen, wenn Sie sich die Modellmatrizen ansehen.
Wenn Sie sich diese Matrizen ansehen, können Sie die Konstellationen
s2=1
mit den anderen Variablen vergleichen (dh wanns2=1
, welche Werte nehmen die anderen Variablen an?). Sie werden feststellen, dass sich diese Konstellationen geringfügig unterscheiden, was lediglich bedeutet, dass die Basiskategorie unterschiedlich ist. Alles andere ist im Wesentlichen gleich. Beachten Sie insbesondere, dass in Ihremlm1
der Koeffizient onss2
gleich den Koeffizientenss2+rsr1s2
vonlm2
3,82 = 8,76-4,95 ist, abzüglich der Rundungsfehler.Wenn Sie beispielsweise den folgenden Code ausführen, erhalten Sie genau die gleiche Ausgabe wie bei der automatischen Einstellung von R:
Dies bietet auch eine schnelle Antwort auf Ihre Frage: Der einzige Grund, die Art und Weise, wie Faktoren eingerichtet werden, zu ändern, ist die Klarheit der Darstellung. Stellen Sie sich das folgende Beispiel vor: Angenommen, Sie regeln den Lohn für einen Dummy für den Abschluss der Highschool mit einem Faktor, der angibt, ob Sie einer Minderheit angehören.
quelle