Klassifikation vs. Regression zur Vorhersage des Vorzeichens einer kontinuierlichen Antwortvariablen

8

Angenommen, ich möchte vorhersagen, ob ein Projekt rentabel ist oder nicht. In meinen Beispieldaten ist die Antwortvariable tatsächlich eine kontinuierliche Variable: der $ Gewinn / Verlust des Projekts.

Sollte ich eine Klassifizierungstechnik verwenden, da mein letztendliches Ziel nur eine binäre Klassifizierung ist (profitables Projekt oder unrentables Projekt)? Oder sollte ich die Regression verwenden, damit ich die zusätzlichen Informationen, die eine kontinuierliche Antwortvariable liefert, nicht wegwerfe?

user2303
quelle

Antworten:

10

Ich kann mir kein Beispiel vorstellen, bei dem ich eine Klassifizierungstechnik empfehlen würde, wenn die Variable stetig oder ordinal ist. Nachdem Sie ein kontinuierliches Modell effizient angepasst haben, können Sie dieses Modell verwenden, um die Wahrscheinlichkeit zu schätzen, dass beliebiges interessierendes Niveau überschreitet. Wenn das Modell Gaußsch ist, ist diese Wahrscheinlichkeit eine Funktion des vorhergesagten Mittelwerts und der verbleibenden Standardabweichung.Y.

Frank Harrell
quelle
4
Ein Beispiel (wie unten angegeben) ist, wenn die Kosten für eine falsche Vorhersage für alle Rentabilitätsstufen gleich sind. Dh. wenn Sie eine stetige Variable haben, sich aber wirklich nur für die diskreten Werte interessieren. Ein Spline mit n Knoten, der auf die kontinuierliche Variable zurückgeführt wird, kann viele Knoten auf die Extremwerte setzen, um die Form der Daten dort genau zu modifizieren, während ein für die Klassifizierung optimierter Spline alle seine Knoten um 0 setzen kann.
Peter
9

Vladimir Vapnik (Miterfinder der Support Vector Machine und führender Theoretiker des rechnergestützten Lernens) befürwortet, immer zu versuchen, das Problem direkt zu lösen, anstatt ein allgemeineres Problem zu lösen und dann einige der von der Lösung bereitgestellten Informationen zu verwerfen. Ich bin im Allgemeinen damit einverstanden, daher würde ich einen Klassifizierungsansatz für das derzeit gestellte Problem vorschlagen. Der Grund dafür ist, dass wir, wenn wir nur daran interessiert sind, ein Projekt als rentabel oder nicht rentabel einzustufen, wirklich nur an der Region interessiert sind, in der die Rentabilität bei Null liegt. Wenn wir ein Klassifizierungsmodell bilden, konzentrieren wir dort unsere Modellierungsressourcen. Wenn wir einen Regressionsansatz verfolgen, verschwenden wir möglicherweise Modellierungsressourcen, um kleine Leistungsverbesserungen für Projekte zu erzielen, die entweder sehr rentabel oder unrentabel sind, möglicherweise auf Kosten der Leistungsverbesserung von Grenzprojekten.

Der Grund, warum ich "wie derzeit gestellt" sagte, ist, dass nur sehr wenige Probleme tatsächlich eine einfache, harte binäre Klassifizierung beinhalten (optische Zeichenerkennung wäre wahrscheinlich eine). Im Allgemeinen haben verschiedene Arten der Fehlklassifizierung unterschiedliche Kosten, oder die Häufigkeit von Betriebsklassen kann unbekannt oder variabel sein usw. In solchen Fällen ist es besser, einen probabilistischen Klassifikator wie die logistische Regression zu habeneher als eine SVM. Wenn mir das für eine finanzielle Anwendung erscheint, werden wir es besser machen, wenn wir die Wahrscheinlichkeit kennen, ob das Projekt rentabel sein wird und wie rentabel oder auf andere Weise es wahrscheinlich ist. Wir sind möglicherweise bereit, ein Projekt zu finanzieren, das eine geringe Rentabilitätschance hat, aber im Erfolgsfall massiv profitabel ist, aber kein Projekt, dessen Erfolg fast garantiert ist, das aber eine so geringe Gewinnspanne aufweist, wie wir es wären Besser einfach das Geld auf ein Sparkonto stecken.

Frank und Omri374 haben also beide recht! (+1; o)

BEARBEITEN: Um zu verdeutlichen, warum Regression möglicherweise nicht immer ein guter Ansatz zur Lösung eines Klassifizierungsproblems ist, finden Sie hier ein Beispiel. Angenommen, wir haben drei Projekte mit Rentabilität , und für jedes Projekt haben wir eine erklärende Variable, von der wir hoffen, dass sie die Rentabilität anzeigt, x = ( 1 , 2) , 10 ) . Wenn wir einen Regressionsansatz (mit Offset) wählen , erhalten wir Regressionskoeffizienten β 0 = - 800,8288y=(- -$1000,+$1,+$1000)x=(1,2,10)β0=- -800.8288und (vorausgesetzt, ich habe die Summen richtig gemacht!). Das Modell sagt dann die Projekte als Nachgeben Gewinne y 1- $ 616 , y 2- $ 431 und y 3$ 1.048 . Beachten Sie, dass das zweite Projekt fälschlicherweise als unrentabel vorhergesagt wird. Wenn wir andererseits einen Klassifizierungsansatz verfolgen und stattdessen auf t = 2 ( y > = 0 ) zurückgehen -β1=184,8836y^1- -$616y^2- -$431y^3$1048 , erhalten wir Regressionskoeffizienten ß 0 = - 0,2603 und β 1 = 0,1370 , die Partituren der drei Projekte wie folgt: t 1 = - 0,1233 , t 2 = 0,0137 und t 3 = 1,1096 . Ein Klassifizierungsansatz klassifiziert Projekt 1 korrekt als unrentabel und die anderen beiden als rentabel.t=2(y> =0)- -1β0=- -0,2603β1=0,1370t^1=- -0,1233t^2=0,0137t^3=1.1096

Der Grund dafür ist, dass ein Regressionsansatz gleichermaßen bemüht ist, die Summe der quadratischen Fehler für jeden der Datenpunkte zu minimieren. In diesem Fall wird eine niedrigere SSE erhalten, indem Projekt zwei auf die falsche Seite der Entscheidungsgrenze fallen gelassen wird, um geringere Fehler an den beiden anderen Punkten zu erzielen.

Frank sagt also zu Recht, dass ein Regressionsansatz in der Praxis wahrscheinlich ein guter Ansatz ist, aber wenn die Klassifizierung tatsächlich das ultimative Ziel ist, gibt es Situationen, in denen er schlecht abschneiden kann und ein Klassifizierungsansatz besser abschneidet.

Dikran Beuteltier
quelle
Ich kann dieser Logik nicht folgen. Ein Klassifizierungsmodell schwächt die Beziehungen in den Daten, und ein kontinuierliches Modell erfordert keine weiteren Modellierungsressourcen. Ein kontinuierliches Modell berücksichtigt, dass ein Gewinn von 1 USD (obwohl "profitabel") sich stark von einem Gewinn von 1 Mrd. USD unterscheidet . Ein Klassifizierungsmodell ist eine erzwungene Wahl, bei der "keine Wahl" (Grauzone) keine Option ist. Auffällig ist die statistische Ineffizienz von Binärmodellen gegenüber kontinuierlichen. Sie können immer ein kontinuierliches Modell verwenden, um Prob zu schätzen X ] wenn fertig. [Y.>0|X.]]
Frank Harrell
Ob ein kontinuierliches Modell mehr Ressourcen als ein Klassifizierungsmodell benötigt, hängt davon ab, um welche Art von Modell es sich handelt (z. B. könnte ein neuronales Netzwerkmodell seine verborgenen Einheiten verwenden, um Merkmale in der Nähe der Grenzlinie zu modellieren, oder sie könnten sie verwenden, um die Anpassung von der Grenzlinie weg zu verbessern). . Gleiches gilt in geringerem Maße für die Gewichte eines linearen Modells, bei dem die angepassten Werte möglicherweise von hohen Hebelpunkten dominiert werden, die sich nicht in der Nähe der Grenzlinie befinden. Dies kann eine schlechte Sache sein, wenn eine einfache Klassifizierung tatsächlich wichtig ist.
Dikran Marsupial
Ihr zweiter Punkt zur Rentabilität scheint im Wesentlichen der Grund zu sein, warum ich ihn in meinem zweiten Absatz beschreibe (das eigentliche Problem ist wahrscheinlich keine einfache harte Klassifizierung), weshalb ich sagte, dass sowohl Sie als auch omri374 richtig waren.
Dikran Beuteltier
Y.
Klassifikatorsysteme werden seit langem verwendet, um die Entscheidungsgrenze unter Verwendung diskreter Beschriftungen zu lokalisieren. Sie verpassen den Punkt, ich stimme tatsächlich größtenteils mit dem überein, was Sie geschrieben haben, mit der Einschränkung, dass das Modell durch Punkte mit hohem Hebel verzerrt werden kann, die nicht in der Nähe der Entscheidungsgrenze liegen, was die Leistung verringern kann, wenn die Klassifizierung tatsächlich das Ziel ist ( was in der Praxis relativ selten ist). Ich habe dieses Phänomen in meiner angewandten Arbeit über die Jahre gesehen, aber ich verwende immer noch häufig Regressionsmodelle, um Klassifizierungsprobleme selbst zu lösen. Fragen Sie Prof. Vapnik.
Dikran Marsupial
3

Nach dem Lesen der Kommentare denke ich, dass die folgende Unterscheidung in der Diskussion fehlt:

So modellieren Sie das Problem

Dies hat nichts mit der zu verwendenden Technik zu tun. Es ist die Frage, was die Ein- und Ausgänge sind und wie das Ergebnis zu bewerten ist.

Wenn Sie sich wirklich nur darum kümmern, ob unsere Projekte rentabel sind oder nicht, und der Betrag, um den dies der Fall ist, absolut irrelevant ist, sollten Sie dies als Klassifizierungsproblem modellieren. Das heißt, Sie optimieren letztendlich für die erwartete Rate der korrekten Klassifizierung (Genauigkeit) oder AUC. Was diese Optimierung bedeutet, hängt davon ab, welche Technik Sie verwenden.

Alle Fragen der Modellauswahl und der Suchalgorithmen können heuristisch angegangen werden (unter Verwendung der Argumente, die in den anderen Antworten und Kommentaren dargelegt wurden), aber der ultimative Beweis für den Pudding ist das Essen. Unabhängig davon, welches Modell Sie haben, werden Sie durch Kreuzvalidierungstests auf Genauigkeit prüfen, sodass Sie die Genauigkeit optimieren.

So lösen Sie das Problem

Sie können jede Methode verwenden, die zum Klassifizierungsparadigma passt. Da Sie eine kontinuierliche y-Variable haben, können Sie eine Regression durchführen und in eine binäre Klassifizierung übersetzen. Dies wird wahrscheinlich gut funktionieren. Es gibt jedoch keine Garantie dafür, dass das optimale Regressionsmodell (durch Summe der quadratischen Fehler oder der maximalen Wahrscheinlichkeit oder was auch immer) auch das optimale Klassifizierungsmodell (durch Genauigkeit oder AUC) liefert.

Peter
quelle
+1 als allgemeine Maxime würde ich vorschlagen, dass die erste Aufgabe darin besteht, eine klare Vorstellung von dem zu lösenden Problem zu haben, und die zweite darin, das Problem mit der Methode anzugehen, die die direkteste Antwort auf die tatsächlich gestellte Frage gibt gefragt werden. Dies ist eine leichte Verallgemeinerung von Vapniks Maxime, aber nur sehr geringfügig!
Dikran Beuteltier
Y.Y.>0
Beachten Sie, dass ich nicht sage, dass Sie die kontinuierlichen y-Werte unbedingt wegwerfen oder ignorieren sollten. Es gibt jedoch einen Unterschied zwischen der Verwendung in einem Klassifikator und der Optimierung der Regressionsgenauigkeit (Sie modellieren das Problem als Klassifizierung, lösen es jedoch mit Regression). Es kann gut sein, dass Ihre beste Lösung eine Regressionsmethode ist, aber Sie sollten dies beweisen, indem Sie sie als Klassifikator bewerten. Und es gibt Situationen, in denen Sie die kontinuierlichen Werte wegwerfen und nur die diskretisierten Werte verwenden, um eine bessere Leistung zu erzielen.
Peter
Die Bewertung als Klassifikator impliziert, dass Ihre Utility-Funktion diskontinuierlich ist, was mir nicht realistisch erscheint. Dies impliziert auch, dass binäre Entscheidungen erzwungen werden, dh es gibt keine Kategorie von "keine Entscheidungen, mehr Daten erhalten". Ich habe Beispiele erstellt, bei denen die Klassifizierungsgenauigkeit nach dem Hinzufügen einer sehr wichtigen Variablen zum Modell abnimmt. Das Problem liegt nicht bei der Variablen; es ist mit dem Genauigkeitsmaß.
Frank Harrell
Y.>0
1

Ein Klassifizierungsmodell versucht im Allgemeinen, das Vorzeichen (Fehler in Bezug auf die Klasse) und nicht die Verzerrung zu minimieren. Bei vielen Ausreißern würde ich zum Beispiel lieber ein Klassifizierungsmodell als ein Regressionsmodell verwenden.

Omri374
quelle
Das folgt nicht und wird furchtbar ineffizient sein. Sie können ein robustes kontinuierliches Modell verwenden, das ein semiparametrisches Modell wie das Proportional-Odds-Modell enthält.
Frank Harrell
0

Ich würde das Problem als das Minimieren von Verlusten bezeichnen. Die Frage ist, was ist Ihre wahre Verlustfunktion? Kostet eine falsche Vorhersage der Rentabilität, wenn das Projekt 1 USD verloren hat, genauso viel wie eine Vorhersage der Rentabilität, wenn das Projekt 1000 USD verloren hat ? In diesem Fall ist Ihre Verlustfunktion wirklich binär, und Sie sollten das Ganze besser als Klassifizierungsproblem betrachten. Die Regressionsfunktion ist möglicherweise immer noch einer Ihrer Kandidatenklassifizierer, aber Sie sollten sie eher mit der diskreten Verlustfunktion als mit der kontinuierlichen optimieren. Wenn Sie eine kompliziertere Definition von Verlust haben, sollten Sie versuchen, diese zu formalisieren und zu sehen, was Sie erhalten, wenn Sie das Derivat nehmen.

Interessanterweise optimieren viele Methoden des maschinellen Lernens tatsächlich eine diskrete Verlustfunktion, indem sie sich einer kontinuierlichen annähern, da eine diskrete Verlustfunktion schlechte Gradienten für die Optimierung liefert. Sie können es also als Klassifizierungsproblem betrachten, da dies Ihre Verlustfunktion ist, aber dann diese Verlustfunktion mit der ursprünglichen kontinuierlichen Funktion approximieren.

Peter
quelle
[Y.>0|X.]]
Das ist interessant. Aber ML ist keineswegs das ultimative Ziel, das ist entweder Genauigkeit oder AUC. Wenn Sie die Wahrscheinlichkeit (oder SSE) optimieren, werden Sie möglicherweise "Modellkomplexität" für die Modellierung von Datenartefakten ausgeben, die keine Rolle spielen. Ein äquivalentes Modell kann tatsächlich die Genauigkeit seiner Modellierung verringern, um sich auf die Verbesserung der Klassifizierungsgenauigkeit zu konzentrieren.
Peter
X.
Ich stimme Ihren Bedenken bezüglich der AUC zu. Mit Genauigkeit meine ich den richtig klassifizierten Anteil. Ich stimme zu, dass es unwahrscheinlich ist, dass das Poster wirklich nur an den binären Variablen interessiert ist, und ich vermute, dass tatsächlich die Höhe des erzielten Gewinns eine Rolle spielt. Aber wenn die diskrete Klassifizierung wirklich das einzige Problem ist, sehe ich nichts anderes zu optimieren als ein Klassifizierungsmaß. Und wenn Ihre Klassen so stark auf die profitable Klasse ausgerichtet sind, ist es in der Tat schwer, die Daten zu ignorieren und immer als profitabel zu klassifizieren.
Peter
Der korrekt klassifizierte Anteil ist sogar noch schlechter als die AUC. In der deutschen Entscheidungsliteratur wurde in den 1970er Jahren gezeigt, dass die Klassifizierungsgenauigkeit eine unangemessene Bewertungsregel ist. Wenn Sie sich um eine diskrete Klassifizierung kümmern, können Sie diese in letzter Sekunde erhalten. Bayes optimale Entscheidungen nutzen die vollständige Konditionierung aller verfügbaren Informationen.
Frank Harrell