Amarengo

Articles and news

Approches de régularisation pour la régression logistique utilisant la régression Ridge et Lasso avec les données de l’USI pour le WIDS datathon 2020

Les données font partie du WIDS datathon 2020.

Je vais lire les données, puis regarder ses dimensions, puis regarder également les statistiques récapitulatives, combien de valeurs sont nulles pour les variables.

Il y a 186 colonnes et 91713 lignes. Nous exécuterons une analyse de régression logistique sur les données, mais nous allons d’abord exécuter des statistiques récapitulatives et voir à quoi ressemblent les données et combien de lignes sont des valeurs nulles et

Certaines colonnes ont de nombreuses lignes nulles, nous les supprimerons donc de l’analyse car de nombreuses lignes ont presque plus de 70 000 lignes comme valeurs nulles.

Cependant, nous utiliserons une méthode simpliste et inclurons dans le modèle de régression logistique où nous n’inclurons que les données dans le modèle, s’il y a moins de 3000 valeurs nulles, mais des approches plus sophistiquées pourraient également être utilisées, comme le remplacement de la médiane, de la moyenne des valeurs, ainsi que le remplacement basé sur la régression. Cette approche est naïve et simpliste, mais pour notre analyse initiale, nous utiliserons cette approche, tard dans les exemples, je montrerai également comment peut-on utiliser des approches de régularisation telles que la régression Ridge, la régression Lasso et le Filet élastique à utiliser également pour la régularisation qui aide à réduire le nombre de variables ou leurs impacts.

Nous exécuterons le modèle avec les variables qui n’ont pas plus de 3000 valeurs nulles, nous utiliserons donc ces variables dans notre exécution initiale du modèle.

L’exécution de ce modèle donne ces résultats, et en regardant simplement d’abord, nous pouvons voir qu’il existe de nombreuses variables qui ne sont pas significatives au niveau 0.001 et n’ont aucun signe de signification comme indiqué ci-dessous. Les scores d’itération de Fisher sont également assez élevés et sont de 11, ce noyau devrait être compris entre 6 et 8 et montre que le modèle n’est pas valide. Nous calculerons également le Mcfadden R2 au carré pour le modèle logistique et il affiche une valeur de 0.5478738, cependant une telle valeur ne peut pas être prise isolément, car il y a beaucoup de valeurs dans le modèle qui ne sont pas significatives, et nous savons également que plus il y a de valeurs dans le modèle, le R au carré sera plus élevé indépendamment du fait que le modèle soit robuste ou valide ou non.

Calcul du R carré de Mcfadden

Ensuite, nous réexécut le modèle, mais supprimerons les variables qui ne sont pas significatives à la valeur p dans certaines des plages inférieures, puis nous réexécut le modèle avec les variables restantes et prédisons le efficacité du modèle. Ce sont les variables qui ont été supprimées du modèle et nous avons de nouveau exécuté le modèle, avec les fonctionnalités restantes. Cette approche est de nature manuelle et est simpliste, nous pouvons également utiliser la suppression step forward ou step backward.

Les variables supprimées du modèle, en raison de scores de valeur p très faibles ou non significatifs, étaient les suivantes:-

ethnicité, sexe, taille, icu_id, apache_2_diagnostic, apache_3j_diagnostic, apache_post_operative, gcs_verbal_apache, état de réadmission
heart_rate_apache, temp_apache d1_diasbp, max-d1_diasbp_min
intubated_apache, d1_mbp_max, d1_mbp_min, d1_mbp_noninvasive_max
d1_mbp_noninvasive_min, d1_resprate_max, d1_resprate_min
d1_sysbp_max, d1_sysbp_min, d1_sysbp_max, d1_sysbp_noninvasive_min, h1_sysbp_max, h1_sysbp_min, sida, lymphome

Le nouveau modèle est le suivant:-

Dans le nouveau cas, nous pouvons voir que les valeurs de notre modèle p ont beaucoup augmenté pour de nombreuses variables, mais les itérations de Fisher sont toujours de 11, ce qui est légèrement élevé et des valeurs très élevées supérieures à la plage idéale entre 6 et 8 signifie que le modèle pourrait ne pas avoir convergé. A1C est le même que le dernier modèle, donc entre celui-ci et le modèle précédent, nous sélectionnerons ce modèle par rapport à l’autre modèle en raison des valeurs p, mais ce n’est en aucun cas un modèle idéal, nous devons faire beaucoup plus de travail avec la régularisation pour faire de ce modèle un modèle plus efficace. Le Mcfadden R au carré est presque toujours dans la même plage et montre la valeur de 0,5359914.

Ensuite, nous allons exécuter la régression de crête sur les variables. Nous utiliserons des bibliothèques supplémentaires comme celles énumérées ci-dessous glmnet, glmUtils, wrapr, et nous conserverons également les variables indépendantes et dépendantes, comme dans le dernier modèle.

Ici, nous allons mettre en place la formule et ensuite nous allons exécuter la régression de crête.

Ce sont les résultats de la régression de la crête, que nous avons reçus.

La régression de crête ne nous donne pas d’interprétation comme le fait le modèle de régression logistique régulière avec des valeurs p, mais cela montre quelles seront les valeurs des coefficients, et la régression de crête réduit les valeurs pour les variables qui ne sont pas significatives plus proches de 0, mais ne le prend pas complètement à 0 ou supprime également les variables. Cela peut être montré aussi bien ci-dessous que lorsque nous voyons la liste des coefficients dans le modèle.

Ici, nous pouvons voir que les valeurs des coefficients que la régression de crête, l’ont presque rapproché de 0. Cela peut être vu sur le graphique comme indiqué ci-dessous:-

Ensuite, nous exécuterons la régression Lasso, qui éliminera certaines variables qui n’ont pas de forte capacité prédictive avec la variable dépendante. Nous utiliserons le même code que précédemment et ne modifierons que la valeur d’alpha de 0 à 1.

Les résultats que nous obtenons sont les suivants:-

Ici, nous pouvons voir qu’il a défini de nombreuses valeurs sur 0 dans la régression Lasso, et les coefficients montrent a.

Les mêmes données peuvent être affichées sous la forme graphique comme suit, ce qui montre que de nombreuses variables dont les valeurs ont été définies sur 0.

Il s’agit d’une introduction très basique à certaines des approches qui pourraient être adoptées pour réduire le nombre de variables dans le modèle. On peut examiner la PCA (analyse en composantes principales), ainsi que l’approche du réseau élastique pour examiner plus avant l’avancement du modèle. De plus, la valeur réelle du modèle ne sera affichée que lorsque nous pourrons voir le modèle fonctionner sur les données de test, ce que nous n’avons pas vu et qui a été retenu.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.