Dans un article précédent, j'ai utilisé la plateforme de régression généralisée (Genreg) dans JMPPro à analyser les données que j'ai recueillies en jouant à un jeu de société avec ma fille . Comme il n'y avait qu'un seul effet dans mon modèle (Player), je n'ai pas pu montrer les méthodes de sélection de variables disponibles dans Genreg.
Avoir accès à des méthodes de sélection de variables comme le lasso ou la sélection directe est particulièrement important lorsque votre réponse est non numérique (comme rouge/bleu/vert ou petite/moyenne/grande) car les modèles de régression logistique ordinale et nominale peuvent être faciles à surajuster. Ici, nous allons examiner un exemple où nous considérons beaucoup plus d'effets pour modéliser la réponse.
Les données
Nous utiliserons le fichier Diabetes.jmp, qui est disponible dans le JMP exemple de dossier de données. L'ensemble de données mesure la progression du diabète au cours d'une année, avec des attributs tels que l'âge, le sexe et le taux de cholestérol pour chaque individu de l'échantillon de 442 patients. Nous souhaitons utiliser ces attributs pour modéliser "Y Ordinal", qui étiquette la gravité du diabète de chaque patient : faible, moyen ou élevé. Comme le nom de la colonne de réponse le suggère, nous allons la modéliser à l'aide d'un modèle de régression logistique ordinale, ce qui est nouveau dans Genreg pour la version 14. Il est raisonnable de soupçonner qu'il existe des interactions entre nos variables explicatives, nous allons donc inclure les effets principaux et les interactions à deux facteurs dans notre modèle. La spécification de ce modèle dans la boîte de dialogue Ajuster le modèle est facile à l'aide de la macro "Factorielle en degré".
Launching an ordinal logistic model for the Diabetes dataLaunching an ordinal logistic model for the Diabetes dataLaunching an ordinal logistic model for the Diabetes dataLaunching an ordinal logistic model for the Diabetes data Lancement d'un modèle logistique ordinal pour les données sur le diabète
Après avoir spécifié notre modèle et cliqué sur le bouton Exécuter, nous entrons dans la plate-forme de régression généralisée. Genreg effectue automatiquement un ajustement de vraisemblance maximale (modèle complet, pas de sélection de variables) pour nous sur les données d'apprentissage. Mais je suis préoccupé par le surajustement, donc je ne veux pas du MLE. Je veux faire le Lasso à la place, car cela nous fournira un modèle plus parcimonieux qui devrait mieux s'adapter aux nouvelles données.
Doing a Lasso fit in GenregDoing a Lasso fit in GenregDoing a Lasso fit in GenregDoing a Lasso fit in Genreg Faire un ajustement Lasso dans Genreg
Lasso output for the Diabetes dataLasso output for the Diabetes dataLasso output for the Diabetes dataLasso output for the Diabetes dataSortie Lasso pour les données sur le diabète
Comme nous pouvons le voir dans la sortie, le lasso donne un modèle qui n'utilise que 15 paramètres sur les 57 candidats d'origine. Nous avons donc un modèle beaucoup plus facile à interpréter/expliquer que le MLE. Dans quelle mesure le modèle lasso fonctionne-t-il mieux sur les nouvelles observations que le modèle complet à 57 termes ? C'est plus facile à voir en utilisant la plateforme de comparaison de modèles. On voit que le modèle complet s'ajuste très bien sur les données d'apprentissage et terriblement sur les données de validation (le R^2 de validation est négatif, toujours mauvais signe). Il s'agit d'un cas classique de sur-ajustement . Pendant ce temps, le modèle lasso a de bien meilleurs taux de R^2 et de mauvaise classification sur les données de validation. Le modèle de lasso est donc clairement le favori ici.
Lasso vs MLE using the Model Comparison platformLasso vs MLE using the Model Comparison platformLasso vs MLE using the Model Comparison platformLasso vs MLE using the Model Comparison platformLasso vs MLE en utilisant la plateforme de comparaison de modèles
Le cas multinomial
Un péché mon message précédent , notre réponse a un ordre naturel. Mais ignorons cela pour l'instant afin que nous puissions faire une sélection de variables sur un problème multinomial. La sélection des variables est particulièrement importante dans ce cas car le modèle multinomial est si facile à surparamétrer ou à surajuster.
Pourquoi ce modèle est-il si facile à suradapter ? Si nous avons p prédicteurs et que notre réponse prend k niveaux, alors le modèle que nous ajustons a p*(k-1) paramètres. Dans le cas de nos données sur le diabète, nous avons 56 prédicteurs et trois niveaux de réponse, ce qui nous donne 56*(3-1) = 112 paramètres à prendre en compte. Cela peut vite devenir incontrôlable ! Pour plus d'informations sur ce modèle, consultez le Aide JMP .
Nous lançons Genreg exactement de la même manière que précédemment. Nous venons de passer la distribution à Multinomial.
Launching the Multinomial in GenregLaunching the Multinomial in GenregLaunching the Multinomial in GenregLaunching the Multinomial in Genreg Lancement du Multinomial dans Genreg
Encore une fois, nous utiliserons le lasso pour l'estimation et la sélection des variables. Cette fois, le lasso donne un modèle avec seulement 25 variables, ce qui signifie qu'il a supprimé près de 90 paramètres de notre modèle. Et même s'il ne semble pas que le modèle de lasso ait un grand R^2 généralisé sur les données de validation (environ 0,35), le modèle complet a un R^2 généralisé pire que -2 sur l'ensemble de validation !
Lasso summaryLasso summaryLasso summaryLasso summary Résumé du lasso
Lasso beats the MLE even worse in the Multinomial caseLasso beats the MLE even worse in the Multinomial caseLasso beats the MLE even worse in the Multinomial caseLasso beats the MLE even worse in the Multinomial caseLasso bat le MLE encore pire dans le cas multinomial
Essayez-le vous-même !
Je suis enthousiasmé par la prise en charge des réponses ordinales et multinomiales dans Genreg dans JMPPro 14. Ce type de données est très courant dans la pratique, mais comme nous l'avons vu avec les données sur le diabète, nous devons être prudents dans la construction de modèles. Les outils interactifs de sélection de variables de Genreg peuvent vous aider à créer des modèles mieux adaptés et plus faciles à interpréter. Laissez-moi savoir ce que vous pensez.