Pourquoi glmnet utilise-t-il un filet élastique «naïf» du papier original Zou & Hastie?


27

Le papier net élastique original Zou & Hastie (2005) Régularisation et sélection des variables via le filet élastique introduit la fonction de perte nette élastique pour la régression linéaire (ici, je suppose que toutes les variables sont centrées et mises à l'échelle de la variance unitaire): mais appelé "filet élastique naïf". Ils ont fait valoir qu'il effectue un double retrait (lasso et crête), a tendance à sur-rétrécir et peut être amélioré en redimensionnant la solution résultante comme suit: \ hat \ beta ^ * = (1+ \ lambda_2) \ hat \ beta. Ils ont donné quelques arguments théoriques et des preuves expérimentales que cela conduit à de meilleures performances.

L=1ny-Xβ2+λ1β1+λ2β22,
β^=(1+λ2)β^.

Cependant, l' glmnetarticle suivant Friedman, Hastie et Tibshirani (2010) Les chemins de régularisation pour les modèles linéaires généralisés via la descente de coordonnées n'utilisaient pas cette mise à l'échelle et n'avaient qu'une brève note de bas de page disant

Zou et Hastie (2005) ont appelé cette pénalité le filet élastique naïf et ont préféré une version redimensionnée qu'ils ont appelée filet élastique. Nous abandonnons cette distinction ici.

Aucune autre explication n'y est donnée (ni dans aucun des manuels de Hastie et al.). Je trouve cela un peu déroutant. Les auteurs ont-ils omis le rééchelonnement parce qu'ils le jugeaient trop ad hoc ? parce qu'il a fait pire dans certaines expériences supplémentaires? parce qu'il n'était pas clair comment le généraliser au cas GLM? Je n'ai aucune idée. Mais en tout cas, le glmnetpackage est devenu très populaire depuis lors et j'ai donc l'impression que de nos jours, personne n'utilise le redimensionnement de Zou & Hastie, et la plupart des gens ne sont probablement même pas au courant de cette possibilité.

Question: après tout, ce rééchelonnement était-il une bonne ou une mauvaise idée?

Avec le glmnetparamétrage, le redimensionnement de Zou & Hastie devrait être

β^=(1+λ(1-α))β^.

1
Étant donné que dans l'article glment, l'objectif est d'adapter l'intégralité du chemin de régularisation, l'idée est peut-être que le rééchelonnement ne serait qu'une transformation monotone du chemin?
Matthew Drury

1
@MatthewDrury C'est vrai mais toujours si Friedman et al. croyaient que le rééchelonnement était une bonne idée, ils ne le laisseraient pas hors du papier et en particulier hors du glmnetcode. Il n'est pas disponible là-bas, même en tant que fonctionnalité facultative (leur code précédent qui accompagnait le document de 2005 prend bien sûr en charge le redimensionnement).
Amoeba dit Reinstate Monica

4
Malheureusement, le code public glmnet est complètement illisible ...
Matthew Drury

Réponses:


25

J'ai envoyé cette question par courriel à Zou et à Hastie et j'ai obtenu la réponse suivante de Hastie (j'espère qu'il ne me dérangerait pas de la citer ici):

Je pense que dans Zou et al, nous étions préoccupés par le biais supplémentaire, mais bien sûr, le rééchelonnement augmente la variance. Donc, cela déplace juste un le long de la courbe de compromis biais-variance. Nous allons bientôt inclure une version de lasso détendu qui est une meilleure forme de rééchelonnement.

J'interprète ces mots comme une approbation d'une certaine forme de "rééchelonnement" de la solution de filet élastique vanille, mais Hastie ne semble plus adhérer à l'approche particulière proposée dans Zou & Hastie 2005.


Dans ce qui suit, je passerai brièvement en revue et comparerai plusieurs options de redimensionnement.

J'utiliserai le glmnetparamétrage de la perte la solution étant notée .

L=12ny-β0-Xβ2+λ(αβ1+(1-α)β22/2),
β^
  1. L'approche de Zou & Hastie est d'utiliserNotez que cela produit une mise à l'échelle non triviale pour la crête pure lorsque ce qui n'a sans doute pas beaucoup de sens. D'un autre côté, cela ne donne aucun rééchelonnement pour le lasso pur lorsque , malgré diverses affirmations dans la littérature selon lesquelles l'estimateur du lasso pourrait bénéficier d'un rééchelonnement (voir ci-dessous).

    β^redimensionné=(1+λ(1-α))β^.
    α=0α=1
  2. Pour le lasso pur, Tibshirani a suggéré d'utiliser l'hybride lasso-OLS, c'est-à-dire d'utiliser l'estimateur OLS en utilisant le sous-ensemble de prédicteurs sélectionnés par le lasso. Cela rend l'estimateur cohérent (mais annule le retrait, ce qui peut augmenter l'erreur attendue). On peut utiliser la même approche pour le filet élastique mais le problème potentiel est que le filet élastique peut sélectionner plus de prédicteurs et OLS se décomposeront (en revanche, le lasso pur ne sélectionne jamais plus de prédicteurs).

    β^élastique-OLS-hybride=OLS(Xjeβ^je0)
    nn
  3. Le lasso détendu mentionné dans l'e-mail de Hastie cité ci-dessus est une suggestion pour exécuter un autre lasso sur le sous-ensemble de prédicteurs sélectionnés par le premier lasso. L'idée est d'utiliser deux pénalités différentes et de sélectionner les deux via une validation croisée. On pourrait appliquer la même idée au filet élastique, mais cela semblerait nécessiter quatre paramètres de régularisation différents et les régler est un cauchemar.

    Je suggère un schéma de réseau élastique détendu plus simple : après avoir obtenu , effectuez une régression de crête avec et le même sur le sous-ensemble sélectionné de prédicteurs:Ceci (a) ne nécessite aucun paramètre de régularisation supplémentaire, (b) fonctionne pour n'importe quel nombre de prédicteurs sélectionnés, et (c) ne fait rien si l'on commence avec une crête pure. Ça me semble bien.β^α=0λ

    β^filet-élastique-détendu=crête(Xjeβ^je0).

Je travaille actuellement avec un petit ensemble de données avec et , où est bien prédits par les quelques grands PC de . Je comparerai les performances des estimateurs ci-dessus en utilisant 100 fois la validation croisée répétée de 11 fois. En tant que mesure de performance, j'utilise une erreur de test, normalisée pour produire quelque chose comme un R au carré:Dans la figure ci-dessous, les lignes en pointillés correspondent à l'estimateur net élastique vanille et trois sous-parcelles correspondent aux trois approches de redimensionnement:npn=44p=3000yX

Rtester2=1-ytester-β^0-Xtesterβ^2ytester-β^02.
β^

entrez la description de l'image ici

Ainsi, au moins dans ces données, les trois approches surpassent l'estimateur net élastique vanille, et le «filet élastique détendu» donne les meilleurs résultats.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.