Quelles sont les alternatives modernes et facilement utilisables à la régression pas à pas?

76

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?

fmark
la source
4
D'autres personnes mentionnent des procédures statistiques qui pourraient être utiles, mais je voudrais tout d'abord vous demander si vous avez une théorie quelconque sur la force et la forme de la relation entre les variables. Quelle est la taille de votre échantillon? Avez-vous des raisons d'éviter les modèles complexes?
Michael Bishop
2
Quelqu'un a-t-il envisagé de calculer la moyenne des modèles comme une alternative pour lutter contre le problème de biais pré-test et les problèmes de spécification erronée? En gros, toutes les variables sont des prédicteurs potentiels et vous pouvez estimer leur probabilité d’être utiles. Ainsi, l’estimateur combiné non seulement améliore les performances de prévision, mais produit également de bonnes estimations des propriétés pour les paramètres des variables de "portée".
Dmitrij Celov
1
Rétrécissement. Personne n'utilise plus progressivement, espérons-le
Aksakal

Réponses:

56

Il existe plusieurs alternatives à la régression pas à pas . Les plus utilisés que j'ai vus sont:

  • Avis d'expert pour décider des variables à inclure dans le modèle.
  • Régression partielle des moindres carrés . Vous obtenez essentiellement des variables latentes et faites une régression avec elles. Vous pouvez également effectuer l’ ACP vous-même, puis utiliser les variables principales.
  • Opérateur de sélection et de retrait le plus absolu (LASSO).

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

Johannes
la source
10
Le paquet glmnet est une implémentation très rapide du lasso également
David J. Harris
2
J'avertirais que dans la communauté des variables latentes, les PLSers forment une clique très isolée et qu'ils n'ont jamais réussi à pénétrer la littérature sérieuse (par exemple, la théorie asymptotique des estimateurs des moindres carrés dans les travaux de Michael Browne, Peter Bentler, Albert Satorra et Alex Shapiro, et la modélisation à variable instrumentale de Ken Bollen, pour ne nommer que les plus importants). Curieusement, PLS semble être une méthode acceptable dans le monde de la statistique, qui respecte généralement un niveau de rigueur plus élevé que ne le fait la communauté des modèles à variables latentes.
StasK
6
Les éléments de l’apprentissage statistique comparent différentes méthodes de sélection et de réduction de variables: (MCO), meilleur sous-ensemble, crête, lasso, PLS, PCR.
cbeleites
19

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 .

Zach
la source
16

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.

OliP
la source
Merci. Cela convient-il vraiment à tous les modèles possibles? Même sans interactions, cela représente environ un milliard de modèles.
Peter Ellis
Autant que je sache, il existe une option d'algorithme génétique qui réduit considérablement le temps nécessaire à l'évaluation de tous les modèles. Voir www.jstatsoft.org/v34/i12/paper
OliP
3
aussi MuMIn, les AICcmodavgpaquets, bien que glmultisoit plus intelligent sur les grands ensembles de modèles.
Ben Bolker
8

@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

Peter Flom - Rétablir Monica
la source
7

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.

Gillesc
la source