J'ai un grand ensemble de données composé des valeurs de plusieurs centaines de variables financières qui pourraient être utilisées dans une régression multiple pour prédire le comportement d'un fonds indiciel au fil du temps. Je voudrais réduire le nombre de variables à une dizaine tout en conservant autant de pouvoir prédictif que possible. Ajouté: L'ensemble réduit de variables doit être un sous-ensemble de l'ensemble de variables d'origine afin de préserver la signification économique des variables d'origine. Ainsi, par exemple, je ne devrais pas me retrouver avec des combinaisons linéaires ou des agrégats des variables d'origine.
Quelques réflexions (probablement naïves) sur la façon de procéder:
- Effectuez une régression linéaire simple avec chaque variable et choisissez les dix avec les plus grandes valeurs . Bien sûr, rien ne garantit que les dix meilleures variables individuelles combinées constitueraient le meilleur groupe de dix.
- Effectuez une analyse des composants principaux et essayez de trouver les dix variables d'origine avec les associations les plus importantes avec les premiers axes principaux.
Je ne pense pas pouvoir effectuer une régression hiérarchique car les variables ne sont pas vraiment imbriquées. Essayer toutes les combinaisons possibles de dix variables est impossible à calculer car il y a trop de combinaisons.
Existe-t-il une approche standard pour résoudre ce problème de réduction du nombre de variables dans une régression multiple?
Il semble que ce serait un problème suffisamment courant pour qu'il y ait une approche standard.
Une réponse très utile serait celle qui non seulement mentionne une méthode standard, mais donne également un aperçu de comment et pourquoi cela fonctionne. Alternativement, s'il n'y a pas une approche standard mais plutôt plusieurs avec des forces et des faiblesses différentes, une réponse très utile serait celle qui discute de leurs avantages et inconvénients.
Le commentaire de whuber ci-dessous indique que la demande du dernier paragraphe est trop large. Au lieu de cela, j'accepterais comme bonne réponse une liste des principales approches, peut-être avec une très brève description de chacune. Une fois que j'ai les termes, je peux creuser moi-même les détails de chacun.
Réponses:
Ce problème est généralement appelé sélection de sous-ensemble et il existe plusieurs approches différentes. Voir Google Scholar pour un aperçu des articles connexes .
la source
La méthode 1 ne fonctionne pas. La méthode 2 a de l'espoir selon la façon dont vous le faites. Il est préférable d'entrer les principaux composants dans un ordre décroissant de variance expliqué. Une approche plus interprétable consiste à effectuer un clustering variable, puis à réduire chaque cluster à un seul score (sans utiliser Y), puis à ajuster un modèle avec les scores du cluster.
la source
varclus
fonction dans leHmisc
package R , ou PROC VARCLUS dans SAS. La réduction des données peut aider à sous-définir les variables si vous faites preuve d'un peu de prudence; vous pouvez supprimer un cluster entier si sa valeur est de 0,3. Avec les principaux composants, il existe des techniques telles que la réduction de la batterie où vous approximez essentiellement les PC avec un sous-ensemble de leurs variables constitutives.Dans le chapitre 5 de l'exploration de données avec R, l'auteur montre quelques façons de choisir les prédicteurs les plus utiles. (Dans le contexte de la bioinformatique, où chaque ligne d'échantillon a plus de 12 000 colonnes!)
Il utilise d'abord des filtres basés sur la distribution statistique. Par exemple, si vous avez une demi-douzaine de prédicteurs ayant tous une moyenne et un écart-type similaires, vous pouvez vous en tirer avec un seul d'entre eux.
Il montre ensuite comment utiliser une forêt aléatoire pour trouver celles qui sont les prédicteurs les plus utiles. Voici un exemple abstrait autonome. Vous pouvez voir que j'ai 5 bons prédicteurs, 5 mauvais. Le code montre comment garder le meilleur 3.
La dernière approche de l'auteur consiste à utiliser un algorithme de regroupement hiérarchique pour regrouper des prédicteurs similaires en, disons, 30 groupes. Si vous voulez 30 prédicteurs divers, choisissez-en un au hasard dans chacun de ces 30 groupes.
Voici du code, en utilisant les mêmes exemples de données que ci-dessus, pour choisir 3 des 10 colonnes:
Mes données d'échantillon ne conviennent pas du tout à cette approche, car j'ai 5 bons prédicteurs et 5 qui ne sont que du bruit. Si les 10 prédicteurs étaient légèrement corrélés avec
y
, et avaient de bonnes chances d'être encore meilleurs lorsqu'ils sont utilisés ensemble (ce qui est tout à fait possible dans le domaine financier), alors cela peut être une bonne approche.la source
Vous pourriez envisager d'utiliser une méthode comme LASSO qui régularise les moindres carrés en sélectionnant une solution qui minimise la seule norme du vecteur de paramètres. Il s'avère que cela a pour effet en pratique de minimiser le nombre d'entrées non nulles dans le vecteur de paramètres. Bien que LASSO soit populaire dans certains cercles statistiques, de nombreuses autres méthodes connexes ont été envisagées dans le monde de la détection compressive.
la source