Chapitre 4
Mise en œuvre de la modélisation multiniveau avec les logiciels SAS®, Stata® et R
p. 55-73
Texte intégral
1. Choix d’une stratégie de modélisation
1Avant toute mise en œuvre, il est important de s’interroger sur la stratégie de modélisation à définir. En effet, l’un des problèmes importants de l’analyse multiniveau est la démarche qu’il faut adopter pour intégrer les variables explicatives : dans quel ordre, selon quelle logique. En régression, deux méthodes sont généralement opposées. La première part du modèle vide et intègre pas à pas les différentes dimensions explicatives. La seconde, inversement, part du modèle saturé et aboutit, par suppressions successives de dimensions explicatives non pertinentes et non significatives, à un modèle stable plus parcimonieux.
2Cette seconde stratégie est complexe à mettre en œuvre, particulièrement dans le cadre d’une analyse multiniveau, où le nombre de paramètres est important et les méthodes d’estimation complexes et itératives. Toutes ces difficultés plaident pour partir d’un modèle vide et intégrer progressivement les variables explicatives du modèle.
3À partir d’un modèle vide (modèle à constante aléatoire) :
- Dans une première étape, nous allons entrer uniquement des effets fixes pour des variables individuelles et tester la significativité de chaque dimension explicative. Différents algorithmes de calcul (maximum de vraisemblance complet ML ou restreint REML) peuvent être mis en œuvre. En cas de modélisation ML uniquement, un test sur les déviances pourra nous renseigner sur la pertinence d’entrer telle ou telle dimension explicative.
- Ensuite, nous allons entrer les variables contextuelles, par définition comme effets fixes, afin de déterminer si elles peuvent expliquer la variance entre groupes. À la fin de cette étape, on ne dispose toujours que d’un seul terme aléatoire au niveau des contextes, u0j, qui traduit une constante de régression variable entre les groupes, mais des effets des variables explicatives qui sont identiques selon les contextes.
- Puis nous allons tester si l’une des variables explicatives individuelles a un effet différencié selon les contextes, en entrant un terme aléatoire. Ce modèle porte le nom de « modèle à coefficients aléatoires ».
4Nous allons maintenant détailler les instructions disponibles dans les logiciels retenus dans ce manuel en adoptant une modélisation multiniveau logistique.
5Pour cela, nous reprenons l’étude de la scolarisation au Kenya, dont l’analyse a débuté dans le chapitre précédent par des méthodes plus classiques.
2. La mise en œuvre du modèle multiniveau logistique
6 Les procédures nlmixed et glimmix permettent de mettre en œuvre une modélisation multiniveau logistique sous SAS®. Nous explicitons ici cette dernière procédure, en indiquant simplement les conditions d’application et les techniques de calcul qui distinguent la mise en œuvre de chacune de ces deux procédures.
7La syntaxe générale est la suivante :

8Remarques
91. La syntaxe est similaire à celle de la procédure mixed utilisée dans le cadre du modèle linéaire et détaillée en annexe 7. Elle étend le traitement au cas où la réponse peut suivre une distribution qui n’est pas normale.
102. Comme dans le cadre de la procédure genmod, la fonction de lien et le type de distribution utilisés doivent être spécifiés pour pouvoir indiquer une modélisation de type logistique. Ce type de modèle permet d’intégrer des effets aléatoires, ce que ne permet pas genmod.
113. L’option oddsratio permet la sortie supplémentaire des rapports de cotes, avec indication de l’intervalle de confiance des indicateurs à estimer.
124. L’instruction random permet de définir les effets aléatoires du modèle :
- Modèle à constante aléatoire : en entrant uniquement le mot clé Int (Int pour intercep), qui correspond à la constante dans ces termes aléatoires.
- Modèle à pente aléatoire : en entrant aussi les variables individuelles sur lesquelles on présuppose un terme aléatoire. Ces variables doivent alors également apparaître dans l’instruction model.
- Là encore figurent des options après le / : ainsi le mot clé subject indique l’identifiant du contexte, solution permet l’affichage des estimateurs des termes aléatoires (les û0j par exemple), avec écart-type et test de nullité des estimateurs.
135. L’instruction covtest permet de tester la nullité d’une variance. Ainsi dans le cadre d’un modèle à constante aléatoire, une instruction du type :

14permet de tester si la variance des u0j est significativement différente de 0 et d’afficher les résultats du test sous le titre « Test 1 : ».
156. L’option ddfm=bw (between-within) permet de prendre en compte le nombre correct de degrés de liberté au niveau des tests des effets fixes, pour les variables individuelles (à partir du nombre d’individus) et pour les variables contextuelles (à partir du nombre de contextes).
167. L’instruction class, présente dans de nombreuses procédures SAS®, permet de définir des variables catégorielles et de les dichotomiser automatiquement avec choix d’une référence. Si dans la plupart des cas, cette instruction fonctionne correctement, son utilisation en présence de variables individuelles et contextuelles conduit à modifier le nombre de degrés de liberté pour les variables contextuelles, même en cas d’utilisation de l’option ddfm=bw. Aussi nous déconseillons fortement son utilisation, hormis pour la variable identifiant le contexte. Nous préconisons de dichotomiser les variables explicatives en amont dans une étape data.
17 La commande xtmelogit, disponible depuis la version 10, permet d’effectuer des analyses multiniveaux logistiques sous Stata®. Attention cependant, car cette commande n’est plus maintenue à compter de la version 14 du logiciel, désormais disponible, dans laquelle elle est remplacée par deux autres commandes, melogit et meqrlogit, avec une syntaxe équivalente. La syntaxe générale est la suivante :

18Les commandes melogit et meqrlogit diffèrent par la technique de calcul employée, meqrlogit ayant semblé plus performante dans certains cas en termes de convergence, nous avons choisi d’illustrer les exemples avec cette commande. L’utilisation de la commande melogit est en tout point comparable. La syntaxe est similaire à celle de la commande logistic vue au chapitre 3, avec à la suite la variable à expliquer et les variables explicatives. La syntaxe xi : permet de la même manière de dichotomiser automatiquement des variables individuelles, effets fixes, et de spécifier une modalité de référence1. Ainsi, pour notre exemple, la syntaxe est la suivante :

19S’il n’y a qu’un terme aléatoire, positionné sur la constante, il n'y a pas besoin de préciser quoi que ce soit à la suite de l'identifiant de contexte (ici distKe2007) dans la syntaxe. En revanche, si un effet aléatoire est positionné sur une variable explicative, alors celle-ci devra être mentionnée au niveau des termes aléatoires, même si cette variable a déjà été indiquée au niveau des effets fixes. On sera alors dans le cadre d'un modèle à pente aléatoire.
20La variable identifiant le niveau d’agrégation est précisée à la suite d’un double signe || entré au niveau de la commande.
21Une option var ou variance permet d’afficher la matrice de variances-covariances des effets aléatoires, au lieu des écart-types affichés par défaut.
22La covariance entre effets aléatoires est nulle par défaut. Une option cov permet, comme pour les autres logiciels présentés dans ce manuel, de spécifier la forme de la matrice de variances-covariances des effets aléatoires. Ainsi cov(exc) permet de spécifier des variances égales pour les effets aléatoires et une covariance commune. En règle générale, seule l’option cov(uns) qui permet de spécifier la matrice la plus générale possible, pourra être utilisée dans les analyses multiniveaux, afin de détecter s’il existe une covariance entre effets aléatoires.
23 Sous R, on peut utiliser la commande glmer du package lme4. Cette commande n’est pas fournie avec le logiciel et nécessite de télécharger préalablement le package lme4. Il est aussi nécessaire de charger les fonctions disponibles dans ce package par une commande library en tête de programme.

24Les variables explicatives sont entrées de la manière suivante :
- Comme dans toute régression sous R, les différentes variables explicatives sont entrées à droite du signe "~".
- Les différentes variables explicatives sont séparées par des signes "+", tout comme les termes aléatoires.
- Les effets aléatoires sont articulés à l'identifiant de contexte par un signe "|" .
- Si un effet aléatoire est positionné sur la constante, on entrera une constante notée "1" dans la liste des termes aléatoires.
25En reprenant la syntaxe donnée ci-dessus, en présence de 2 effets fixes positionnés sur les variables v1 et v2, et un effet aléatoire positionné simplement sur la constante, on aurait donc une syntaxe du type :

26Pour un modèle similaire, mais avec en plus un effet aléatoire positionné sur la variable v1, on aurait une syntaxe du type :

27L’option family permet de déterminer la loi de probabilité utilisée, cette fonction pouvant être utilisée de manière très large dans l’application du modèle mixte linéaire généralisé.
28Une autre manière simple de poser un modèle multiniveau logistique sous R est d’utiliser la fonction glmmPQL, dorénavant disponible dans le package MASS (auparavant dans le package nlme).
29On retrouve pour cette fonction glmmPQL, une syntaxe équivalente à la fonction lme utilisée dans le cadre linéaire (voir annexe 7), avec cependant une différenciation des parties fixe et aléatoire :

3. Modélisation multiniveau de la scolarisation au Kenya
30Revenons à l’exemple de la scolarisation au Kenya. Les analyses préliminaires menées au chapitre 2 nous ont montré la pertinence de tenter une analyse multiniveau. En effet, des différences significatives entre districts sont apparues. Les variables contextuelles introduites sont également significatives dans un modèle logistique simple. On sait donc que jouent sur la scolarisation des enfants à la fois des facteurs d’ordre individuel ou familial, mais également des facteurs plus macro, liés à l’environnement global dans lequel se trouvent l’enfant et ses proches. En utilisant l’analyse multiniveau, nous allons pouvoir estimer de manière plus précise la part relative de ces facteurs, et plus globalement, mesurer les rôles relatifs dans la scolarisation des enfants du niveau individuel ou familial du niveau supérieur considéré, ici le district.
31Le processus sera complètement détaillé avec les trois logiciels. Les résultats obtenus sont très proches.
3.1. Syntaxe et résultats sous SAS®
Étape 1 :
32Le modèle vide permet de tester s’il existe une variance significative entre contextes, et donc sur l’opportunité d’utiliser un modèle multiniveau.

33Dans le listing de résultats, un premier tableau indique la fonction de lien utilisée (logit), la technique d’estimation (Residual PL par défaut), et la méthode utilisée pour le calcul des degrés de libertés (le paramètre ddfm est positionné à bw pour tenir compte du nombre de degrés de liberté au niveau des tests des effets fixes, qui diffère pour les variables individuelles et les variables contextuelles).

34Figurent ensuite des informations sur la variable identifiant le contexte :

35Puis le nombre d’observations utilisées dans l’analyse :

36Le profil de la variable réponse et la modalité objet de la modélisation :

37Le nombre de contextes (Subjects), le nombre maximum d’individus par district :

38La technique d’optimisation utilisée :

39Le processus de convergence, qui aboutit ou pas (ici il y a convergence, si ce n’est pas le cas, voir chapitre 5) :

40On trouve ensuite une statistique de qualité du modèle, « –2 Residual Log de pseudo vraisemblance » ou « –2 Log vraisemblance », selon la technique de calcul employée (ML ou REML). On peut l’utiliser dans certains cas pour détecter l’apport d’information du nouveau modèle par rapport à l’ancien, dans le cas de modèles emboîtés.

41Puis la variance contextuelle :

42Pour rappel, dans le type de modèle utilisé ici, la variance individuelle est fixée à π2/3, c’est-à-dire 3,2899. La corrélation intraclasse ρ, qui représente la part de la variance contextuelle dans la variance totale, vaut donc ici 1,5557 / (1,5557 + 3,2899) = 0,321. La variance contextuelle représente donc 32,1 % de la variance totale.
43On trouve ensuite la constante du modèle et un test de sa nullité :

44Vient ensuite le test du partage de la variance, fondé sur un mélange de Chi2 (Wang, 2012). Une probabilité inférieure à 5 % indique ici qu’il existe une variance contextuelle et qu’un modèle multiniveau peut être utilisé pour l’analyse. Ce tableau confirme les résultats présentés plus haut dans le tableau d'estimation de la variance des effets aléatoires (Covariance Parameter Estimates). Un résultat significatif implique une variance suffisamment importante entre les contextes et justifie donc la construction d'un modèle multiniveau.

Étape 2 :
45L’objectif est à cette phase d’entrer les variables explicatives individuelles et du ménage, afin de faire baisser la variance du modèle (sexe, relation au chef de ménage, taille du ménage, caractéristiques du chef de ménage : sexe, âge, activité, niveau d’instruction).
46Les variables catégorielles sont dichotomisées en amont dans une étape data, avec choix d’une modalité de référence pour les dimensions explicatives. Toutes les variables dichotomiques, exceptées celles qui correspondent aux modalités de référence choisies, sont entrées dans le modèle.

47Deux éléments nous intéressent particulièrement lors de cette étape. Il s’agit, premièrement, de l’estimation de la variance qui permet de calculer la diminution de variance entraînée par l’entrée des variables explicatives dans le modèle :

48La part de la variance contextuelle, auparavant de 32,1 %, diminue ici à 1,0638 / (1,0638 + 3,2899) = 24,4 %. Le test reproduit ci-dessous confirme une nouvelle fois l’existence d’une variance contextuelle, significativement non nulle.

49Les tests sur les effets fixes montrent que les variables sex_F (sexe de l’enquêté(e), F versus M) et empHH_NA (activité du chef de ménage, non actif versus actif) ne sont pas significatives.

Étape 3 :
50Les variables contextuelles explicatives sont ensuite entrées, en ajoutant simplement les variables contextuelles dans l’instruction model.

51La part de la variance contextuelle a encore diminué. Elle vaut désormais 0,6791/(0,6791 + 3,2899) = 17,1 % au lieu des 24,4 % obtenus à l’étape 2 :

52Le résultat pour les effets fixes est le suivant :

53Le résultat du test de partage de la variance est le suivant :

3.2. Syntaxe et résultats sous Stata®
54 Comme pour SAS®, pour alléger les calculs, les variables catégorielles sont transformées en amont (voir annexe 4). Les nouvelles variables sont ici suffixées par « _D ».
55Modèle vide


56Nous poursuivons avec l’introduction de variables individuelles :


57Enfin, avec l’intégration de variables contextuelles :


3.3. Syntaxe et résultats sous R
58Nous commençons par redéfinir les variables catégorielles (voir annexe 4), avant de mettre en œuvre le modèle multiniveau.
59Modèle vide
60L’utilisation de la fonction glmer induit le programme et le résultat suivant :


61L’utilisation de la fonction glmmPQL est programmée ci-dessous :


62Sous R, l’écart type des effets aléatoires est affiché par défaut, alors que ce sont les variances pour les autres logiciels.
63Nous poursuivons avec l’introduction de variables individuelles, en utilisant cette fonction glmmPQL :


64Le dernier modèle, intégrant les variables contextuelles, figure ci-dessous :


3.4. Interprétation des résultats
65Comme pour l’analyse logistique, nous avons obtenu les résultats de trois modèles emboîtés, mais cette fois-ci ce sont des modèles multiniveaux, que nous pouvons à la fois comparer entre eux et avec le modèle logistique contextuel du chapitre 2.
Tableau 3. Résultats des différentes régressions multiniveaux

66Le tableau 3 présente une synthèse des résultats obtenus. Parmi les caractéristiques individuelles, le sexe de l’enfant n’est plus significatif : les différences obtenues par un modèle simple ne sont plus aussi affirmées ici, l’effet apparent du sexe dans le modèle logistique à un seul niveau cachant en fin de compte un effet de contexte. L’activité du chef de ménage n’est pas non plus significative mais elle ne l’était que faiblement auparavant. L’effet de l’âge du chef de ménage est moins marqué, avec un changement de signe pour ceux de 30 à 59 ans. On note également un changement de signe, par rapport au modèle logistique contextuel, pour l’effet de la taille du ménage : dans le modèle multiniveau, les petits ménages ne sont plus ceux qui scolarisent le plus les enfants. Cela dénote le fait que la taille moyenne des ménages varie beaucoup d’un district à l’autre, les petits ménages étant plus fréquents dans les régions denses où les enfants sont plus scolarisés. L’introduction des caractéristiques du niveau district ne modifie ni les coefficients obtenus pour les caractéristiques des individus et des ménages ni leur significativité, mais réduit fortement la variance. Parmi les variables contextuelles, seule la densité d’écoles par district est significative et son effet est beaucoup moins marqué que dans un modèle simple. Ces résultats illustrent le fait que non seulement le modèle logistique contextuel surévalue le plus souvent l’effet des caractéristiques contextuelles, mais il n’évalue pas non plus de manière satisfaisante les effets des caractéristiques individuelles. Dans le modèle multiniveau en revanche, le partage des facteurs de la scolarisation entre les deux niveaux est clair, ce qui contribue à transformer les résultats obtenus pour les caractéristiques individuelles comme pour celles qui relèvent du contexte.
67On voit que, toutes choses égales par ailleurs, ni le sexe de l’enfant ni l’activité du chef de ménage ne jouent de rôle significatif dans la scolarisation de l’enfant. C’est avant tout le fait que le chef de ménage soit lui-même allé à l’école qui joue un rôle ici, modulé par son âge (les plus jeunes ayant une propension moindre à scolariser les enfants de 6 à 13 ans vivant sous leur toit), le statut de l’enfant dans le ménage (les enfants du chef de ménage ayant une propension moindre à aller à l’école que les autres enfants), et la densité d’école dans le district. Parmi les caractéristiques contextuelles considérées, qui font baisser globalement la variance contextuelle de 50 %, la densité d’écoles et le taux d’activité des ménages sont significatifs et positivement associés à la scolarisation.
68On observe sur la dernière ligne la réduction progressive de la variance contextuelle, au fil de l’introduction dans le modèle des variables explicatives. Le modèle présenté ici pourrait très probablement encore être amélioré car la variance reste importante, même dans le modèle multiniveau contextuel. Pour aller plus loin dans la modélisation, il faudrait rechercher d’autres caractéristiques contextuelles, voire des effets d’interaction entre caractéristiques individuelles et contextuelles. La prise en compte de niveaux d’agrégation différents peut également être une solution. Une fois de plus, rappelons que la liste de caractéristiques fournie ici ne couvre pas la totalité des domaines pertinents (par exemple, on pourrait penser que l’état de santé d’un enfant ou la qualité de l’offre scolaire peuvent jouer des rôles importants dans l’accès à l’école, et ils ne sont pas ou peu pris en compte ici) ni ne correspond à l’ensemble des variables disponibles dans nos sources. Il s’agit simplement d’un choix pédagogique raisonné.
69Nous pourrions poursuivre ce type de modèle en entrant une interaction entre variables contextuelles et variables individuelles, à l’instar de Courgeau (2004), qui a montré que l’introduction d’une interaction entre variable individuelle (être agriculteur) et une variable contextuelle (part des agriculteurs dans la région) pouvait modifier notablement la variance contextuelle. Ainsi, pour les non-agriculteurs, la variance contextuelle est réduite dans le modèle où la variable contextuelle et l'interaction sont introduites. Inversement, pour les agriculteurs, cette variance contextuelle est augmentée, traduisant une probabilité de migrer des agriculteurs particulièrement élevée dans 2 régions (op. cit., p. 88). Courgeau nomme ce type d’analyse « modèle multiniveau contextuel ». Ces modèles sont complexes à mettre en œuvre, consommateurs en temps de calcul et délicats à interpréter.
Notes de bas de page
1 Syntaxe obligatoire jusqu'en version 11, optionnelle ensuite si la commande utilise une syntaxe de type ib#. pour spécifier les variables catégorielles.
Le texte seul est utilisable sous licence Licence OpenEdition Books. Les autres éléments (illustrations, fichiers annexes importés) sont « Tous droits réservés », sauf mention contraire.
États flous et trajectoires complexes
Observation, modélisation, interprétation
Philippe Antoine et Éva Lelièvre (dir.)
2006
Biographies d’enquêtes
Bilan de 14 collectes biographiques
GRAB (Groupe de réflexion sur l'approche biographique) (dir.)
2009
Méthodes de mesure de la mobilité spatiale
Migrations internes, mobilité temporaire, navettes
Daniel Courgeau
2021
L’analyse statistique des trajectoires
Typologies de séquences et autres approches
Nicolas Robette
2021
Fuzzy States and Complex Trajectories
Observation, modelisation and interpretation of life histories
GRAB Harriet Coleman (trad.)
2009
Minorités de genre et de sexualité
Objectivation, catégorisations et pratiques d’enquête
Wilfried Rault et Mathieu Trachman (dir.)
2023