Voici le tracé de glmnet avec alpha par défaut (1, donc lasso) en utilisant mtcars
l'ensemble de données dans R avec mpg
comme DV et d'autres comme variables prédictives.
glmnet(as.matrix(mtcars[-1]), mtcars[,1])
Que pouvons-nous conclure de ce graphique concernant différentes variables, en particulier am
, cyl
et wt
(lignes rouges, noires et bleu clair)? Comment formulerions-nous le résultat dans un rapport à publier?
J'ai pensé à suivre:
wt
est le prédicteur le plus important dempg
. Il affecte négativement lempg
.cyl
est un faible prédicteur négatif dempg
.am
peut être un prédicteur positif dempg
.D'autres variables ne sont pas des prédicteurs robustes de
mpg
.
Merci pour vos réflexions à ce sujet.
(Remarque: cyl
est la ligne noire qui n'atteint pas 0 jusqu'à ce qu'elle soit très proche.)
Edit: ce qui suit est un tracé (mod, xvar = 'lambda') qui montre l'axe des x dans l'ordre inverse du tracé ci-dessus:
(PS: Si vous trouvez cette question intéressante / importante, veuillez la voter;)
-1
dansglmnet(as.matrix(mtcars[-1]), mtcars[,1])
.my_data_frame[1]
renvoie donc un bloc de données avec une colonne, tandis quemy_data_frame[[1]]
et lesmy_data_frame[, 1]
deux renvoient un vecteur qui est pas "contenu" par un bloc de données. Matrices, cependant, sont en fait des vecteurs juste à plat avec un attribut spécial qui permet d'y accéder R comme une grille, doncmy_matrix[1]
,my_matrix[1, 1]
etmy_matrix[[1]]
retournerez tous le premier élément demy_matrix
.my_matrix[, 1
] renvoie la première colonne.Réponses:
À cette fin, j'ai créé des données corrélées et non corrélées pour démontrer:
Les données
x_uncorr
ont des colonnes non corréléestout
x_corr
a une corrélation prédéfinie entre les colonnesVoyons maintenant les tracés du lasso pour ces deux cas. D'abord les données non corrélées
Quelques caractéristiques se démarquent
Ce sont tous des faits généraux qui s'appliquent à la régression au lasso avec des données non corrélées, et ils peuvent tous être prouvés à la main (bon exercice!) Ou trouvés dans la littérature.
Permet maintenant de faire des données corrélées
Vous pouvez lire certaines choses de ce complot en le comparant au cas non corrélé
Alors maintenant, regardons votre tracé à partir du jeu de données des voitures et lisons certaines choses intéressantes (j'ai reproduit votre tracé ici afin que cette discussion soit plus facile à lire):
Un mot d'avertissement : j'ai écrit l'analyse suivante basée sur l'hypothèse que les courbes montrent les coefficients standardisés , dans cet exemple, ils ne le font pas. Les coefficients non normalisés ne sont pas sans dimension et ne sont pas comparables, de sorte qu'aucune conclusion ne peut en être tirée en termes d'importance prédictive. Pour que l'analyse suivante soit valide, veuillez faire comme si le tracé correspond aux coefficients standardisés, et veuillez effectuer votre propre analyse sur des chemins de coefficients standardisés.
wt
prédicteur semble très important. Il entre en premier dans le modèle et descend lentement et régulièrement jusqu'à sa valeur finale. Il a quelques corrélations qui en font un trajet légèrement cahoteux,am
en particulier semble avoir un effet drastique quand il pénètre.am
est également important. Il arrive plus tard et est corrélé avecwt
, car il affecte la pente dewt
manière violente. Il est également corrélé aveccarb
etqsec
, car nous ne voyons pas le ramollissement prévisible de la pente lorsque ceux-ci entrent. Une fois ces quatre variables entrées, nous faisons voyons le beau modèle décorrélé, il semble donc être décorrélée avec tous les facteurs prédictifs à la fin.cyl
etwt
.cyl
est assez fascinant. Il entre en deuxième position, il est donc important pour les petits modèles. Après d'autres variables, et surtoutam
entrer, ce n'est plus si important, et sa tendance s'inverse, finissant par être presque supprimée. Il semble que l'effet decyl
puisse être complètement capturé par les variables qui entrent à la fin du processus. Qu'il soit plus approprié d'utilisercyl
, ou le groupe complémentaire de variables, dépend vraiment du compromis biais-variance. Le fait d'avoir le groupe dans votre modèle final augmenterait considérablement sa variance, mais il se peut que le biais le plus faible le compense!C'est une petite introduction à la façon dont j'ai appris à lire les informations de ces tracés. Je pense que ce sont des tonnes de plaisir!
Je dirais que les arguments en faveur
wt
etam
sont clairs, ils sont importants.cyl
est beaucoup plus subtil, il est important dans un petit modèle, mais pas du tout pertinent dans un grand.Je ne serais pas en mesure de déterminer quoi inclure sur la seule base du chiffre, il faut vraiment répondre au contexte de ce que vous faites. On pourrait dire que si vous voulez un modèle à trois prédicteurs
wt
,am
etcyl
sont de bons choix, car ils sont pertinents dans le grand schéma des choses, et devrait finir par avoir la taille des effets raisonnables dans un petit modèle. Ceci est basé sur l'hypothèse que vous avez une raison externe de vouloir un petit modèle à trois prédicteurs.Il est vrai que ce type d'analyse couvre l'ensemble du spectre des lambdas et vous permet de supprimer les relations sur une gamme de complexités de modèle. Cela dit, pour un modèle final, je pense que le réglage d'un lambda optimal est très important. En l'absence d'autres contraintes, j'utiliserais certainement la validation croisée pour trouver où le long de ce spectre se trouve la lambda la plus prédictive, puis j'utiliserais cette lambda pour un modèle final et une analyse finale.
Dans l'autre sens, il existe parfois des contraintes extérieures sur la complexité d'un modèle (coûts de mise en œuvre, systèmes hérités, minimalisme explicatif, interprétabilité commerciale, patrimoine esthétique) et ce type d'inspection peut vraiment vous aider à comprendre la forme de vos données, et les compromis que vous faites en choisissant un modèle plus petit qu'optimal.
la source