técnicas de aprendizado de máquina para dados longitudinais

11

Fiquei me perguntando se havia alguma técnica de aprendizado de máquina (não supervisionada) para modelar dados longitudinais? Eu sempre usei modelos de efeitos mistos (principalmente não lineares), mas queria saber se existem outras maneiras de fazer isso (usando o aprendizado de máquina).

Por aprendizado de máquina, quero dizer floresta aleatória, classificação / agrupamento, árvores de decisão e até aprendizado profundo, etc.

John_dydx
fonte
Você pode definir o que você quer dizer com "aprendizado de máquina"? Você pode impulsionar um LME após a estratificação apropriada. Isso seria realmente uma novidade!
precisa saber é o seguinte
@ usεr11852, adicionei mais explicações à pergunta - espero que isso esclareça um pouco mais.
precisa saber é o seguinte
Ah ... então aumentar não é ML de acordo com sua definição. Legal Obrigado pelo esclarecimento, esperamos que receba alguma atenção em breve.
precisa saber é o seguinte
... e aumentando também.
precisa saber é o seguinte
3
Esta questão parece bastante vaga. "Aprendizado de máquina" é um termo amplo, e até as categorias de "floresta aleatória, classificação / agrupamento, árvores de decisão e até aprendizado profundo, etc." são razoavelmente amplos. Existe um aplicativo claro em que você está interessado? Se, por exemplo, você precisar classificar saída dicotômica, poderá usar um modelo de efeitos mistos logísticos ou um GEE logístico. Aprendizado de máquina e modelos estatísticos não são necessariamente coisas diferentes.
Jon

Respostas:

7

No caso em que há várias observações de um sujeito (por exemplo, várias visitas do mesmo paciente), o 'ID do paciente' é uma variável de 'agrupamento'. Cuidados devem ser tomados durante a avaliação do modelo, para que as visitas do mesmo paciente não apareçam nos dados de treinamento e teste, porque eles estão correlacionados e levarão à inflação da precisão do classificador .

A documentação do sklearn de validação cruzada possui iteradores de validação cruzada para dados agrupados. Consulte GroupKFold , LeaveOneGroupOut e LeavePGroupsOut .

Melhor ainda, tente redes neurais recorrentes ou modelos de Markov ocultos .

user0
fonte
4

Você pode modelar sua longitudinal com métodos padrão de aprendizado de máquina, apenas adicionando recursos que representam a longitudinalidade, por exemplo, adicionando um recurso que representa o tempo. Ou um recurso que indica a associação a um grupo, pessoa etc. (no caso de dados do painel).

Se você é criativo com a criação / extração de recursos, pode modelar qualquer coisa com algoritmos ML.

PhilippPro
fonte
1
@PhlippePro, estou um pouco confuso com esta resposta. (1) E se você quiser prever uma pessoa que não está no seu conjunto de treinamento? Você só tem coeficientes para aqueles em seu conjunto de treinamento, certo? (2) A adição de um recurso que corresponda a pessoa pode resultar em até 100.000 novas variáveis ​​fictícias, supondo que você tenha 100.000 pessoas em seu conjunto de dados. Esses novos recursos seriam adequados ao lado dos originais?
usar o seguinte comando
(1) Se você não possui as pessoas que deseja prever no seu conjunto de dados de treinamento, não pode usar o "recurso de pessoa", isso está correto. (2) Em vez de criar recursos fictícios, você pode criar um recurso "categórico" (por exemplo, você os especifica como categóricos com as.factor em R). Alguns algoritmos não podem lidar com tantas categorias (como, por exemplo, randomForest só pode lidar com aproximadamente 50), então você realmente precisa especificá-los como variáveis ​​fictícias e pode obter (também) muitos recursos, como apontou.
PhilippPro
O ML não traduzir tão facilmente em dados longitudinais
Aksakal