GenReg pour la sélection de variablesUn de mes clients utilise GenReg pour la sélection de variables et a expérimenté Lasso et Elastic Net.
Leur modèle a 14 effets principaux, avec leurs termes quadratiques et d'interaction associés (beaucoup de variables à examiner).
Après avoir exécuté Lasso ou Elastic Net, le modèle final créé contient tous les termes sans aucun terme mis à zéro.Le résultat est étrange, surtout si l'on considère que lorsqu'ils exécutent la même analyse par étapes, certains termes sont omis du modèle.
Quelqu'un a-t-il déjà rencontré ce type de comportement lors de l'utilisation de Lasso ou d'Elastic Net ?
Re : GenReg pour la sélection de variablesMerci à tous pour vos suggestions. Après une session de débogage avec le client et @jiancao nous avons finalement pu donner un sens à leur problème qui était en grande partie lié à l'utilisation d'une trop grande quantité de données (250 000 lignes) pour former le modèle. Les caractéristiques uniques et le volume de données conduisaient l'erreur du modèle à des niveaux très faibles, ce qui a ensuite créé la situation où chaque terme a commencé à montrer un certain niveau de signification (aucun terme n'a été mis à zéro).
En utilisant un ensemble de données plus petit et également représentatif (15 000 lignes), nous avons pu faire en sorte que Lasso et Elastic-Net effectuent une sélection de variables et construisent un modèle utile pour leur application.
Re : GenReg pour la sélection de variablesSalut Nick,
bien qu'ils aient probablement réfléchi à la validation, est-ce une bonne chose à faire dans leurs données avec une validation aléatoire ? Peuvent-ils avoir des valeurs catégorielles où vous voudrez peut-être stratifier la validation probablement par l'une de ces valeurs catégorielles.
La prochaine chose est d'essayer, comme Pete l'a suggéré, la sélection vers l'avant dans GenReg pour voir si cela fait une différence avec Lasso dans la sélection des variables. Peut-être souhaitez-vous également utiliser un lasso à deux niveaux et une sélection avant à deux niveaux.
À quoi ressemble le chemin de la solution, y a-t-il des effets de modèle se rétrécissant vers zéro (juste pas atteint 0) ou pas du tout (plus de lignes horizontales) ?
Enfin, pouvez-vous demander au client de vérifier plusieurs fois l'exécution de Bootstrap Forest et de vérifier si les variables sont toujours toutes importantes, ou si certaines d'entre elles sont autrefois importantes, les autres non. Ainsi, l'ordre n'est pas cohérent (de petits changements dans les quelques premiers sont acceptables, mais d'énormes changements sont essentiels). Cela vous indiquera qu'il se passe quelque chose dans les données qui doit être découvert avant de poursuivre la modélisation.
Enfin, utilisez-vous ou non le lasso adaptatif ? Lorsque vos données sont fortement colinéaires (ce serait vu par BF changer les commandes comme un fou
), les versions adaptatives de Lasso et Elastic Net peuvent ne pas fournir de bonnes solutions. En effet, les versions adaptatives supposent que le MLE fournit une bonne estimation. Décochez l'option Adaptive dans de tels cas.
Meilleur,
Martin
Re : GenReg pour la sélection de variablesSalut Nick,
Ont-ils essayé la sélection en avant ou l'élimination en arrière de GenReg ?S'ils voyaient des variables d'élimination pas à pas, ils devraient voir cela se produire dans GenReg.
Le modèle inclut-il des effets avec des valeurs de p élevées ?
Une autre chose qu'ils doivent vérifier dans Elastic Net est Elatic Net Alpha, s'il est plus proche de 0 au lieu de 1, il fonctionnera davantage comme une régression de crête et n'effectuera pas réellement de sélection de variables.En ce qui concerne un Lasso, je vérifierais simplement qu'ils ne forçaient pas les termes à être inclus dans les contrôles avancés.
Re : GenReg pour la sélection de variables150K lignes
Re : GenReg pour la sélection de variablesCombien de rangées ?Re : GenReg pour la sélection de variablesOui, ils utilisent une colonne de validation.
Re : GenReg pour la sélection de variablesFont-ils une validation croisée dans Genreg ?