J'ai une question sur le meilleur moyen de spécifier une interaction dans un modèle de régression. Considérez les données suivantes:
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")
Deux manières équivalentes de spécifier le modèle avec des interactions sont les suivantes:
lm0 <- lm(y ~ r*s, data=d)
lm1 <- lm(y ~ r + s + r:s, data=d)
Ma question est de savoir si je pourrais spécifier l’interaction en considérant une nouvelle variable (rs) avec les mêmes niveaux d’interaction:
lm2 <- lm(y ~ r + s + rs, data=d)
Quels sont les avantages / inconvénients de cette approche? Et pourquoi les résultats de ces deux approches sont différents?
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
la source
la source
rs
c'est défini commeinteraction(r, s)
?attr(terms(lm1),"factors")
etattr(terms(lm2),"factors")
Réponses:
Les résultats sont différents, car la façon dont lm configure le modèle avec l'interaction diffère de la manière dont il est configuré lorsque vous le configurez vous-même. Si vous regardez le sd résiduel, c'est le même, ce qui indique (de manière non définitive) que les modèles sous-jacents sont les mêmes, ils sont simplement exprimés (aux internes du lm) différemment.
Si vous définissez votre interaction comme étant
paste(d$s, d$r)
au lieu depaste(d$r, d$s)
vos paramètres, les estimations changeront encore, de manière intéressante.Notez que, dans le résumé de votre modèle pour lm1, l'estimation du coefficient pour ss2 est 4,94 inférieure à celle du résumé pour lm2, avec le coefficient pour rr2: ss2 étant de 4,95 (si vous imprimez avec 3 décimales, la différence disparaîtra). Ceci est une autre indication d'un réarrangement interne des termes.
Je ne vois aucun avantage à le faire vous-même, mais il en existe peut-être un avec des modèles plus complexes dans lesquels vous ne voulez pas un terme d'interaction complet, mais seulement quelques-uns des termes du "croisement" entre deux facteurs ou plus.
la source
Vous pourriez mieux comprendre ce comportement si vous examinez les matrices du modèle.
Lorsque vous regardez ces matrices, vous pouvez comparer les constellations de
s2=1
avec les autres variables (c'est-à-dire quands2=1
, quelles valeurs prennent les autres variables?). Vous verrez que ces constellations diffèrent légèrement, ce qui signifie simplement que la catégorie de base est différente. Tout le reste est essentiellement identique. En particulier, notez que dans votrelm1
, le coefficient surss2
est égal aux coefficientsss2+rsr1s2
delm2
, soit 3,82 = 8,76-4,95, sans erreurs d’arrondi.Par exemple, l'exécution du code suivant vous donne exactement le même résultat que l'utilisation du réglage automatique de R:
Cela fournit également une réponse rapide à votre question: la seule raison de changer la configuration des facteurs est de fournir une clarté d'exposition. Prenons l'exemple suivant: supposons que vous régressiez le salaire d'un mannequin pour terminer ses études secondaires en interaction avec un facteur indiquant si vous appartenez à une minorité.
la source