...

Données groupées : effets aléatoires vs effets fixes

25 juin 2017

Le choix entre effets fixes et effets aléatoires est un grand classique de la microéconométrie, qu’on rencontre en particulier lorsqu’on dispose de données de panel, ou plus généralement lorsqu’on dispose de données « groupées ». Ce peut être plusieurs observations temporelles pour de mêmes individus (données de panel), mais aussi lorsque des personnes différentes partagent un même « contexte » : des élèves dans une classe, les patients d’un hôpital,… situations qu’on désigne plutôt par le terme de modèles multiniveaux ou hiérarchiques (dont on peut considérer les données de panel comme un cas particulier). Ces modèles sont décrits par exemple ici.

Ce type de modèle est utilisé en particulier pour rendre compte de composantes « inobservées » du modèle : par exemple, les qualités pédagogiques des enseignants sont rarement « mesurées » dans des données, mais il est possible qu’elles aient un effet sur la réussite des élèves de leurs classes. Formellement, on se trouve dans le cas où on veut expliquer les variations d’une variable Y. On dispose de variables « explicatives » X, mais on soupçonne qu’elles ne raconteront qu’une partie de l’histoire. D’autres caractéristiques, inobservées, sont également corrélées avec les variations de la variable d’intérêt Y (et éventuellement avec les variables explicatives). Ces composantes inobservées peuvent être communes à plusieurs observations.

Le cas le simple est celui d’une variable continue, pour laquelle on spécifie le modèle linéaire suivant, avec une variable explicative x :

où l’indice i correspond à une observation, et l’indice j au « groupe » à laquelle elle appartient (remarque : avec des données de panel, ce groupe correspond à l’individu, qu’on indicera souvent par i et l’observation la date, qu’on indicera par t). Le principe des modèles à effets fixes ou aléatoires est de supposer que le terme d’erreur u comprend une composante spécifique au groupe auquel il appartient (par exemple, l’effet de partager le même enseignant pour tous les élèves d’une classe), et un terme aléatoire spécifique à l’observation considérée. On écrit donc

Pourquoi c’est important ? La première réponse évidente pour un économètre est que si ces termes d’erreurs communs sont corrélés avec les variables explicatives (par exemple, si l’affectation des enseignants dans les classes dépend des caractéristiques des élèves), les paramètres seront biaisés. En fait, même dans le cas a priori favorable où il n’y aurait pas de corrélation entre \alpha_j et les caractéristiques (dans notre exemple, une affectation aléatoire des enseignants et des élèves), il est important de tenir compte dans l’estimation de la présence de ces composantes inobservées communes à plusieurs observations. Le calcul « standard » de la précision des estimateurs repose en effet sous l’hypothèse que les termes d’erreurs individuels sont indépendants entre eux. La présence de ces termes communs contredit cette hypothèse : en pratique, on peut montrer qu’on risque de sur-estimer la précision des coefficients estimés (ie., on risque de conclure qu’une caractéristique a un effet significatif sur notre variable d’intérêt alors que ce n’est pas le cas). Enfin, on peut tout simplement souhaiter mesurer ces effets groupés : par exemple pour mesurer un « effet maître », ou la valeur ajoutée d’un établissement. Dans ce cas, ce ne sont plus simplement des paramètres de « nuisance » dont on souhaite se débarrasser, mais l’objet d’intérêt en tant que tel.

Comment faire en pratique ? La solution la plus directe est d’estimer simplement l’ensemble des effets groupés \alpha_j, en ajoutant des indicatrices par exemple. Cette solution permet de ne pas faire d’hypothèse sur ces termes groupés : en particulier, on autorise le fait qu’ils puissent être corrélés avec les variables observables introduites dans le modèle. L’estimation de \alpha_j repose alors sur le fait que l’on a plusieurs observations pour le même groupe j. Si ce nombre est faible (par exemple, si on a seulement trois ou quatre observations temporelles pour une même unité dans des données de panel), cette estimation risque d’être assez imprécise. C’est pourquoi, si on ne s’intéresse pas aux \alpha_j en tant que tel, on préfère en général utiliser une estimation « en différences », en utilisant la spécification linéaire. Les estimations des coefficients des variables observables seront non biaisées, et leur identification repose sur les variations observées entre les observations d’une même groupe. Du coup, il n’est pas possible d’estimer les effets des variables qui ne sont observées qu’au niveau du groupe (hétérogénéité de la classe, caractéristiques observables de l’enseignant comme son ancienneté par exemple).

Du coup, à cette spécification que les économètres appellent « à effets fixes », qui ne fait aucune hypothèse sur la distribution de ces termes groupés, on préfère parfois une spécification « à effets aléatoires ». Cette spécification repose sous l’hypothèse que les effets groupe \alpha_j suivent une certaine distribution (en général normale) sur l’ensemble des groupes. On va donc simplement estimer la variance de ces groupes. En revanche, cette modélisation suppose que (pour plus de précision, voir par exemple ce document).

De manière caricaturale, en général les économètres préfèrent les effets fixes et les statisticiens (non économètres) préfèrent les effets aléatoires. On peut voir ce problème comme un arbitrage classique biais / variance. Les estimations à effets fixes sont asymptotiquement (i.e. si on a beaucoup d’observations) sans biais, mais aussi moins précises. Avec un nombre fini d’observations, le risque pourrait être d’obtenir un estimateur finalement « plus loin » de la vraie valeur. De manière intuitive, la portée de ces arguments va dépendre du nombre d’observations, mais aussi de sa répartition entre les groupes (nombre de groupes, nombre d’observations par groupe) et du degré de corrélation éventuelle entre ces effets de contexte et variables explicatives.

On peut essayer de vérifier ces intuitions sur des données simulées.

Par exemple, supposons qu’on dispose de nclass=200 classes de nstud=30 élèves :

nclass <- 200

nstud <- 30

On a un effet classe (les \alpha_j) :

class.effect0 <- rnorm(n=nclass, m=1, sd=0.5)

que l’on réplique pour tous les élèves

class.effect <- rep(class.effect0, each=nstud)

On définit une variable observable student.effect (par exemple, le niveau initial de l’élève) qui est corrélée avec les effets classes class.effect, la corrélation étant définie par corr (on commence par la fixer à 0, mais on la fera varier après) :

corr<-0
student.effect <- corr*class.effect+rnorm(nstud*nclass,m=0,sd=0.3)

Au final, on génère la table data.set

data.set <- data.frame(class.id = rep(1:nclass, each=nstud),
class.effect <- class.effect, student.id = 1:(nstud*nclass),
student.effect <- student.effect, epsilon=rnorm(nstud*nclass,m=0,sd=0.5))

avec la variable d’intérêt outcomes (par exemple, le niveau scolaire à l’issue de l’année scolaire), qui dépend de l’effet classe et de la variable observable, ce dernier étant \beta (ici fixé à 2)

beta<-2
data.set$outcomes <- data.set$class.effect+beta*data.set$student.effect+data.set$epsilon

La structure des données peut être illustrée sur ce graphique (où on n’a conservé que 5 classes).

Supposons qu’on souhaite surtout estimer \beta, voyons ce que donnent les spécifications à effets aléatoires puis celles à effets fixes :

## Formula: outcomes ~ 1 + student.effect + (1 | class.id)
## Data: data.set
##
## REML criterion at convergence: 9387.1
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -4.0096 -0.6660 -0.0131 0.6455 3.7916
##
## Random effects:
## Groups Name Variance Std.Dev.
## class.id (Intercept) 0.2346 0.4844
## Residual 0.2498 0.4998
## Number of obs: 6000, groups: class.id, 200
##
## Fixed effects:
## Estimate Std. Error t value
## (Intercept) 1.01475 0.03485 29.11
## student.effect 2.02378 0.02156 93.85
##
## Correlation of Fixed Effects:
## (Intr)
## studnt.ffct 0.004

Attention, dans l’estimation ci dessus les « fixed effects » correspondent aux coefficients des variables observées (ici constante et student.effect). La terminologie est différente de celle des économètres, qui appellent « effets fixes » les termes inobservés \alpha_j , lorsqu’on ne fait d’hypothèse sur leur distribution statistique.

A propos de ce blog

Les informations qui y sont diffusées n'engagent que les contributeurs et en aucun cas les institutions dont ils dépendent.