La régression basée sur un arbre peut-elle être pire que la régression linéaire ordinaire?

9

Salut, j'étudie les techniques de régression.

Mes données ont 15 fonctionnalités et 60 millions d'exemples (tâche de régression).

Lorsque j'ai essayé de nombreuses techniques de régression connues (arbre boosté par gradient, régression d'arbre de décision, AdaBoostRegressor, etc.), la régression linéaire s'est très bien déroulée.

Meilleur score parmi ces algorithmes.

Quelle peut en être la raison? Parce que mes données ont tellement d'exemples, la méthode basée sur DT peut bien s'adapter.

  • crête de régression linéaire régularisée, le lasso a moins bien performé

Quelqu'un peut-il me parler d'autres algorithmes de régression performants?

  • La machine de factorisation et la régression vectorielle de support sont-elles une bonne technique de régression à essayer?
amityaffliction
la source
2
Cela a beaucoup plus à voir avec vos données qu'avec l'algorithme. La structure d'une régression linéaire est juste un bon ajustement pour vos données.
Matthew Drury
merci d'avoir répondu à @MatthewDrury. en observant ces caractéristiques, j'essaie de trouver les caractéristiques de mes données. Il a clairement de petites fonctionnalités et de nombreux exemples. et fonctionnent mieux sur la régression du réseau neuronal ordinaire. et par le fait que les modèles non paramétriques tels que l'augmentation du gradient fonctionnent légèrement moins bien que la régression paramétrique (en supposant la forme de la fonction), puis-je dire que mes données ne peuvent pas donner beaucoup d'informations sur des données inconnues, quel que soit le nombre d'exemples que j'ai? J'ai du mal à déduire la caractéristique de mes données du résultat.
amityaffliction
Travaillez d'abord avec une réjection linéaire multiple, puis étudiez les graphiques résiduels et autres pour vraiment comprendre l'ajustement. Ensuite, vous pouvez voir de quelles manières l'ajustement est mauvais. Ne vous contentez pas de jeter les données sur différents algorithmes, travaillez dur pour comprendre les ajustements.
kjetil b halvorsen
@kjetilbhalvorsen merci pour la réponse. J'ai 15 variables indépendantes. Alors, comment puis-je tracer ou obtenir un aperçu de l'ajustement résiduel. Pouvez-vous m'aider?
amityaffliction

Réponses:

11

Vous ne devez pas simplement jeter les données sur différents algorithmes et regarder la qualité des prédictions. Vous devez mieux comprendre vos données, et la façon de procéder consiste d'abord à visualiser vos données (les distributions marginales). Même si vous ne vous intéressez finalement qu'aux prévisions, vous serez mieux placé pour faire de meilleurs modèles si vous comprenez mieux les données. Donc, d'abord, essayez de mieux comprendre les données (et les modèles simples adaptés aux données), puis vous êtes bien mieux placé pour créer des modèles plus complexes et, espérons-le, meilleurs.

Ensuite, ajustez des modèles de régression linéaire, avec vos 15 variables comme prédicteurs (plus tard, vous pourrez examiner les interactions possibles). Ensuite, calculez les résidus à partir de cet ajustement, c'est-à-dire Si le modèle est précis, c'est-à-dire qu'il a pu extraire le signal (structure) à partir des données, les résidus ne devraient présenter aucun motif. Box, Hunter & Hunter: "Statistics for Experimenters" (que vous devriez consulter, c'est l'un des meilleurs livres jamais publiés sur les statistiques) compare cela à une analogie de la chimie: le modèle est un "filtre" conçu pour capturer les impuretés l'eau (les données). Ce qui reste, qui est passé à travers le filtre, doit alors être "propre" et son analyse (analyse des résidus) peut montrer que, lorsqu'il ne contient pas d'impuretés (structure). Voir

ri=YiY^i,i=1,2,,n
Vérification de la normalité des résidus dans les modèles linéaires généralisés

Pour savoir ce qu'il faut vérifier, vous devez comprendre les hypothèses de régression linéaire, voir Qu'est - ce qu'une liste complète des hypothèses habituelles de régression linéaire?

Une hypothèse habituelle est l'homoscédasticité, c'est-à-dire la variance constante. Pour vérifier cela, tracez les résidus rapport aux valeurs prédites, . Pour comprendre cette procédure, voir: Pourquoi les parcelles résiduelles sont-elles construites en utilisant les résidus par rapport aux valeurs prédites? . riY^i

D'autres hypothèses sont la linéarité . Pour les vérifier, tracez les résidus par rapport à chacun des prédicteurs du modèle. Si vous voyez une courbure dans ces graphiques, c'est une preuve contre la linéarité. Si vous constatez une non-linéarité, vous pouvez essayer des transformations ou (approche plus moderne) inclure ce prédicteur non linéaire dans le modèle de manière non linéaire, peut-être en utilisant des splines (vous avez 60 millions d'exemples, cela devrait donc être tout à fait faisable! ).

Ensuite, vous devez vérifier les interactions possibles. Les idées ci-dessus peuvent également être utilisées pour des variables ne figurant pas dans le modèle ajusté . Puisque vous ajustez un modèle sans interactions, qui incluent des variables d'interaction, comme le produit pour deux variables , . Tracez donc les résidus par rapport à toutes ces variables d'interaction. Un article de blog avec de nombreux exemples est http://docs.statwing.com/interpreting-residual-plots-to-improve-your-regression/xizixz

Un traitement d'une longueur de livre est R Dennis Cook & Sanford Weisberg: "Residuals and influence in regression", Chapman & Hall. Un traitement plus moderne de longueur de livre est Frank Harrell: "Stratégies de modélisation de régression".

Et, venant bact à la question dans le titre: "La régression basée sur l'arbre peut-elle être pire que la régression linéaire ordinaire?" Oui, bien sûr. Les modèles arborescents ont pour fonction de régression une fonction d'étape très complexe. Si les données proviennent vraiment (se comportent comme simulées à partir d'un) modèle linéaire, alors les fonctions de pas peuvent être une mauvaise approximation. Et, comme le montrent des exemples dans l'autre réponse, les modèles arborescents peuvent mal extrapoler en dehors de la plage des prédicteurs observés. Vous pouvez également essayer randomforrest et voir à quel point c'est mieux qu'un seul arbre.

kjetil b halvorsen
la source
3
Juste pour clarifier: lorsque vous dites «distributions marginales», vous pouvez également dire en regardant les distributions univariées de chaque variable, n'est-ce pas? Ils sont "marginaux" dans le sens où les distributions apparaîtront en marge d'un nuage de points ou quelque chose.
Mark White
Une autre question: vous dites "Vous ne devez pas simplement jeter les données sur différents algorithmes et regarder la qualité des prédictions." Ma question est: pourquoi? Si vous vérifiez l'exactitude des données d'un test, c'est. Si nous sommes plus intéressés par la prédiction, alors nous n'avons pas à nous soucier d'une erreur de type I ou de quelque chose comme ça qui serait un problème si nous étions intéressés par la signification statistique et les tests multiples.
Mark White
Même si vous ne vous intéressez finalement qu'aux prévisions, vous serez en meilleure position pour meka de meilleurs modèles si vous comprenez mieux les données. Donc, d'abord, essayez de mieux comprendre les données (et les modèles simples ajustés aux données), puis vous êtes bien mieux placé pour créer des modèles plus complexes et, espérons-le, meilleurs.
kjetil b halvorsen
9

Peter Ellis a un exemple très simple

Image téléchargée à partir du site lié

où la régression linéaire donne de meilleurs résultats que les arbres de régression, extrapolant au-delà des valeurs observées dans l'échantillon.

Dans cette image, les points noirs sont les valeurs observées et les points colorés sont les valeurs prédites. Les données réelles sont générées selon une ligne simple avec un peu de bruit, donc la régression linéaire et le réseau neuronal font un bon travail d'extrapolation au-delà des données observées. Les modèles arborescents ne le font pas.

Maintenant, avec 60 millions de points de données, vous pourriez ne pas vous inquiéter à ce sujet. (L'avenir parvient toujours à me surprendre cependant!) Mais c'est une illustration intuitive d'une situation dans laquelle les arbres échoueront.

Andy W
la source
merci pour la réponse intuitive. même si j'ai de nombreux points de données, compte tenu des caractéristiques de mes données, je pense qu'elles ne parviennent pas à extrapoler!
amityaffliction
car le modèle basé sur NN fonctionne mieux que la régression linéaire.
amityaffliction
encore une question. Est-il difficile d'extrapoler le problème courant des techniques de régression non paramétrique?
amityaffliction
Non paramétrique est un large filet. Pour extrapoler, vous devez identifier une fonction continue sous-jacente. Les modèles d'arbre ressemblent plus à l'identification de nombreuses petites étapes, par conséquent, ils ne suivent pas la ligne en dehors du domaine de l'échantillon observé dans cet exemple.
Andy W
5

C'est un fait bien connu que les arbres sont mal adaptés pour modéliser des relations vraiment linéaires. Voici une illustration (Fig 8.7) du livre ISLR : Fig. 8.7

Ligne du haut: exemple de classification à deux dimensions dans lequel la véritable frontière de décision est linéaire et est indiquée par les régions ombrées. Une approche classique qui suppose une frontière linéaire (à gauche) surclassera un arbre de décision qui effectue des divisions parallèles aux axes (à droite).

Donc, si votre variable dépendante dépend des régresseurs de façon plus ou moins linéaire, vous vous attendez à ce que la "régression linéaire fonctionne très bien".

Markus Loecher
la source
2

Toute approche basée sur un arbre de décision (CART, C5.0, forêts aléatoires, arbres de régression boostés, etc.) identifie les zones homogènes dans vos données et attribue la valeur moyenne des données contenues dans cette région au `` congé '' correspondant. Donc, ils sont granulaires et ensuite, ils doivent montrer une série d'étapes dans les sorties. Ceux basés sur les «forêts» ne montrent pas ce phénomène de manière prononcée mais il est toujours là. L'agrégation d'un grand nombre d'arbres la nuance. Lorsqu'une valeur donnée est en dehors de la plage d'origine, la donnée est affectée au `` congé '' qui inclut la condition extrême trouvée dans l'ensemble de données d'apprentissage et la sortie est par conséquent la valeur moyenne des valeurs contenues dans ce congé. Ainsi, aucune extrapolation n'est possible. Soit dit en passant, les RNA sont de piètres extrapolateurs. Tu peux vérifier: Pichaid Varoonchotikul - Prévision des crues à l'aide de neurones artificiels et Hettiarachchi et al. L'extrapolation des réseaux de neurones artificiels pour la modélisation des relations pluie-ruissellement est très illustrative et facile à trouver sur le net! Bonne chance!

Rafa_Mas
la source