Ceci est une très bonne explication, mais permettez-moi d'ajouter une chose quand dans le processus de sélection des prédicteurs significatifs .
Considérons à nouveau le modèle suivant:
fit1 <- lm(y ~ x + x:z)
#Coefficients:
#(Intercept) x x:zb
# 0.1989 -0.1627 -0.5456
Supposons que l'effet principal x
n'est pas statistiquement significative et vous voulez vous en débarrasser. La chose la plus intuitive, du moins pour moi, est d'écrire le deuxième modèle comme ci-dessus:
fit2 <- lm(y ~ x:z)
#Coefficients:
#(Intercept) x:za x:zb
# 0.1989 -0.1627 -0.7082
qui met finalement en arrière l'effet principal masqué que l'interaction avec le niveau de référence du facteur. Maintenant, la seule solution que j'ai pu trouver afin d'inclure vraiment pas d'effets principaux est d'exploiter lm.fit
qui, comme vous le savez tous, ne retourne pas un objet de classe lm
, mais un list
. Donc la question est: connaissez-vous une méthode pour se débarrasser des effets principaux sans perdre la classe lm
?
si 'fz <- facteur (z)' (juste pour la notation), alors 'x: fz' doit travailler dans un sens (il partitionne la variabilité dans les données différemment), mais il construira un modèle qui est * équivalent * en termes de complexité, de qualité d'ajustement, etc. à 'x * fz'. –
@ZheyuanLi oui c'est correct, Ben est-il correct? – robertevansanders