La chronique SAS – Imputation multiple

le 15 octobre 2012 à 15:09
dtalbot

Que faire avec les données manquantes?

La plupart des procédures statistiques de SAS procèdent à l’analyse des cas complets, c’est-à-dire qu’elles excluent les observations qui ont une valeur manquante pour une au moins une des variables utilisées dans l’analyse. Cette approche simple se comprend d’un point de vue calcul informatique, mais résulte en une perte d’information qui peut entraîner une perte de p uissance. De plus, elle dernière peut engendrer un biais et les inférences produites pourraient ne pas s’appliquer à la populati on. Afin d’éviter cela, une stratégie est d’utiliser l’imputation simple. Par exemple, chaque valeur manquante est remplacée par la moyenne de la variable pour les cas complets. Cette approche peut changer la forme des distributions et fausser les relations entre les variables en plus de diminuer artificiellement la variance.

Afin de produire des inférences valides (les estimateurs sont convergents, les valeurs de p sont correctes, etc.), il faut tenir compte du mécanisme de non-réponse. Une technique d’imputation qui est préférable à l’imputation simple est l’imputation multiple.Elle consiste à remplacer chaque valeur manquante avec un ensemble de valeurs plausibles qui représentent l’incertitude quant à la juste valeur à imputer. Les multiples ensembles de données imputés sont ensuite analysés à l’aide des procédures standardset les résultats produits sont par la suite combinés et analysés afin de produire des inférences valides.

L’imputation multiple avec SAS s’effectue avec les procédures MI (« Multiple Imputation ») et MIANALYZE du module SAS/STAT. Cet article vise à expliquer les bases de ces procédures.


L’imputation multiple dans le cadre d’une analyse de régression

Afin de présenter les procédures MI et MIANALYSE, nous allons utiliser un exemple dans lequel on désire faire une analyse de régression linéaire avec des données continues pour lesquelles il y a des valeurs manquantes.

Le code suivant (voir encadré 1) génère le fichier de données Fitness1 (n=31 observations) que nous allons utiliser dans notre exemple. Il contient trois variables : Oxygen, RunTime et RunPulse. Certaines valeurs ont été changées pour des valeurs manquantes afin que le fichier de données résultant contienne un patron de non-réponse arbitraire.

Encadré 1

L’inférence par imputation multiple comporte trois phases distinctes :

  1. Les données manquantes sont remplacées m fois par des données imputées pour générer m ensembles de données complets;Chacun des m ensembles de données complets est analysé à l’aide des procédures standards;
  2. Les résultats de ces analyses sont combinés pour l’inférence.

Étape 1

Avec SAS, cette première étape est réalisée avec la procédure MI. Elle crée de multiples ensembles de données imputées pour des données incomplètes multivariées. Elle utilise des méthodes qui incorporent une variabilité appropriée à travers les m imputations. Le choix de la méthode d’imputation repose sur les patrons de non-réponses dans les données et le type de la variable imputée.

Pour les données qui ont un motif de non-réponse monotone (fréquent dans les études longitudinales), l’imputation d’une variable continue peut se faire avec les méthodes suivantes :

  • Régression,
  • « predictive mean matching »,
  • score de propension.

Pour les données qui ont un patron de non-réponse arbitraire, on peut utiliser les méthodes suivantes :

  • Monte-Carlo par chaînes de Markov (MCMC),
  • Spécification complètement conditionnelle (« Fully Conditional Specification »)

Le code SAS suivant (voir encadré 2) effectue les imputations six fois (m=6) par la méthode de Monte-Carlo par chaînes de Markov pour le jeu de données Fitness1.

Encadré 2


Ce code va produire deux types de sortie :

  1. un fichier de données nommé « outmi » de n=186 observations (m x n = 6 x 31). Ce fichier contient 6 copies du fichier initial où les données manquantes ont toutes été remplacées par des valeurs imputées
  2. une sortie imprimée

Dans la sortie imprimée, on retrouve entre autres, un sommaire des patrons de non-réponses, où les X représentent une valeur non manquante et les points une valeur manquante (voir encadré 3) ainsi que la table des paramètres estimés suite à l’imputation multiple (voir encadré 4).

Encadré 3


Encadré 4


L’algorithme EM (« Expectation-Maximization ») est utilisé pour trouver les estimés par le maximum de vraisemblance pour les données manquantes. On peut également utiliser l’algorithme EM pour trouver un mode postérieur, les estimations des paramètres qui maximisent la densité postérieure des données observées. Le mode postérieur offre une bonne valeur de départ pour la méthode MCMC.

Étape 2

Les m=6 ensembles de données complets sont analysés un à la suite de l’autre (en raison de l’instruction BY _imputation_ dans le code de l’encadré 5) à l’aide de la procédure REG pour notre exemple de régression linéaire. Le code suivant va générer le fichier de données « outreg » qui va contenir les coefficients de régression et les matrices de covariance correspondantes calculées à partir des ensembles de données imputées.

Encadré 5


Le fichier de données « outreg » ainsi produit contient les informations suivantes : (voir encadré 6)

Encadré 6


Étape 3

Les estimations obtenues à l’étape précédente sont ensuite combinées pour produire des inférences statistiques valides pour notre modèle de régression. Pour ce faire, nous utilisons la procédure MIANALYZE (voir encadré 7).

Encadré 7


L’option edf sert à spécifier le nombre de degrés de liberté. Dans un modèle de régression avec 3 paramètres et 31 observations, le nombre de degrés de liberté est 28. Dans les résultats produits, on retrouve la table des paramètres estimés avec chacun leur erreur-type et leur intervalle de confiance (voir encadré 8 )

Encadré 8


À la fin des trois étapes du processus d’imputation multiple, nous avons donc

évité de perdre de l’information précieuse en raison des valeurs manquantes et

généré des inférences valides.


Conclusion

L’imputation multiple ne cherche pas à estimer chaque valeur manquante par l’entremise de valeurs simulées, mais plutôt à représenter un échantillon aléatoire de ce que pourrait être les vraies valeurs. Ce processus aboutit à des inférences statistiques valides qui reflètent bien l’incertitude due aux des valeurs manquantes. C’est une technique d’imputation préférable à l’imputation simple.

La procédure MI propose de nombreuses méthodes d’imputation qui tiennent compte des patrons de non-réponse dans les données et du type des variables imputées. Après avoir analysé les multiples fichiers de données imputées avec les procédures standards de SAS/STAT, la procédure MIANALYZE vous permet de facilement combiner les résultats de vos analyses afin de produire des inférences valides.Évidemment, nous n’avons pas abordé tous les aspects théoriques reliés à l’utilisation de cette méthode (patrons de non-réponse pour lesquels l’imputation multiple est valide, choix des variables à inclure dans le modèle d’imputation, choix de m, etc) mais ce survol donne un aperçu de la façon de la mettre en pratique avec SAS.
Sylvain Tremblay, Groupe de formation – Institut SAS (Canada) inc.


Références

Yuan, Y. C., Multiple Imputation for Missing Data: Concepts and New Development, SAS Institute Inc.

http://support.sas.com/rnd/app/papers/multipleimputation.pdf

Documentation des procédures MI et MIANALYZE

http://support.sas.com/documentation/onlinedoc/stat/index.html#stat93


Retour à la table des matières

FacebookTwitterGoogle+LinkedIn