l'importance des caractéristiques via la forêt aléatoire et la régression linéaire sont différentes


9

Appliqué Lasso pour classer les fonctionnalités et obtenu les résultats suivants:

rank feature prob.
==================================
1       a     0.1825477951589229
2       b     0.07858498115577893
3       c     0.07041793111843796

Notez que l'ensemble de données a 3 étiquettes. Le classement des fonctionnalités pour les différentes étiquettes est le même.

Ensuite, appliqué une forêt aléatoire au même ensemble de données:

rank feature score
===================================
1       b     0.17504808300002753
6       a     0.05132699243632827
8       c     0.041690685195283385

Notez que le classement est très différent de celui produit par Lasso.

Comment interpréter la différence? Cela implique-t-il que le modèle sous-jacent est intrinsèquement non linéaire?


Le rang d'une fonctionnalité ne se traduit pas vraiment entre différents classificateurs. Pour tester si le modèle n'est pas linéaire, voir ici par exemple: stats.stackexchange.com/questions/35893/…
Alex R.

1
L'importance des fonctionnalités n'est qu'une suggestion basée sur des "heuristiques". Ils peuvent parfois ne pas être fiables. Je ferais généralement plus confiance à la forêt aléatoire qu'à Lasso.
Gerenuk

Réponses:


6

Votre requête est donc une comparaison de la régression linéaire par rapport à l'importance des variables dérivée du modèle de la forêt aléatoire.

Le lasso trouve les coefficients du modèle de régression linéaire en appliquant la régularisation. Une approche populaire pour classer l'importance d'une variable dans un modèle de régression linéaire consiste à décomposer en contributions attribuées à chaque variable. Mais l'importance des variables n'est pas simple dans la régression linéaire en raison des corrélations entre les variables. Reportez-vous au document décrivant la méthode PMD (Feldman, 2005) dans les références ci-dessous.R2

Une autre approche populaire consiste à établir la moyenne des commandes (LMG, 1980). Le LMG fonctionne comme ceci:

  • Trouvez la corrélation semi-partielle de chaque prédicteur du modèle, par exemple pour la variable a que nous avons: . Cela implique combien augmenterait si la variable était ajoutée au modèle.SSa/SStotalR2a
  • Calculez cette valeur pour chaque variable pour chaque ordre dans lequel la variable est introduite dans le modèle, c'est-à-dire { }; { }; { }a,b,cb,a,cb,c,a
  • Trouvez la moyenne des corrélations semi-partielles pour chacun de ces ordres. Il s'agit de la moyenne des commandes.

L'algorithme de forêt aléatoire s'adapte à plusieurs arbres, chaque arbre de la forêt est construit en sélectionnant de manière aléatoire différentes entités dans l'ensemble de données. Les nœuds de chaque arbre sont construits en choisissant et en divisant pour obtenir une réduction maximale de la variance. Lors de la prédiction sur l'ensemble de données de test, la sortie des arbres individuels est moyennée pour obtenir la sortie finale. Chaque variable est permutée parmi tous les arbres et la différence d'erreur hors échantillon avant et après permutation est calculée. Les variables avec la différence la plus élevée sont considérées comme les plus importantes, et celles avec des valeurs plus faibles sont moins importantes.

La méthode d'ajustement du modèle aux données d'apprentissage est très différente pour un modèle de régression linéaire par rapport au modèle forestier aléatoire. Mais les deux modèles ne contiennent aucune relation structurelle entre les variables.

Concernant votre requête sur la non-linéarité de la variable dépendante: Le lasso est essentiellement un modèle linéaire qui ne pourra pas donner de bonnes prédictions pour un processus non linéaire sous-jacent, par rapport aux modèles basés sur des arbres. Vous devriez être en mesure de vérifier cela en vérifiant les performances des modèles sur un ensemble de test de mise de côté, si la forêt aléatoire fonctionne mieux, le processus sous-jacent peut être non linéaire. Vous pouvez également inclure des effets d'interaction variables et des variables d'ordre supérieur créées à l'aide de a, b et c dans le modèle de lasso et vérifier si ce modèle fonctionne mieux par rapport à un lasso avec uniquement une combinaison linéaire de a, b et c. Si c'est le cas, alors le processus sous-jacent pourrait être non linéaire.

Références:

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.