Classification vs régression pour la prédiction du signe d'une variable de réponse continue


8

Disons que je veux prédire si un projet sera rentable ou non. Dans mes données d'échantillon, la variable de réponse est en fait une variable continue: le $ profit / loss du projet.

Parce que mon objectif ultime est juste une classification binaire (projet rentable ou projet non rentable), dois-je utiliser une technique de classification? Ou dois-je utiliser la régression pour ne pas jeter les informations supplémentaires fournies par une variable de réponse continue?

Réponses:


10

Je ne peux pas penser à un exemple où je recommanderais une technique de classification lorsque la variable est continue ou ordinale. Après avoir ajusté efficacement un modèle continu, vous pouvez utiliser ce modèle pour estimer la probabilité que dépasse tout niveau d'intérêt. Si le modèle est gaussien, cette probabilité est fonction de la moyenne prédite et de l'écart-type résiduel.Y


4
Un exemple (comme indiqué ci-dessous) est si le coût d'une prévision incorrecte est le même pour tous les niveaux de rentabilité. C'est à dire. lorsque vous avez une variable continue, mais que vous ne vous intéressez vraiment qu'aux valeurs discrètes. Une spline avec n nœuds régressée à la variable continue peut mettre de nombreux nœuds sur les valeurs extrêmes pour modéliser avec précision la forme des données là-bas, tandis qu'une spline optimisée pour la classification peut mettre tous ses nœuds autour de 0.
Peter

9

Vladimir Vapnik (co-inventeur de la Support Vector Machine et principal théoricien de l'apprentissage informatique) préconise de toujours essayer de résoudre le problème directement, plutôt que de résoudre un problème plus général, puis de rejeter certaines des informations fournies par la solution. Je suis généralement d'accord avec cela, donc je suggérerais une approche de classification pour le problème tel qu'il se pose actuellement. La raison en est que si nous voulons uniquement classer un projet comme rentable ou non rentable, alors nous ne sommes vraiment intéressés que par la région où la rentabilité est proche de zéro. Si nous formons un modèle de classification, c'est là que nous concentrerons nos ressources de modélisation. Si nous adoptons une approche de régression, nous gaspillons peut-être des ressources de modélisation pour apporter de petites améliorations de performances pour des projets qui seront soit très rentables soit non rentables, potentiellement au détriment de l'amélioration des performances des projets limites.

Maintenant, la raison pour laquelle j'ai dit "tel qu'il se pose actuellement", c'est que très peu de problèmes impliquent en fait une classification binaire simple et dure (la reconnaissance optique des caractères en serait probablement une). Généralement, différents types de classification erronée ont des coûts différents, ou les fréquences de classe opérationnelle peuvent être inconnues, ou variables, etc. Dans de tels cas, il est préférable d'avoir un classificateur probabiliste, comme la régression logistique, plutôt qu'un SVM. S'il me semble que pour une application financière, nous ferons mieux si nous connaissons la probabilité que le projet soit rentable, et comment il sera ou non rentable. Nous pouvons très bien être disposés à financer un projet qui a une petite chance d'être rentable, mais massivement rentable s'il réussit, mais pas un projet qui est presque garanti pour réussir, mais qui aura une marge de profit si petite que nous le serions mieux vaut simplement mettre l'argent dans un compte d'épargne.

Frank et Omri374 ont donc tous les deux raison! (+1; o)

EDIT: Pour clarifier pourquoi la régression n'est pas toujours une bonne approche pour résoudre un problème de classification, voici un exemple. Supposons que nous ayons trois projets, avec une rentabilité , et pour chaque projet, nous avons une variable explicative qui, nous l'espérons, indique la rentabilité, . Si nous adoptons une approche de régression (avec décalage), nous obtenons les coefficients de régression et (à condition que j'aie fait les sommes correctement!). Le modèle prédit ensuite les projets comme générant des bénéfices , ety=($1000,+$1,+$1000)x=(1,2,10)β0=800.8288β1=184.8836y^1$616y^2$431y^3$1048. Notez que le deuxième projet est incorrectement prédit comme étant non rentable. Si en revanche, nous adoptons une approche de classification, et régressons plutôt sur , nous obtenons des coefficients de régression et , qui marque les trois projets comme suit: , et . Une approche de classification classe donc correctement le projet 1 comme non rentable et les deux autres comme étant rentables.t=2(y>=0)1β0=0.2603β1=0.1370t^1=0.1233t^2=0.0137t^3=1.1096

La raison pour laquelle cela se produit est qu'une approche de régression s'efforce également de minimiser la somme des erreurs quadratiques pour chacun des points de données. Dans ce cas, une SSE inférieure est obtenue en permettant au projet deux de tomber du mauvais côté de la frontière de décision, afin d'obtenir des erreurs plus faibles sur les deux autres points.

Frank a donc raison de dire qu'une approche de régression est probablement une bonne approche dans la pratique, mais si la classification est en fait l'objectif ultime, il y a des situations où elle peut mal fonctionner et une approche de classification fonctionnera mieux.


Je ne peux pas suivre cette logique. Un modèle de classification affaiblit les relations dans les données et un modèle continu ne nécessite pas davantage de ressources de modélisation. Un modèle continu tient compte du fait qu'un profit de 1 $ (bien que «rentable») est très différent d'un profit de 1 G $ . Un modèle de classification est un choix forcé où «aucun choix» (zone grise) n'est pas une option. Et l'inefficacité statistique des modèles binaires par rapport aux modèles continus est frappante. Vous pouvez toujours utiliser un modèle continu pour estimer Prob fois terminé. [Y>0|X]
Frank Harrell

Le fait qu'un modèle continu nécessite plus de ressources qu'un modèle de classification dépend de son type (par exemple, un modèle de réseau neuronal pourrait utiliser ses unités cachées pour modéliser des entités près de la frontière ou il pourrait les utiliser pour améliorer l'ajustement loin de la frontière). . Il en va de même dans une moindre mesure des poids d'un modèle linéaire, où les valeurs ajustées peuvent être dominées par des points de levier élevés qui ne sont nullement proches de la limite, ce qui pourrait être une mauvaise chose si une simple classification était réellement ce qui était important.
Dikran Marsupial

Votre deuxième point sur la rentabilité semble être essentiellement la raison pour laquelle je décris dans mon deuxième paragraphe (le vrai problème n'est probablement pas en fait une simple classification difficile), c'est pourquoi j'ai dit que vous et omri374 étaient corrects.
Dikran Marsupial

"Près de la limite" est inconnu d'un classificateur auquel les valeurs continues ne sont pas fournies . Y
Frank Harrell

Les systèmes de classification ont été utilisés pour localiser la frontière de décision à l'aide d'étiquettes discrètes depuis longtemps. Vous manquez le point, je suis en fait principalement d'accord avec ce que vous avez écrit, avec la mise en garde que le modèle peut être biaisé par des points de levier élevés qui ne sont pas près de la limite de décision, ce qui peut réduire les performances si la classification est réellement le but ( ce qui est relativement rare dans la pratique). J'ai vu ce phénomène dans mon travail appliqué au fil des ans, mais j'utilise encore souvent des modèles de régression pour résoudre moi-même des problèmes de classification. Demandez au professeur Vapnik.
Dikran Marsupial du

3

Après avoir lu les commentaires, je pense que la distinction suivante est ce qui manque à la discussion:

Comment modéliser le problème

Cela n'a rien à voir avec la technique à utiliser. C'est la question de savoir quelles sont les entrées et les sorties et comment évaluer le résultat.

Si vous ne vous souciez vraiment que de la rentabilité ou non de nos projets, et du montant auquel ils le sont, cela n'a absolument aucune importance, vous devez modéliser cela comme un problème de classification. Cela signifie que vous optimisez en fin de compte le taux attendu de classification correcte (précision) ou AUC. La traduction de cette optimisation dépend de la technique que vous utilisez.

Toutes les questions de choix de modèle et d'algorithmes de recherche peuvent être abordées de manière heuristique (en utilisant les arguments qui ont été avancés dans les autres réponses et commentaires) mais la preuve ultime du pudding réside dans l'alimentation. Quel que soit le modèle que vous possédez, vous évaluerez par des tests de validation croisés la précision, la précision est donc ce que vous optimisez.

Comment résoudre le problème

Vous pouvez utiliser n'importe quelle méthode que vous aimez qui correspond au paradigme de classification. Puisque vous avez une variable y continue, vous pouvez effectuer une régression sur celle-ci et la traduire en une classification binaire. Cela fonctionnera probablement bien. Cependant, rien ne garantit que le modèle de régression optimal (par la somme des erreurs quadratiques ou du maximum de vraisemblance ou autre) vous donnera également le modèle de classification optimal (par précision ou ASC).


+1 comme maxime générale, je suggère que la première tâche consiste à avoir une idée claire du problème à résoudre, et la seconde consiste à aborder le problème avec la méthode qui donne la réponse la plus directe à la question qui est réellement étant demandé. C'est une légère généralisation de la maxime de Vapnik, mais seulement très légère!
Dikran Marsupial

Formuler le problème de cette manière n'implique toujours pas que la dichotomisation de soit la bonne approche. Comme je l'ai dit ailleurs, vous pouvez calculer la probabilité que étant donné les estimations optimales du coefficient de régression à partir d'un modèle continu. YY>0
Frank Harrell

Notez que je ne dis pas que vous devez nécessairement jeter ou ignorer les valeurs y continues. Mais il y a une différence entre les utiliser dans un classifieur et optimiser la précision de la régression (vous modélisez le problème en tant que classification, mais vous le résolvez avec la régression). Il se pourrait bien que votre meilleure solution soit une méthode de régression, mais vous devriez le prouver en l'évaluant en tant que classifieur. Et il y a des situations où jeter les valeurs continues et utiliser uniquement les valeurs discrétisées vous donnera de meilleures performances.
Peter

L'évaluer en tant que classificateur implique que votre fonction d'utilité est discontinue, ce qui ne me semble pas réaliste. Cela implique également que les décisions binaires sont forcées, c'est-à-dire qu'il n'y a pas de catégorie "pas de décisions, obtenir plus de données". J'ai créé des exemples où la précision de la classification diminue après avoir ajouté une variable très importante au modèle. Le problème n'est pas avec la variable; c'est avec la mesure de précision.
Frank Harrell

S'il est vrai que vous pouvez déterminer la frontière de décision si vous avez la probabilité que , le problème est que l'estimation de cette probabilité est un problème d'estimation plus difficile que d'estimer simplement la frontière de décision. Comme nous avons généralement une quantité limitée de données, la difficulté supplémentaire d'estimation signifie que l'approche de dichotomisation fonctionne mieux dans la pratique. C'est l'idée qui sous-tend le SVM, qui a fait ses preuves dans une grande variété de problèmes de classification. Y>0
Dikran Marsupial

1

Un modèle de classification tente généralement de minimiser le signe (erreur de classe) et non le biais. Dans le cas de nombreuses valeurs aberrantes, par exemple, je préférerais utiliser un modèle de classification et non un modèle de régression.


Cela ne suit pas et sera terriblement inefficace. Vous pouvez utiliser un modèle continu robuste comprenant un modèle semi-paramétrique tel que le modèle de cotes proportionnelles.
Frank Harrell

0

Je définirais le problème comme celui de minimiser les pertes. La question est quelle est votre véritable fonction de perte? Une prévision incorrecte de rentabilité lorsque le projet a perdu 1 $ coûte-t-elle autant qu'une prévision de rentabilité lorsque le projet a perdu 1000 $ ? Dans ce cas, votre fonction de perte est vraiment binaire, et vous feriez mieux de présenter le tout comme un problème de classification. La fonction de régression peut toujours être l'un de vos classificateurs candidats, mais vous devez l'optimiser avec la fonction de perte discrète plutôt que la fonction continue. Si vous avez une définition plus compliquée de la perte, vous devriez essayer de la formaliser et voir ce que vous obtenez si vous prenez le dérivé.

Fait intéressant, de nombreuses méthodes d'apprentissage automatique optimisent en fait une fonction de perte discrète en se rapprochant d'une fonction continue, car une fonction de perte discrète fournit de mauvais gradients pour l'optimisation. Vous pouvez donc finir par le jeter comme un problème de classification, car c'est votre fonction de perte, mais en rapprochant ensuite cette fonction de perte avec la fonction continue d'origine.


Cela ne raconte pas toute l'histoire. Avec la régression gaussienne, l'estimateur du maximum de vraisemblance de Prob est une fonction de la variance moyenne et résiduelle prévue. [Y>0|X]
Frank Harrell

C'est intéressant. Mais le ML n'est en aucun cas l'objectif ultime, c'est la précision ou l'AUC. Si vous optimisez la probabilité (ou SSE), vous risquez de «dépenser la complexité du modèle» en modélisant des artefacts de données sans importance. Un modèle équivalent peut en fait réduire la précision de sa modélisation pour se concentrer sur l'amélioration de la précision de la classification.
Peter

Cela dépend de ce que vous entendez par «précision», et l'ASC est rarement une quantité appropriée à optimiser en raison de sa fonction de perte implicite. Vous n'avez pas besoin de dépenser la complexité du modèle en artefacts si vous effectuez correctement la modélisation continue. La proportion classée correcte est une règle de notation incorrecte optimisée par un faux modèle. Si 0,99 des entreprises sont rentables dans une bonne année, vous auriez raison de 0,99 en ignorant toutes données et en classant simplement toutes les entreprises comme rentables. L'utilisation de prédicteurs précieux (dans un sens autre que la classification) peut réduire la précision de la classification. X
Frank Harrell

Je suis d'accord avec vos craintes au sujet de l'AUC. Par précision, je veux dire la proportion classée correctement. Je conviens qu'il est peu probable que l'affiche ne s'intéresse vraiment qu'aux variables binaires, et je soupçonne qu'en réalité le montant des bénéfices réalisés joue un rôle. Mais si la classification discrète est vraiment la seule préoccupation, alors je ne vois rien d'autre à optimiser qu'une mesure de classification. Et si vos classes sont fortement orientées vers la classe rentable, ignorer les données et toujours les classer comme rentables sera en effet une base de référence difficile à battre.
Peter

La proportion correctement classée est encore pire que l'ASC. Il a été démontré dans la littérature allemande sur la prise de décision dans les années 1970 que la précision de la classification est une règle de notation incorrecte. Si une classification discrète est votre préoccupation, elle peut être obtenue à la dernière seconde. Les décisions optimales de Bayes utilisent un conditionnement complet sur toutes les informations disponibles.
Frank Harrell
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.