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?
regression
modeling
deep-learning
model
cart
amityaffliction
la source
la source
Réponses:
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
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? .ri Y^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/xi⋅zi x z
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.
la source
Peter Ellis a un exemple très simple
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.
la source
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 :
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".
la source
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!
la source