Je suis frappé par un problème apparemment facile, mais je n'ai pas trouvé de solution appropriée depuis plusieurs semaines maintenant.
J'ai beaucoup de données de sondages / enquêtes (des dizaines de milliers de répondants, disons 50 000 par ensemble de données), provenant de quelque chose que j'espère s'appeler une enquête de conception complexe avec des poids, une stratification, un routage spécifique, etc. Pour chaque répondant, il existe des centaines de variables telles que les données démographiques (âge, région ...) puis principalement des variables binaires (tout au plus catégoriques).
Je viens plus de l'informatique / de l'apprentissage machine et j'ai dû apprendre beaucoup sur les statistiques et la méthodologie des enquêtes classiques . Maintenant, je veux appliquer l'apprentissage automatique classique à ces données (par exemple, prédire certaines valeurs manquantes pour un sous-ensemble de répondants - essentiellement une tâche de classification). Mais, maintenez et voyez, je ne peux pas trouver un moyen approprié de le faire. Comment dois-je intégrer ces strates, ces pondérations ou ces routages (comme: si la question 1 a répondu avec l'option 2, posez la question 3, sinon sautez-la)?
Le simple fait d'appliquer mes modèles (arbres, régression logistique, SVM, XGBoost ...) semble dangereux (et ils échouent dans la plupart des cas), car ils supposent généralement que les données proviennent d'un simple échantillon aléatoire ou iid.
Beaucoup de méthodes ont au moins des poids, mais cela n'aide pas beaucoup. De plus, il n'est pas clair comment je devrais combiner les classes déséquilibrées et les poids donnés par la définition de l'enquête ensemble, sans parler de ces éléments de stratification. De plus, les modèles de résultats doivent être bien calibrés - la distribution prévue doit être très proche de celle d'origine. Une bonne performance de prédiction n'est pas le seul critère ici. J'ai changé la métrique d'optimisation pour en tenir compte également (comme la distance de la distribution prédite par rapport à la vraie distribution + précision / MCC) et cela a aidé dans certains cas, à paralyser les performances dans d'autres.
Existe-t-il un moyen canonique de résoudre ce problème? Cela me semble être un domaine de recherche très sous-estimé. De nombreuses enquêtes de l'OMI pourraient bénéficier du pouvoir de ML, mais il n'y a pas de sources. Comme ce sont deux mondes qui n'interagissent pas l'un avec l'autre.
Ce que j'ai trouvé jusqu'à présent:
- http://civilstat.com/2014/08/statistical-modeling-the-two-cultures-breiman/
Par exemple, je ne connais encore qu'un seul article (Toth et Eltinge, 2011) sur la façon de faire des arbres de régression lorsque vos données proviennent d'une enquête par sondage complexe.
- http://ccsg.isr.umich.edu/index.php/chapters/statistical-analysis-chapter#nine
Dans une méta-analyse récente de 150 articles de recherche échantillonnés analysant plusieurs enquêtes avec des plans d'échantillonnage complexes, il a été constaté que les erreurs analytiques causées par l'ignorance ou l'utilisation incorrecte des caractéristiques de plan d'échantillonnage complexes étaient fréquentes.
- https://www.fhwa.dot.gov/2015datapalooza/presentations/PolicyDev.4_Pierce.pdf
Questions liées au CV, mais aucune d'entre elles ne contient de réponse utilisable sur la façon d'aborder cela (soit aucune réponse, pas ce que je demande, soit des recommandations trompeuses):
- Analyse appariée avec des données d'enquête complexes
- Apprentissage automatique avec des données d'enquête pondérées / complexes
- Validation croisée après LASSO dans des données d'enquête complexes
- Séparation en régression logistique dans une enquête complexe?
- Ajustement de modèles multiniveaux à des données d'enquête complexes dans R
Réponses:
( Mise à jour: Il n'y a pas encore beaucoup de travail sur les méthodes de ML "modernes" avec des données d'enquête complexes, mais le dernier numéro de Statistical Science contient quelques articles de synthèse . Voir en particulier Breidt et Opsomer (2017), "Model-Assisted" Estimation de l'enquête avec les techniques modernes de prévision " .
En outre, sur la base du document Toth et Eltinge que vous avez mentionné, il existe maintenant un package R rpms implémentant CART pour les données d'enquête complexes.)
Je ne suis pas tout à fait clair sur votre objectif. Essayez-vous principalement d'imputer des observations manquantes, simplement pour avoir un ensemble de données «complet» à transmettre à quelqu'un d'autre? Ou avez-vous déjà des données complètes et vous souhaitez construire un modèle pour prédire / classer les réponses des nouvelles observations? Avez-vous une question particulière à laquelle répondre avec vos modèles, ou explorez-vous les données plus largement?
Dans les deux cas, la régression logistique à sondage complexe / pondérée par enquête est une méthode raisonnable et assez bien comprise. Il existe également une régression ordinale pour plus de 2 catégories. Ceux-ci prendront en compte les strates et les poids d'enquête. Avez-vous besoin d'une méthode ML plus sophistiquée que celle-ci?
Par exemple, vous pouvez utiliser
svyglm
dans lesurvey
package de R. Même si vous n'utilisez pas R, l'auteur du package, Thomas Lumley, a également écrit un livre utile "Complex Surveys: A Guide to Analysis Using R" qui couvre à la fois la régression logistique et les données manquantes pour les enquêtes.(Pour l'imputation, j'espère que vous connaissez déjà les problèmes généraux concernant les données manquantes. Sinon, examinez des approches telles que l'imputation multiple pour vous aider à expliquer comment l'étape d'imputation affecte vos estimations / prévisions.)
L'acheminement des questions est en effet un problème supplémentaire. Je ne sais pas comment y faire face au mieux. Pour l'imputation, vous pouvez peut-être imputer une «étape» du routage à la fois. Par exemple, en utilisant un modèle mondial, imputez d'abord la réponse de chacun à "Combien d'enfants avez-vous?"; puis exécutez un nouveau modèle sur la sous-population pertinente (personnes avec plus de 0 enfants) pour imputer la prochaine étape de "Quel âge ont vos enfants?"
la source