Détection de prédicteurs significatifs parmi de nombreuses variables indépendantes


31

Dans un ensemble de données de deux populations qui ne se chevauchent pas (patients et en bonne santé, total ), je voudrais trouver (sur variables indépendantes) des prédicteurs significatifs pour une variable dépendante continue. Il existe une corrélation entre les prédicteurs. Je voudrais savoir si l'un des prédicteurs est lié à la variable dépendante "en réalité" (plutôt que de prédire la variable dépendante aussi exactement que possible). Comme j'ai été submergé par les nombreuses approches possibles, je voudrais demander quelle approche est la plus recommandée.300n=60300

  • D'après ma compréhension, l'inclusion ou l'exclusion progressive des prédicteurs n'est pas recommandée

  • Par exemple, exécuter une régression linéaire séparément pour chaque prédicteur et corriger les valeurs de p pour une comparaison multiple à l'aide du FDR (probablement très conservateur?)

  • Régression en composantes principales: difficile à interpréter car je ne pourrai pas parler du pouvoir prédictif des prédicteurs individuels mais uniquement des composants.

  • d'autres suggestions?


J'ai entendu parler de personnes utilisant la régression régularisée L1 pour faire ce genre de choses. Mais je n'en sais pas assez pour écrire une bonne réponse ...
King

2
Afin de donner les meilleures recommandations, cela nous aiderait à savoir comment vous allez procéder après avoir identifié des "prédicteurs significatifs". Essayez-vous de prédire le résultat aussi exactement que possible; trouver un moyen parcimonieux de le prévoir (par exemple, en utilisant un ensemble de k prédicteurs qui le feront efficacement; expliquer les causes du résultat "en réalité"; ou autre chose? De plus, quelle est la taille de votre ensemble de données?
rolando2

@rolando: merci pour le commentaire! J'ai mis à jour la question: mon nombre total d'observations est n = 60 sujets. Mon objectif n'est pas de prédire la variable dépendante aussi exactement que possible mais plutôt d'expliquer ce qui cause le résultat "en réalité" (= espérer trouver des relations entre les variables qui pourraient être confirmées dans des études / ensembles de données ultérieurs)
jokel

J'ai également posté une question de suivi comprenant des données factices. Je serais très reconnaissant pour tous les indices. stats.stackexchange.com/questions/34859/…
jokel

Réponses:


30

Je recommanderais d'essayer un GLM avec régularisation au lasso . Cela ajoute une pénalité au modèle pour le nombre de variables et à mesure que vous augmentez la pénalité, le nombre de variables dans le modèle diminue.

Vous devez utiliser la validation croisée pour sélectionner la valeur du paramètre de pénalité. Si vous avez R, je vous suggère d'utiliser le paquet glmnet . À utiliser alpha=1pour la régression au lasso et alpha=0pour la régression des crêtes. La définition d'une valeur entre 0 et 1 utilisera une combinaison de pénalités de lasso et de crête, également connues sous le nom de filet élastique.


4
Je suis d'accord avec Zach. David Cassell et moi avons écrit un article à ce sujet, en se concentrant sur SAS mais pas entièrement. C'est l' arrêt pas à pas .
Peter Flom - Réintègre Monica

1
Je pense que c'est 0 pour la crête et 1 pour le lasso
King

1
@Zach: Merci pour les conseils. Existe-t-il un moyen d'obtenir des statistiques de test qui me permettraient de juger de l'importance de prédicteurs uniques. Au final, je voudrais pouvoir dire "le prédicteur X est significativement lié à la variable dépendante Y".
jokel

2
Concernant les CI, du manuel d'un autre paquet R implémentant le LASSO ( cran.r-project.org/web/packages/penalized/vignettes/… , page 18): "C'est une question très naturelle de demander des erreurs standard de régression coefficients ou autres quantités estimées. En principe, ces erreurs-types peuvent être facilement calculées, par exemple en utilisant le bootstrap. Pourtant, ce paquet ne les fournit pas délibérément. La raison en est que les erreurs-types ne sont pas très significatives pour les estimations fortement biaisées comme celles qui surviennent des méthodes d'estimation pénalisées. "
miura

2
@miura Récemment présenté était un test statistique pour cela, par les auteurs originaux de Lasso aussi: papier et diapositives (plus faciles à lire)
Cam.Davidson.Pilon

23

Pour développer la réponse de Zach (+1), si vous utilisez la méthode LASSO en régression linéaire, vous essayez de minimiser la somme d'une fonction quadratique et d'une fonction de valeur absolue, à savoir:

minβ(Y-Xβ)T(Y-Xβ)+Σje|βje|

βLa fonction objectif LASSO

Le minimum se situe sur la courbe d'intersection, tracée ici avec les courbes de contour de la courbe quadratique et carrée:

Courbes de contour de LASSO

Vous pouvez voir que le minimum est sur l'un des axes, il a donc éliminé cette variable de la régression.

L1


8
(+1) mais pour le blog, ce qui est vraiment bien. Ce serait bien que vous développiez votre réponse ici un peu, car cela augmentera la probabilité que les informations restent disponibles.
richiemorrisroe

2

Quelle est votre opinion sur le nombre de prédicteurs susceptibles d'être importants? Est-il probable que la plupart d'entre elles aient un effet exactement nul, ou que tout affecte le résultat, certaines variables seulement moins que d'autres?

Et comment l'état de santé est-il lié à la tâche prédictive?

Si vous pensez que seules quelques variables sont importantes, vous pouvez essayer le pic et la dalle avant (dans le package spikeSlabGAM de R, par exemple), ou L1. Si vous pensez que tous les prédicteurs affectent le résultat, vous n'avez peut-être pas de chance.

Et en général, toutes les mises en garde liées à l'inférence causale à partir des données d'observation s'appliquent.


2

Quoi que vous fassiez, il est utile d'obtenir des intervalles de confiance bootstrap sur les rangs d'importance des prédicteurs pour montrer que vous pouvez vraiment le faire avec votre ensemble de données. Je doute que l'une des méthodes puisse trouver de manière fiable les "vrais" prédicteurs.


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.