Dois mundos se chocam: o uso do ML para dados complexos de pesquisas

14

Estou impressionado com um problema aparentemente fácil, mas não encontro uma solução adequada há várias semanas.

Tenho muitos dados de pesquisas / pesquisas (dezenas de milhares de participantes, digamos 50 mil por conjunto de dados), provenientes de algo que, espero, é chamado de pesquisa complexamente projetada, com pesos, estratificação, roteamento específico e assim por diante. Para cada entrevistado, existem centenas de variáveis, como dados demográficos (idade, região ...) e, em seguida, principalmente variáveis ​​binárias (no máximo, categóricas).

Sou mais do conhecimento em ciência da computação / aprendizado de máquina e tive que aprender muito sobre estatística e metodologia clássica de pesquisa . Agora, quero aplicar o aprendizado de máquina clássico a esses dados (por exemplo, prever alguns valores ausentes para um subconjunto de respondentes - basicamente tarefa de classificação). Mas, segure e eis que não consigo encontrar uma maneira adequada de fazer isso. Como devo incorporar esses estratos, pesos ou roteamento (como: se a pergunta 1 respondeu com a opção 2, faça a pergunta 3, caso contrário, ignore)?

Simplesmente aplicar meus modelos (árvores, regressão logística, SVM, XGBoost ...) parece perigoso (e, na maioria dos casos, eles falham), pois eles geralmente assumem que os dados são provenientes de amostra aleatória simples ou iid.

Muitos métodos, pelo menos, têm pesos, mas isso não ajuda muito. Além disso, não está claro como devo combinar classes e pesos desequilibrados dados pela definição da pesquisa, sem falar sobre essas coisas de estratificação. Além disso, os modelos de resultados devem ser bem calibrados - a distribuição prevista deve estar muito próxima da original. O bom desempenho da previsão não é o único critério aqui. Alterei a métrica de otimização para levar isso em consideração também (como a distância da distribuição prevista da verdadeira distribuição + precisão / MCC) e ajudou em alguns casos, por que prejudicar o desempenho em outros.

Existe alguma maneira canônica de como lidar com esse problema? Parece uma área de pesquisa muito subestimada para mim. Muitas pesquisas da OMI poderiam se beneficiar do poder da ML, mas não há fontes. Como estes são dois mundos que não interagem entre si.

O que eu encontrei até agora:

Perguntas relacionadas ao CV, mas nenhuma delas contém nenhuma resposta útil sobre como abordar isso (ou nenhuma resposta, não o que peço ou apresentar recomendações enganosas):

kotrfa
fonte
Você pode definir o que quer dizer com " falha na maioria dos casos "? Como você julga o sucesso de um modelo nesse cenário atual?
usεr11852 diz Reinstate Monic 30/10/16
Eles não estão nem perto da distribuição original ou parece absurdo executá-los (por exemplo, quando há roteamento incluído).
kotrfa

Respostas:

3

( Atualização: ainda não há muito trabalho sobre métodos de ML "modernos" com dados complexos de pesquisa, mas a edição mais recente da Statistical Science tem alguns artigos de revisão. Veja especialmente Breidt e Opsomer (2017), "Model-Assisted Estimativa de pesquisas com técnicas modernas de previsão " .

Além disso, com base no artigo de Toth e Eltinge que você mencionou, agora existe um pacote Rpms implementando o CART para dados de pesquisas complexas.)

Agora, quero aplicar o aprendizado de máquina clássico a esses dados (por exemplo, prever alguns valores ausentes para um subconjunto de respondentes - basicamente tarefa de classificação).

Não sou totalmente claro sobre seu objetivo. Você está principalmente tentando imputar as observações ausentes, apenas para ter um conjunto de dados "completo" para fornecer a outra pessoa? Ou você já possui dados completos e deseja criar um modelo para prever / classificar as respostas das novas observações? Você tem uma pergunta específica a ser respondida com o (s) seu (s) modelo (s), ou está pesquisando mais amplamente?

Em ambos os casos, a regressão logística de pesquisa de amostra complexa / ponderada por pesquisa é um método razoável e bem compreendido. Também há regressão ordinal para mais de 2 categorias. Isso será responsável por estratos e pesos da pesquisa. Você precisa de um método de ML mais sofisticado que esse?

Por exemplo, você pode usar svyglmno surveypacote de R. Mesmo se você não usar R, o autor do pacote, Thomas Lumley, também escreveu um livro útil "Pesquisas complexas: um guia para análise usando R", que abrange tanto a regressão logística quanto os dados ausentes para pesquisas.

(Para imputação, espero que você já esteja familiarizado com problemas gerais relacionados à falta de dados. Caso contrário, analise abordagens como imputação múltipla para ajudá-lo a explicar como a etapa de imputação afeta suas estimativas / previsões.)

O encaminhamento de perguntas é realmente um problema adicional. Não sei bem como lidar com isso. Para imputação, talvez você possa imputar uma "etapa" no roteamento por vez. Por exemplo, usando um modelo global, primeiro imputa a resposta de todos a "Quantos filhos você tem?"; em seguida, execute um novo modelo na subpopulação relevante (pessoas com mais de 0 filhos) para atribuir a próxima etapa de "Quantos anos seus filhos têm?"

civilstat
fonte