Test de signification des coefficients dans la régression logistique du Lasso

10

[Une question similaire a été posée ici sans réponse]

J'ai ajusté un modèle de régression logistique avec régularisation L1 (régression logistique Lasso) et je voudrais tester la signification des coefficients ajustés et obtenir leurs valeurs de p. Je sais que les tests de Wald (par exemple) sont une option pour tester la signification des coefficients individuels en régression complète sans régularisation, mais avec Lasso je pense que d'autres problèmes surgissent qui ne permettent pas d'appliquer les formules Wald habituelles. Par exemple, les estimations de variance nécessaires pour le test ne suivent pas les expressions habituelles. Le papier Lasso original

http://statweb.stanford.edu/~tibs/lasso/lasso.pdf

suggère une procédure basée sur le bootstrap pour estimer la variance des coefficients, qui (encore une fois, je pense) peut être nécessaire pour les tests (section 2.5, dernier paragraphe de la page 272 et début de 273):

Une approche consiste à utiliser le bootstrap: soit peut être corrigé, soit nous pouvons optimiser sur pour chaque échantillon de bootstrap. La fixation de est analogue à la sélection du meilleur sous-ensemble ( de fonctionnalités ), puis à l'utilisation de l'erreur standard des moindres carrés pour ce sous-ensemblet tttt

Ce que je comprends, c'est: ajuster une régression Lasso à plusieurs reprises à l'ensemble de données jusqu'à ce que nous trouvions la valeur optimale pour le paramètre de régularisation (cela ne fait pas partie du bootstrap), puis utiliser uniquement les fonctionnalités sélectionnées par le Lasso pour adapter les régressions OLS aux sous-échantillons des données et appliquer les formules habituelles pour calculer les variances de chacune de ces régressions. (Et puis que dois-je faire avec toutes ces variances de chaque coefficient pour obtenir l'estimation finale de la variance de chaque coefficient?)

De plus, est-il correct d'utiliser les tests de signification habituels (par exemple le test de Wald qui utilise les bêtas et les variances estimés) avec les estimations Lasso des coefficients et les variances estimées par bootstrap? Je suis à peu près sûr que ce n'est pas le cas, mais toute aide (utilisez un test différent, utilisez une approche plus simple, peu importe ...) est plus que bienvenue.

Selon les réponses ici, je soupçonne que l'inférence et les valeurs de p ne peuvent tout simplement pas être obtenues. Dans mon cas, les valeurs de p sont une exigence externe (bien que l'utilisation de la régularisation L1 ait été mon choix).

Merci beaucoup

EDIT Que se passe-t-il si j'adapte une régression logistique OLS en utilisant uniquement les variables sélectionnées par une précédente exécution de la régression logistique Lasso? Apparemment (voir ici ),

Il n'est pas nécessaire d'exécuter à nouveau le modèle après avoir effectué une validation croisée (vous obtenez simplement les coefficients de la sortie de cv.glmnet), et en fait, si vous ajustez le nouveau modèle de régression logistique sans pénalisation, vous allez à l'encontre du but de l'utilisation lasso

Mais que se passe-t-il si je fais cela dans le seul but de pouvoir calculer les valeurs de p tout en maintenant un nombre de variables faible? Est-ce une approche très sale? :-)

Pablo
la source
Pour faire l'inférence pour les modèles LASSO, vous pouvez également consulter le package CRAN hdi qui fournit l'inférence pour les modèles de grande dimension, vous voudrez peut-être y jeter un coup d'œil ...
Tom Wenseleers
Les méthodes complètes sont bien décrites dans cet article: projecteuclid.org/euclid.ss/1449670857
Tom Wenseleers
Et il y a aussi le package cran.r-project.org/web/packages/selectiveInference/index.html qui peut être utile pour fournir des inférences pour le LASSO ...
Tom Wenseleers
C'est une question agréable et importante à poser.
Jinhua Wang

Réponses:

5

Le problème avec l'utilisation des tests de signification habituels, c'est qu'ils supposent la valeur nulle, c'est-à-dire qu'il existe des variables aléatoires, sans relation avec les variables de résultat. Cependant, ce que vous avez avec le lasso, c'est un tas de variables aléatoires, parmi lesquelles vous sélectionnez les meilleures avec le lasso, les bêtas sont également réduits. Vous ne pouvez donc pas l'utiliser, les résultats seront biaisés.

Pour autant que je sache, le bootstrap n'est pas utilisé pour obtenir l'estimation de la variance, mais pour obtenir les probabilités de sélection d'une variable. Et ce sont vos valeurs p. Consultez le livre gratuit du Hasie, Statistical Learning with Sparsity, chapitre 6 parle de la même chose. http://web.stanford.edu/~hastie/StatLearnSparsity/

Consultez également ce document pour d'autres moyens d'obtenir des valeurs p à partir du lasso https://arxiv.org/pdf/1408.4026.pdf Il y a probablement plus

rep_ho
la source
4

n

Heureusement, il y a eu beaucoup de progrès ces dernières années dans le développement de méthodes d'inférence qui tiennent compte de la post-sélection. Quelques références pertinentes pour votre cas sont: http://projecteuclid.org/euclid.aos/1460381681 et https://arxiv.org/pdf/1602.07358.pdf . Les techniques décrites dans ces références sont implémentées dans le package R selectiveInference- https://cran.r-project.org/web/packages/selectiveInference/index.html . Le package selectiveInference devrait produire les intervalles de confiance valides dont vous avez besoin.

user3903581
la source
1
Dans la spécialisation Machine Learning à Coursera par Univ. de Washington, les professeurs du cours 2 (Régression) ont consacré une semaine entière à la régression Lasso. Dans l'une des diapositives, la procédure que j'ai décrite (en utilisant Lasso pour sélectionner des fonctionnalités puis en ajustant une régression LS avec uniquement ces variables) est dénommée debiasing et est considérée comme correcte et illustrée par des graphiques d'un article de Mario Figueiredo. Consultez la diapositive 105 ici: github.com/MaxPoon/coursera-Machine-Learning-specialization/…
Pablo
Bien qu'ils recommandent de dénigrer le lasso, ils ne discutent pas du tout des tests d'hypothèse. En outre, le terme dé-biais est trompeur, car si le réaménagement du modèle supprime le biais vers le bas induit par le lasso, il n'aide pas avec le biais vers le haut induit par la malédiction du gagnant. Pour autant que je sache, la seule façon de vraiment dé-biaiser les estimations des coefficients de régression du modèle sélectionné est de calculer les estimations conditionnelles du maximum de vraisemblance. arxiv.org/abs/1705.09417
user3903581