Imputation multiple pour les variables de résultats

18

J'ai un ensemble de données sur les essais agricoles. Ma variable de réponse est un rapport de réponse: log (traitement / contrôle). Je m'intéresse à ce qui intervient dans la différence, donc je lance des méta-régressions RE (non pondérées, car il semble assez clair que la taille de l'effet n'est pas corrélée avec la variance des estimations).

Chaque étude rapporte le rendement en grains, le rendement en biomasse ou les deux. Je ne peux pas imputer le rendement en céréales à partir d'études qui rapportent uniquement le rendement en biomasse, car toutes les plantes étudiées n'étaient pas utiles pour le grain (la canne à sucre est incluse, par exemple). Mais chaque plante qui produisait du grain avait aussi de la biomasse.

Pour les covariables manquantes, j'ai utilisé l'imputation par régression itérative (suivant le chapitre du manuel d'Andrew Gelman). Il semble donner des résultats raisonnables et l'ensemble du processus est généralement intuitif. Fondamentalement, je prédis les valeurs manquantes, et j'utilise ces valeurs prédites pour prédire les valeurs manquantes, et je passe en revue chaque variable jusqu'à ce que chaque variable converge approximativement (dans la distribution).

Y a-t-il une raison pour laquelle je ne peux pas utiliser le même processus pour imputer des données de résultats manquantes? Je peux probablement former un modèle d'imputation relativement informatif pour le taux de réponse de la biomasse compte tenu du taux de réponse des grains, du type de culture et d'autres covariables que j'ai. Je ferais ensuite la moyenne des coefficients et des VCV, et j'ajouterais la correction MI selon la pratique standard.

Mais que mesurent ces coefficients lorsque les résultats eux-mêmes sont imputés? L'interprétation des coefficients est-elle différente de l'IM standard pour les covariables? En y réfléchissant, je ne peux pas me convaincre que cela ne fonctionne pas, mais je ne suis pas vraiment sûr. Les réflexions et suggestions de lecture sont les bienvenues.

utilisateur_générique
la source
Je n'ai pas la réponse, mais une question et deux notes: 1) le journal d'un rapport est, bien sûr, la différence de journaux. Votre DV équivaut donc à log (traitement) - log (contrôle). 2) Quel manuel de Gelman regardiez-vous?
Peter Flom - Réintègre Monica
Oui, le DV est équivalent à log (treatment) -log (control). Je fonde l'imputation de régression itérative sur le chapitre (non technique) sur les données manquantes que Gelman a publié en ligne: stat.columbia.edu/~gelman/arm/missing.pdf
generic_user
On m'a dit que l'imputation du résultat entraîne une erreur de Monte Carlo. J'essaierai de trouver un lien plus tard. N'oubliez pas que vous devez vous assurer d'inclure le résultat dans les modèles d'imputation des covariables.
DL Dahly

Réponses:

20

Comme vous le soupçonniez, il est valide d'utiliser l'imputation multiple pour la mesure des résultats. Il y a des cas où cela est utile, mais cela peut aussi être risqué. Je considère la situation où toutes les covariables sont complètes et le résultat incomplet.

Si le modèle d'imputation est correct, nous obtiendrons des inférences valides sur les estimations des paramètres à partir des données imputées. Les inférences obtenues à partir des seuls cas complets peuvent en fait être fausses si le manque est lié au résultat après conditionnement sur le prédicteur, c'est-à-dire sous MNAR. L'imputation est donc utile si nous savons (ou soupçonnons) que les données sont MNAR.

Dans le cadre du MAR, il n'y a généralement aucun avantage à imputer le résultat, et pour un petit nombre d'imputations, les résultats peuvent même être un peu plus variables en raison d'une erreur de simulation. Il y a une exception importante à cela. Si nous avons accès à une variable auxiliaire complète qui ne fait pas partie du modèle et qui est fortement corrélée avec le résultat, l'imputation peut être considérablement plus efficace qu'une analyse de cas complète, ce qui donne des estimations plus précises et des intervalles de confiance plus courts. Un scénario courant où cela se produit est si nous avons une mesure de résultat bon marché pour tout le monde et une mesure coûteuse pour un sous-ensemble.

Dans de nombreux ensembles de données, des données manquantes se produisent également dans les variables indépendantes. Dans ces cas, nous devons imputer la variable de résultat, car sa version imputée est nécessaire pour imputer les variables indépendantes.

Stef van Buuren
la source
Merci, cela correspond à mon intuition, mais pourriez-vous peut-être partager un lien vers une étude publiée bien faite qui impute des variables dépendantes? L'une des principales raisons pour lesquelles je souhaite imputer les mesures de résultats est d'augmenter la taille de l'échantillon (d'environ 250 à environ 450), afin de faciliter les termes d'interaction des produits tensoriels semi-paramétriques dans les GAM qui ont des exigences df très élevées (avant pénalisé, abaissant edf). MAR est raisonnable dans mon cas.
generic_user
1
Il a été largement pratiqué par l'ANOVA pour obtenir des conceptions équilibrées. Voir l'introduction de RJA Little, Régression avec des X manquants, JASA 1992. Je suppose que vous savez que l'augmentation de la taille de l'échantillon de cette manière ne vous aide pas à obtenir des estimations plus précises. Pour le cas des variables auxiliaires, lisez la section sur la super-efficacité dans DB Rubin, Imputation multiple après 18 ans et plus, JASA 1996.
Stef van Buuren
1
"Sous MAR, il n'y a généralement aucun avantage à imputer le résultat" - j'ai déjà vu cela mentionné auparavant, mais je n'ai aucune référence pour cela - pouvez-vous en fournir un s'il vous plaît?
Robert Long
Je pense que vous pouvez citer Little 1992 tandfonline.com/doi/abs/10.1080/01621459.1992.10476282 pour cela, mais veuillez noter les exceptions.
Stef van Buuren
1
@StefvanBuuren - réponse utile pour la plupart, mais je crois comprendre que "si nous savons (ou soupçonnons) que les données sont MNAR", l'imputation ne peut pas résoudre nos problèmes plus qu'une analyse de cas complète ne le peut. Cela semble tomber dans la catégorie «pas de déjeuner gratuit».
rolando2
2

L'imputation des données de résultat est très courante et conduit à une inférence correcte lors de la prise en compte de l'erreur aléatoire.

Cela ressemble à ce que vous faites est une imputation unique, en imputant les valeurs manquantes avec une moyenne conditionnelle dans le cadre d'une analyse de cas complète. Ce que vous devriez faire, c'est une imputation multiple qui, pour des covariables continues, explique l'erreur aléatoire que vous auriez observée si vous aviez mesuré rétroactivement ces valeurs manquantes. L'algorithme EM fonctionne de manière similaire en faisant la moyenne sur une gamme de résultats observés possibles.

L'imputation unique donne une estimation correcte des paramètres du modèle lorsqu'il n'y a pas de relation moyenne-variance, mais elle donne des estimations d'erreur standard qui sont biaisées vers zéro, gonflant les taux d'erreur de type I. En effet, vous avez été "optimiste" quant à l'ampleur des erreurs que vous auriez pu observer si vous aviez mesuré ces facteurs.

L'imputation multiple est un processus de génération itérative d'erreur additive pour l'imputation moyenne conditionnelle, de sorte que grâce à 7 ou 8 imputations simulées, vous pouvez combiner les modèles et leurs erreurs pour obtenir des estimations correctes des paramètres du modèle et de leurs erreurs standard. Si vous avez conjointement des covariables et des résultats manquants, il existe des logiciels en SAS, STATA et R appelés imputation multiple via des équations chaînées où des ensembles de données "terminés" (ensembles de données avec des valeurs imputées qui sont traitées comme fixes et non aléatoires) sont générés, modélisez paramètres estimés à partir de chaque ensemble de données complet, et leurs estimations de paramètres et erreurs standard combinées en utilisant une formation mathématique correcte (détails dans l'article de Van Buuren).

La légère différence entre le processus dans l'IM et le processus que vous avez décrit est que vous n'avez pas tenu compte du fait que l'estimation de la distribution conditionnelle du résultat à l'aide de données imputées dépendra de l'ordre dans lequel vous imputez certains facteurs. Vous devriez avoir estimé la distribution conditionnelle des covariables manquantes conditionnant le résultat dans l'IM, sinon vous obtiendrez des estimations de paramètres biaisées.

AdamO
la source
Merci. Tout d'abord, je programme tout à partir de zéro dans R, sans utiliser MICE ou MI. Deuxièmement, j'attribue des tirages d'une distribution prédictive (modélisée), pas seulement des attentes conditionnelles. Est-ce de cela dont vous parlez au deuxième paragraphe? Sinon, j'apprécierais des éclaircissements. De plus, de quel document Royston parlez-vous? Pour votre dernier point - dites-vous quelque chose de plus compliqué que «vous devriez mettre votre variable dépendante dans le modèle d'imputation»? Dans l'affirmative, j'apprécierais grandement les éclaircissements.
generic_user
Enfin - je ne fais pas d'imputation unique. J'ajuste 30 modèles avec des données remplies et j'utilise la formule V_b = W + (1 + 1 / m) B de Rubin.
generic_user
Le document Royston était hyperlié. Je voulais en fait lier celui de Van Buuren qui a implémenté le programme en R et inclut des détails de calcul: doc.utwente.nl/78938 MICE / MI est un processus. Si vous imputez sur la base de code maison, vous devriez mieux élaborer sur les détails. Moyenne conditionnelle = valeurs prévues si le modèle est correct (ou approximativement, une hypothèse nécessaire). C'est plus compliqué que «ajouter le résultat», c'est que vous imputez plusieurs modèles manquants (au moins 3, covariable manquant / résultat / manquant conjointement).
AdamO
Si vous imputez individuellement la valeur prédite 30 fois, vous devriez obtenir les mêmes résultats 30 fois. Comment estimez-vous l'erreur?
AdamO
C'est un algorithme assez simple - disons que j'observe a, b, c et d avec un certain manque. Je remplis les quatre avec des tirages aléatoires (avec remplacement) à partir des valeurs observées. Ensuite, je modélise imp = lm (a ~ b * + c * + d *) où * indique rempli, puis x = prédire (imp, se.fit = TRUE), y = rnorm (N, impFjet,jempse.fit). Je fais ensuite a * = y, puis je fais imp = lm (b ~ a * + c * + d *), je prédis la même manière, et ainsi de suite. Je boucle 50 fois l'ensemble des variables. Tout cela provient du chapitre du manuel d'Andrew Gelman que j'ai lié ci-dessus, et c'est aussi pourquoi je n'obtiens pas le même résultat à chaque fois.
generic_user