techniques d'apprentissage automatique pour les données longitudinales

11

Je me demandais s'il y avait des techniques d'apprentissage automatique (non supervisées) pour modéliser des données longitudinales? J'ai toujours utilisé des modèles d'effets mixtes (principalement non linéaires) mais je me demandais s'il y avait d'autres façons de le faire (en utilisant l'apprentissage automatique).

Par apprentissage automatique, je veux dire forêt aléatoire, classification / clustering, arbres de décision et même apprentissage en profondeur, etc.

John_dydx
la source
Pouvez-vous définir ce que vous entendez par "apprentissage automatique"? Vous pouvez augmenter un LME après une stratification appropriée. Ce serait plutôt joli roman en fait!
usεr11852
@ usεr11852, j'ai ajouté un peu plus d'explications à la question - j'espère que cela clarifiera un peu plus.
John_dydx
Ah ... donc le boost n'est pas du ML selon votre définition. Cool Merci pour la clarification, j'espère que cela attirera bientôt l'attention.
usεr11852
... et booster aussi.
John_dydx
3
Cette question semble assez vague. "L'apprentissage automatique" est un terme large, et même les catégories de "forêt aléatoire, classification / clustering, arbres de décision et même apprentissage en profondeur, etc." sont assez larges. Y a-t-il une application claire qui vous intéresse? Si, par exemple, vous devez classer une sortie dichotomique, vous pouvez utiliser un modèle logistique à effets mixtes ou un GEE logistique. L'apprentissage automatique et les modèles statistiques ne sont pas nécessairement différents.
Jon

Réponses:

7

Dans le cas où il y a plusieurs observations d'un sujet (par exemple, plusieurs visites du même patient), l'ID du patient est une variable de «regroupement». Des précautions doivent être prises lors de l'évaluation du modèle afin que les visites du même patient n'apparaissent pas à la fois dans les données de formation et de test, car elles sont corrélées et conduiront à un gonflement de la précision du classificateur .

La documentation Sklearn de validation croisée contient des itérateurs de validation croisée pour les données groupées. Voir GroupKFold , LeaveOneGroupOut et LeavePGroupsOut .

Encore mieux, essayez les réseaux de neurones récurrents ou les modèles de Markov cachés .

user0
la source
4

Vous pouvez modéliser votre longitudinal avec des méthodes d'apprentissage automatique standard en ajoutant simplement des fonctionnalités qui représentent la longitudinalité, par exemple en ajoutant une fonctionnalité qui représente le temps. Ou une fonctionnalité qui indique l'appartenance à un groupe, une personne, etc. (dans le cas des données du panneau).

Si vous êtes créatif avec la création / extraction de fonctionnalités, vous pouvez modéliser n'importe quoi avec des algorithmes ML.

PhilippPro
la source
1
@PhlippePro, je suis un peu confus à propos de cette réponse. (1) Que se passe-t-il si vous souhaitez prévoir pour une personne ne faisant pas partie de votre ensemble d'entraînement? Vous n'avez que des coefficients pour ceux de votre formation, non? (2) L'ajout d'une fonctionnalité qui correspond à une personne peut entraîner l'ajout de 100 000 nouvelles variables factices, en supposant que votre ensemble de données compte 100 000 personnes. Ces nouvelles fonctionnalités seraient juste adaptées aux côtés des originales?
user0
(1) Si vous n'avez pas les personnes que vous souhaitez prédire dans votre jeu de données d'entraînement, vous ne pouvez pas utiliser la "fonction personne", c'est exact. (2) Au lieu de créer des fonctions factices, vous pouvez créer une fonction "catégorielle" (par exemple, vous les spécifiez comme catégoriques avec as.factor dans R). Certains algorithmes ne peuvent pas gérer autant de catégories (comme par exemple randomForest ne peut en gérer qu'environ 50), alors vous devez vraiment les spécifier en tant que variables factices et vous pouvez obtenir (trop) de nombreuses fonctionnalités, comme vous l'avez souligné.
PhilippPro
ML ne se traduit pas si facilement en données longitudinales
Aksakal