Gros désaccord dans l'estimation de la pente lorsque les groupes sont traités comme aléatoires ou fixes dans un modèle mixte


18

Je comprends que nous utilisons des modèles à effets aléatoires (ou à effets mixtes) lorsque nous pensons que certains paramètres du modèle varient de façon aléatoire selon un facteur de regroupement. J'ai le désir d'adapter un modèle où la réponse a été normalisée et centrée (pas parfaitement, mais assez proche) sur un facteur de regroupement, mais une variable indépendante xn'a été ajustée d'aucune façon. Cela m'a conduit au test suivant (en utilisant des données fabriquées ) pour m'assurer que je trouverais l'effet que je recherchais s'il était effectivement là. J'ai exécuté un modèle à effets mixtes avec une interception aléatoire (entre les groupes définis par f) et un deuxième modèle à effets fixes avec le facteur f comme prédicteur d'effets fixes. J'ai utilisé le package R lmerpour le modèle à effets mixtes et la fonction de baselm()pour le modèle à effet fixe. Voici les données et les résultats.

Notez que y, indépendamment du groupe, varie autour de 0. Et cela xvarie de manière cohérente avec yau sein du groupe, mais varie beaucoup plus entre les groupes quey

> 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

Si vous souhaitez travailler avec les données, voici la dput()sortie:

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")

Ajustement du modèle d'effets mixtes:

> 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 

Je note que la composante de variance d'interception est estimée à 0 et, ce qui xest important pour moi, n'est pas un prédicteur significatif de y.

Ensuite, j'adapte le modèle à effet fixe fcomme prédicteur au lieu d'un facteur de regroupement pour une interception aléatoire:

> 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 

Maintenant, je remarque que, comme prévu, xest un prédicteur significatif de y.

Ce que je recherche, c'est une intuition concernant cette différence. En quoi ma pensée est-elle mauvaise ici? Pourquoi est-ce que je m'attends à tort à trouver un paramètre significatif pour xdans ces deux modèles mais ne le vois réellement que dans le modèle à effet fixe?


Je veux juste souligner rapidement que quelque chose ne va pas avec la configuration des effets aléatoires étant donné la variance sur le RE = 0 (c'est-à-dire / le RE n'explique aucune variation). Compte tenu de cela, il n'est pas surprenant que la xvariable ne soit pas significative. Je soupçonne que c'est le même résultat (coefficients et SE) que vous auriez obtenu en cours d'exécution lm(y~x,data=data). Je n'ai plus de temps pour diagnostiquer, mais je voulais le souligner.
Affine

@Affine, c'est un bon point. Je suppose donc que mon intérêt ici est pourquoi l'effet aléatoire n'a pas capté la variation de l'interception. Si vous ou quelqu'un a un commentaire à faire plus tard, je m'en réjouis! Merci.
ndoogan

Réponses:


31

Il se passe plusieurs choses ici. Ce sont des questions intéressantes, mais il faudra beaucoup de temps / d'espace pour tout expliquer.

Tout d'abord, tout cela devient beaucoup plus facile à comprendre si nous traçons les données . Voici un nuage de points où les points de données sont colorés par groupe. De plus, nous avons une ligne de régression spécifique au groupe distincte pour chaque groupe, ainsi qu'une ligne de régression simple (ignorant les groupes) en gras pointillé:

plot(y ~ x, data=dat, col=f, pch=19)
abline(coef(lm(y ~ x, data=dat)), lwd=3, lty=2)
by(dat, dat$f, function(i) abline(coef(lm(y ~ x, data=i)), col=i$f))

Les données

Le modèle à effet fixe

XXXXXXXyt

XXXlm()

Le modèle mixte

XXXX

X

Voici les coefficients du modèle de régression simple (la ligne en pointillés en gras dans le graphique):

> lm(y ~ x, data=dat)

Call:
lm(formula = y ~ x, data = dat)

Coefficients:
(Intercept)            x  
   0.008333     0.008643  

Comme vous pouvez le voir, les coefficients ici sont identiques à ceux que nous avons obtenus dans le modèle mixte. C'est exactement ce que nous nous attendions à trouver, car comme vous l'avez déjà noté, nous avons une estimation de la variance de 0 pour les intersections aléatoires, ce qui rend le rapport / la corrélation intra-classe mentionné précédemment 0. Ainsi, les estimations du modèle mixte dans ce cas ne sont que les estimations de régression linéaire simples, et comme nous pouvons le voir dans le graphique, la pente est ici beaucoup moins prononcée que les pentes intra-grappes.

Cela nous amène à une dernière question conceptuelle ...

Pourquoi la variance des intersections aléatoires est-elle estimée à 0?

La réponse à cette question a le potentiel de devenir un peu technique et difficile, mais je vais essayer de la garder aussi simple et non technique que possible (pour notre bien!). Mais ce sera peut-être encore un peu long.

y(ou, plus exactement, les erreurs du modèle) induites par la structure de clustering. La corrélation intra-classe nous indique la similitude moyenne de deux erreurs tirées du même cluster, par rapport à la similitude moyenne de deux erreurs tirées de n'importe où dans l'ensemble de données (c'est-à-dire qu'elles peuvent ou non être dans le même cluster). Une corrélation intra-classe positive nous indique que les erreurs du même cluster ont tendance à être relativement plus similaires les unes aux autres; si je dessine une erreur d'un cluster et qu'il a une valeur élevée, je peux m'attendre au-dessus de la chance que la prochaine erreur que je dessine du même cluster aura également une valeur élevée. Bien que quelque peu moins courantes, les corrélations intra-classe peuvent également être négatives; deux erreurs tirées du même groupe sont moins similaires (c.-à-d. plus éloignées en valeur) que ce à quoi on s'attendrait généralement dans l'ensemble de données dans son ensemble.

Le modèle mixte que nous envisageons n'utilise pas la méthode de corrélation intra-classe pour représenter la dépendance dans les données. Il décrit plutôt la dépendance en termes de composantes de variance . C'est très bien tant que la corrélation intra-classe est positive. Dans ces cas, la corrélation intra-classe peut être facilement écrite en termes de composantes de variance, spécifiquement comme le rapport mentionné précédemment de la variance d'interception aléatoire à la variance totale. (Voir la page wiki sur la corrélation intra-classepour plus d'informations à ce sujet.) Mais malheureusement, les modèles à composantes de variance ont du mal à gérer des situations où nous avons une corrélation intra-classe négative. Après tout, écrire la corrélation intra-classe en termes de composantes de variance implique de l'écrire comme une proportion de variance, et les proportions ne peuvent pas être négatives.

yyy, alors que les erreurs tirées de différents groupes auront tendance à avoir une différence plus modérée.) Votre modèle mixte fait donc ce que, dans la pratique, les modèles mixtes font souvent dans ce cas: il donne des estimations qui sont aussi cohérentes avec une corrélation intra-classe négative car il peut rassembler, mais il s'arrête à la limite inférieure de 0 (cette contrainte est généralement programmée dans l'algorithme d'ajustement de modèle). Nous nous retrouvons donc avec une variance d'interception aléatoire estimée de 0, ce qui n'est toujours pas une très bonne estimation, mais elle est aussi proche que possible de ce type de modèle à composantes de variance.

Alors, que pouvons-nous faire?

X

X

XXbXXwX

> dat <- within(dat, x_b <- tapply(x, f, mean)[paste(f)])
> dat <- within(dat, x_w <- x - x_b)
> dat
      y   x f x_b x_w
1  -0.5   2 1   3  -1
2   0.0   3 1   3   0
3   0.5   4 1   3   1
4  -0.6  -4 2  -3  -1
5   0.0  -3 2  -3   0
6   0.6  -2 2  -3   1
7  -0.2  13 3  14  -1
8   0.1  14 3  14   0
9   0.4  15 3  14   1
10 -0.5 -15 4 -14  -1
11 -0.1 -14 4 -14   0
12  0.4 -13 4 -14   1
> 
> mod <- lmer(y ~ x_b + x_w + (1|f), data=dat)
> mod
Linear mixed model fit by REML 
Formula: y ~ x_b + x_w + (1 | f) 
   Data: dat 
   AIC   BIC logLik deviance REMLdev
 6.547 8.972  1.726   -23.63  -3.453
Random effects:
 Groups   Name        Variance Std.Dev.
 f        (Intercept) 0.000000 0.00000 
 Residual             0.010898 0.10439 
Number of obs: 12, groups: f, 4

Fixed effects:
            Estimate Std. Error t value
(Intercept) 0.008333   0.030135   0.277
x_b         0.005691   0.002977   1.912
x_w         0.462500   0.036908  12.531

Correlation of Fixed Effects:
    (Intr) x_b  
x_b 0.000       
x_w 0.000  0.000

XwXbyXXXbt-statistique est plus grand. Cela n'est pas non plus surprenant car la variance résiduelle est beaucoup plus petite dans ce modèle mixte en raison des effets de groupe aléatoires qui absorbent une grande partie de la variance que le modèle de régression simple a dû gérer.

Enfin, nous avons encore une estimation de 0 pour la variance des intersections aléatoires, pour les raisons que j'ai développées dans la section précédente. Je ne suis pas vraiment sûr de tout ce que nous pouvons faire à ce sujet au moins sans passer à un logiciel autre que lmer(), et je ne sais pas non plus dans quelle mesure cela va encore nuire à nos estimations dans ce modèle mixte final. Peut-être qu'un autre utilisateur peut donner son avis sur ce problème.

Les références

  • Bell, A. et Jones, K. (2014). Explication des effets fixes: modélisation des effets aléatoires des données transversales et de panel de séries chronologiques. Recherche et méthodes en science politique. PDF
  • Bafumi, J. et Gelman, AE (2006). Ajustement des modèles à plusieurs niveaux lorsque les prédicteurs et les effets de groupe sont corrélés. PDF

1
Il s'agit d'une réponse très réfléchie et utile. Je n'ai pas rencontré ces références; leurs titres me paraissent incontournables à ce stade de mon exploration. Je te dois une bière!
ndoogan

1
L'arbitre Bell & Jones était super. Une chose que j'attendais, et sur laquelle vous pourriez avoir une idée, est de savoir si ces séparations intermédiaires s'étendent facilement aux modèles mixtes linéaires généralisés . Il semble que ce soit le cas, mais j'ai cru comprendre que le centrage des covariables dans un modèle de régression logistique n'est pas le même que le modèle logistique conditionnel, que je considère comme l'analogue de résultat binaire du modèle linéaire à effet fixe. Des commentaires?
ndoogan

1
L'ajustement d'un modèle marginal ne permettrait-il pas que la variance négative qui lmecontraint par défaut soit> = 0? Voir cette question et sa réponse sélectionnée , c.-à-d. Ajuster une corrélation de simétrie composée par un glsajustement ou une mise correlation = corCompSymm(form = ~1|f)en placelme
FairMiles

1
@FairMiles Peut-être ... pourquoi ne pas essayer et publier les résultats dans ce fil de commentaire?
Jake Westfall

3
Merci encore, @JakeWestfall. J'ai lu ceci environ 3 fois au cours de quelques mois et cela m'a aidé de différentes manières à chaque fois.
ndoogan

3

Après une longue réflexion, je crois avoir découvert ma propre réponse. Je crois qu'un économétricien définirait ma variable indépendante comme étant endogène et serait donc en corrélation avec les variables indépendantes et dépendantes. Dans ce cas, ces variables sont omises ou non observées . Cependant, j'observe les groupements entre lesquels la variable omise devrait varier.

Je pense que l'économétricien suggérerait un modèle à effet fixe . C'est-à-dire, un modèle qui inclut un mannequin pour chaque niveau de regroupement (ou une spécification équivalente qui conditionne le modèle de telle sorte que de nombreux mannequins de regroupement ne sont pas nécessaires) dans ce cas. Avec un modèle à effet fixe, l'espoir est que toutes les variables non observées et invariables dans le temps puissent être contrôlées en conditionnant les variations entre les groupes (ou entre les individus). En effet, le deuxième modèle de ma question est précisément un modèle à effet fixe, et en tant que tel donne l'estimation que j'attends.

Je salue les commentaires qui éclaireront davantage cette circonstance.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.