J'ai un ensemble de données avec environ 30 variables indépendantes et j'aimerais construire un modèle linéaire généralisé (GLM) pour explorer la relation entre elles et la variable dépendante.
Je suis conscient que la méthode qui m'a été enseignée pour cette situation, la régression par étapes, est maintenant considérée comme un péché statistique .
Quelles méthodes modernes de sélection de modèle devraient être utilisées dans cette situation?
Réponses:
Il existe plusieurs alternatives à la régression pas à pas . Les plus utilisés que j'ai vus sont:
Les deux régression PLS et LASSO sont mises en œuvre dans les packages R comme
PLS : http://cran.r-project.org/web/packages/pls/ et
LARS : http://cran.r-project.org/web/packages/lars/index.html
Si vous souhaitez uniquement explorer la relation entre votre variable dépendante et les variables indépendantes (par exemple, vous n'avez pas besoin de tests de signification statistique), je vous recommanderais également des méthodes d' apprentissage automatique telles que les forêts aléatoires ou les arbres de classification / régression . Les forêts aléatoires peuvent également approximer des relations non linéaires complexes entre vos variables dépendantes et indépendantes, qui pourraient ne pas avoir été révélées par des techniques linéaires (comme la régression linéaire ).
Un bon point de départ pour l' apprentissage automatique pourrait être la vue des tâches d'apprentissage automatique sur CRAN:
Vue des tâches d'apprentissage machine : http://cran.r-project.org/web/views/MachineLearning.html
la source
Une autre option à considérer pour la sélection de variables et la régularisation est le filet élastique . Il est implémenté dans R via le paquet glmnet .
la source
La moyenne des modèles est une solution (une approche basée sur la théorie de l'information). Le package R glmulti peut effectuer des modèles linéaires pour chaque combinaison de variables de prédicteur et effectuer une moyenne des modèles pour ces résultats.
Voir http://sites.google.com/site/mcgillbgsa/workshops/glmulti.
N'oubliez cependant pas d'étudier d'abord la colinéarité entre les variables prédictives. Les facteurs d’inflation de la variance (disponibles dans le package R "voiture") sont utiles ici.
la source
MuMIn
, lesAICcmodavg
paquets, bien queglmulti
soit plus intelligent sur les grands ensembles de modèles.@johannes a donné une excellente réponse. Si vous êtes un utilisateur SAS, LASSO est disponible via PROC GLMSELECT et les moindres carrés partiels par PROC PLS.
David Cassell et moi avons présenté un exposé sur LASSO (et la régression minimale) à quelques groupes d'utilisateurs SAS. C'est disponible ici
la source
Discussion intéressante. Considérer la régression par étapes comme un péché statistique est un peu une affirmation religieuse - tant que l’on sait ce qu’ils font et que les objectifs de l’exercice sont clairs, il s’agit bien d’une approche fine avec ses propres hypothèses et biaisé, et ne garantit pas l'optimalité, etc. Pourtant, on peut en dire autant de beaucoup d'autres choses que nous faisons. Je n'ai pas vu l'ACC mentionné, qui aborde le problème plus fondamental de la structure de corrélation dans l'espace de covariables, qui garantit l'optimalité, existe depuis un certain temps et a une courbe d'apprentissage. Il est mis en œuvre sur diverses plates-formes, y compris R.
la source