[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 t
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? :-)
Réponses:
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
la source
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.
la source