Dos mundos chocan: uso de ML para datos de encuestas complejas

14

Me llamó la atención un problema aparentemente fácil, pero no he encontrado una solución adecuada durante varias semanas.

Tengo bastantes datos de encuestas / encuestas (decenas de miles de encuestados, digamos 50k por conjunto de datos), provenientes de algo que espero se llame encuesta de diseño complejo con pesos, estratificación, enrutamiento específico, etc. Para cada encuestado, hay cientos de variables como la demografía (edad, región ...) y luego, principalmente, variables binarias (como máximo, categóricas).

Vengo más de los conocimientos de informática / aprendizaje automático y tuve que aprender mucho sobre estadísticas y metodología de encuestas clásicas . Ahora quiero aplicar el aprendizaje automático clásico a esos datos (por ejemplo, predecir algunos valores faltantes para el subconjunto de encuestados, básicamente tarea de clasificación). Pero, espera y mira, no puedo encontrar una manera adecuada de cómo hacerlo. ¿Cómo debo incorporar esos estratos, pesos o rutas (como: si la pregunta 1 respondió con la opción 2, haga la pregunta 3, de lo contrario, omítala)?

Simplemente aplicar mis modelos (árboles, regresión logística, SVM, XGBoost ...) parece peligroso (y fallan en la mayoría de los casos), ya que generalmente asumen que los datos provienen de una muestra aleatoria simple o iid.

Muchos métodos al menos tienen pesos, pero no ayuda mucho. Además, no está claro cómo debo combinar las clases desequilibradas y los pesos dados por la definición de la encuesta juntos, sin hablar de esas cosas de estratificación. Además, los modelos de resultados deben estar bien calibrados: la distribución prevista debe estar muy cerca de la original. El buen desempeño de la predicción no es el único criterio aquí. Cambié la métrica de optimización para tener en cuenta esto también (como la distancia de distribución prevista de la distribución verdadera + precisión / MCC) y ayudó en algunos casos, por qué paralizar el rendimiento en otros.

¿Hay alguna forma canónica de cómo lidiar con este problema? Parece un área de investigación muy poco apreciada para mí. En mi opinión, muchas encuestas podrían beneficiarse del poder de ML, pero no hay fuentes. Como estos son dos mundos que no interactúan entre sí.

Lo que he encontrado hasta ahora:

Preguntas relacionadas con el CV, pero ninguna de ellas contiene una respuesta útil sobre cómo abordar esto (ya sea sin respuesta, no es lo que pido o no presento recomendaciones engañosas):

kotrfa
fuente
¿Puedes definir qué quieres decir con " fallar en la mayoría de los casos "? ¿Cómo juzga el éxito de una modelo en este entorno actual?
usεr11852 dice Reinstate Monic el
Ni siquiera están cerca de la distribución original o parece absurdo ejecutarlos (por ejemplo, cuando hay enrutamiento incluido).
kotrfa

Respuestas:

3

( Actualización: todavía no hay mucho trabajo sobre métodos de ML "modernos" con datos de encuestas complejas, pero el número más reciente de Statistical Science tiene un par de artículos de revisión. Ver especialmente Breidt y Opsomer (2017), "Model-Assisted Encuesta de estimación con técnicas modernas de predicción " .

Además, según el documento de Toth y Eltinge que mencionó, ahora hay un paquete R rms que implementa CART para datos de encuestas complejas).

Ahora quiero aplicar el aprendizaje automático clásico a esos datos (por ejemplo, predecir algunos valores faltantes para el subconjunto de encuestados, básicamente tarea de clasificación).

No tengo completamente claro tu objetivo. ¿Está tratando principalmente de imputar las observaciones faltantes, solo para tener un conjunto de datos "completo" para dar a alguien más? ¿O ya tiene datos completos y desea construir un modelo para predecir / clasificar las respuestas de las nuevas observaciones? ¿Tiene alguna pregunta en particular que responder con su (s) modelo (s) o está explotando datos de manera más amplia?

En cualquier caso, la regresión logística ponderada por muestreo / encuesta compleja es un método razonable y bastante bien entendido. También hay regresión ordinal para más de 2 categorías. Estos darán cuenta de estratos y pesos de encuestas. ¿Necesita un método ML más elegante que este?

Por ejemplo, podría usar svyglmen el surveypaquete de R. Incluso si no usa R, el autor del paquete, Thomas Lumley, también escribió un libro útil "Encuestas complejas: una guía para el análisis usando R" que cubre tanto la regresión logística como los datos faltantes para las encuestas.

(Para la imputación, espero que ya esté familiarizado con los problemas generales relacionados con la falta de datos. De lo contrario, busque enfoques como la imputación múltiple para ayudarlo a explicar cómo el paso de imputación afecta sus estimaciones / predicciones).

El enrutamiento de preguntas es de hecho un problema adicional. No estoy seguro de la mejor manera de lidiar con eso. Para la imputación, quizás pueda imputar un "paso" en la ruta a la vez. Por ejemplo, utilizando un modelo global, primero impute la respuesta de todos a "¿Cuántos hijos tiene?"; luego ejecute un nuevo modelo en la subpoblación relevante (personas con más de 0 hijos) para imputar el siguiente paso de "¿Cuántos años tienen sus hijos?"

civilstat
fuente