Presque toutes les bases de données que nous voulons faire des prédictions à l'aide d'algorithmes d'apprentissage automatique trouveront des valeurs manquantes pour certaines caractéristiques.
Il existe plusieurs approches pour résoudre ce problème, pour exclure les lignes qui ont des valeurs manquantes jusqu'à ce qu'elles se remplissent avec les valeurs moyennes des caractéristiques.
Je voudrais utiliser pour une approche un peu plus robuste, qui exécuterait essentiellement une régression (ou une autre méthode) où la variable dépendante (Y) serait chacune des colonnes qui ont des valeurs manquantes mais uniquement avec les lignes du tableau qui contiennent toutes les données et prédisent les valeurs manquantes avec cette méthode, complétez le tableau par le tableau et passez à la «colonne» suivante avec des valeurs manquantes et répétez la méthode jusqu'à ce que tout soit rempli.
Mais cela me donne quelques doutes.
Pourquoi un début de colonne? Je crois que celui avec les plus petites valeurs manquantes jusqu'à celui avec le plus
Y a-t-il un seuil de valeurs manquantes qui ne vaut pas la peine d'être complété? (par exemple, si cette caractéristique n'a que 10% des valeurs renseignées, ne serait-il pas plus intéressant de l'exclure)
Existe-t-il une sorte d'implémentation dans les packages traditionnels ou d'autres méthodes robustes aux manquements?
Amelia II
dans R est un choix solide. Ou vous pouvez rouler le vôtre en utilisantstan
.Réponses:
La technique que vous décrivez est appelée imputation par régressions séquentielles ou imputation multiple par équations chaînées. La technique a été lancée par Raghunathan (2001) et mise en œuvre dans un package R fonctionnant bien appelé
mice
(van Buuren, 2012).Un article de Schafer et Graham (2002) explique bien pourquoi l'imputation moyenne et la suppression par liste (ce que vous appelez l'exclusion de ligne) ne sont généralement pas de bonnes alternatives aux techniques mentionnées ci-dessus. L'imputation moyenne n'est généralement pas conditionnelle et peut donc biaiser les distributions imputées vers la moyenne observée. Cela réduira également la variance, entre autres effets indésirables sur la distribution imputée. En outre, la suppression par liste ne fonctionnera en effet que si les données manquent complètement de manière aléatoire, comme par le coup d'une pièce. Cela augmentera également l'erreur d'échantillonnage, car la taille de l'échantillon est réduite.
Les auteurs cités ci-dessus recommandent généralement de commencer par la variable présentant le moins de valeurs manquantes. De plus, la technique est généralement appliquée de manière bayésienne (c'est-à-dire une extension de votre suggestion). Les variables sont visitées plus souvent dans la procédure d'imputation, pas une seule fois. En particulier, chaque variable est complétée par des tirages de sa distribution prédictive postérieure conditionnelle, en commençant par la variable présentant le moins de valeurs manquantes. Une fois que toutes les variables d'un ensemble de données sont terminées, l'algorithme recommence à la première variable, puis réitère jusqu'à convergence. Les auteurs ont montré que cet algorithme est de Gibbs, donc il converge généralement vers la distribution multivariée correcte des variables.
Habituellement, car certaines hypothèses non vérifiables sont impliquées, en particulier les données manquantes au hasard (c'est-à-dire si les données sont observées ou non dépendent uniquement des données observées et non des valeurs non observées). Les procédures peuvent également être partiellement incompatibles, c'est pourquoi elles ont été appelées PIGS (échantillonneur Gibbs partiellement incompatible).
Dans la pratique, l'imputation multiple bayésienne est toujours un bon moyen de traiter les problèmes de données manquantes non monotones multivariées. De plus, des extensions non paramétriques telles que l'appariement moyen prédictif aident à assouplir les hypothèses de modélisation de régression.
Raghunathan, TE, Lepkowski, J., van Hoewyk, J., et Solenberger, P. (2001). Une technique multivariée pour multiplier l'imputation des valeurs manquantes à l'aide d'une séquence de modèles de régression. Techniques d'enquête, 27 (1), 85–95.
Schafer, JL et Graham, JW (2002). Données manquantes: Notre vision de l'état de l'art. Psychological Methods, 7 (2), 147–177. https://doi.org/10.1037/1082-989X.7.2.147
van Buuren, S. (2012). Imputation flexible des données manquantes. Boca Raton: CRC Press.
la source
mice
algorithme utilise soit une régression, soit une correspondance moyenne prédictive. Vous complétez initialement les données manquantes par des tirages à partir de la distribution observée, puis imputez séquentiellement. Une fois terminé, vous répétez, mais en utilisant les nouvelles valeurs imputées. Les nouvelles données participent, ouiJe n'ai rien trouvé qui a résolu mon problème, j'ai donc écrit une fonction qui mélange des solutions à une trame de données Pandas avec des valeurs numériques manquantes (avec fancyimpute) et catégorique (avec une forêt aléatoire).
la source
R
fonctionmice
, Stef van Buuren. Il peut être intéressé par votre code Python et / ou vous indiquer le travail d'autres personnes à cet égard. stefvanbuuren.nlBien que généralement plus impliqué, vous pouvez essayer de créer une distribution d'entropie maximale en fonction des données dont vous disposez.
http://proceedings.mlr.press/v5/huang09a/huang09a.pdf
la source