J'essaie de faire une sélection de modèle sur certains prédicteurs candidats en utilisant LASSO avec un résultat continu. Le but est de sélectionner le modèle optimal avec les meilleures performances de prédiction, ce qui peut généralement être fait par validation croisée K-fold après avoir obtenu un chemin de solution des paramètres de réglage de LASSO. Le problème ici est que les données proviennent d'un plan d'enquête complexe en plusieurs étapes (NHANES), avec échantillonnage en grappes et stratification. La partie estimation n'est pas difficile car glmnet
dans R peut prendre des poids d'échantillonnage. Mais la partie de la validation croisée est moins claire pour moi car les observations ne sont plus désormais iid, et comment la procédure peut-elle rendre compte des poids d'échantillonnage représentant une population finie?
Mes questions sont donc:
1) Comment effectuer une validation croisée K-fold avec des données d'enquête complexes pour sélectionner le paramètre de réglage optimal? Plus précisément, comment partitionner correctement les exemples de données en ensembles de formation et de validation? Et comment définir l'estimation de l'erreur de prédiction?
2) Existe-t-il une autre manière de sélectionner le paramètre de réglage optimal?
la source
Réponses:
Je n'ai pas de réponse détaillée, juste quelques conseils pour travailler que je voulais lire:
Vous pouvez jeter un œil à McConville (2011) sur LASSO à enquête complexe, pour être sûr que votre utilisation de LASSO est appropriée pour vos données. Mais ce n'est peut-être pas un gros problème si vous ne faites LASSO que pour la sélection de variables, puis que vous ajustez autre chose aux variables restantes.
Pour la validation croisée avec des données d'enquête complexes (mais pas LASSO), McConville cite également Opsomer et Miller (2005) et You (2009). Mais leurs méthodes semblent utiliser un CV sans interruption, pas un K-fold.
L'abandon devrait être plus simple à mettre en œuvre avec des enquêtes complexes --- il y a moins de souci sur la façon de partitionner les données de manière appropriée. (D'un autre côté, cela peut prendre plus de temps que K-fold. Et si votre objectif est la sélection du modèle, il est connu que le non-retrait peut être pire que K-fold pour les grands échantillons.)
la source
EDIT by OP: Non applicable aux données d'enquête complexes.
La fonction cv.glmet peut vous aider à effectuer la validation croisée requise. La valeur lambda.min est la valeur de λ où l'erreur CV est minimale. Le lambda.1se représente la valeur de λ dans la recherche qui était plus simple que le meilleur modèle (lambda.min), mais qui a une erreur dans 1 erreur standard du meilleur modèle.
La valeur lambda.min est accessible à partir du modèle lui-même, comme indiqué ci-dessous.
la source