Kommt es bei der logistischen Regression auf eine unausgeglichene Stichprobe an?

81

Okay, ich denke, ich habe eine ausreichend gute Stichprobe, unter Berücksichtigung der 20: 1-Faustregel: eine ziemlich große Stichprobe (N = 374) für insgesamt 7 Kandidaten-Prädiktorvariablen.

Mein Problem ist das Folgende: Unabhängig davon, welchen Satz von Prädiktorvariablen ich verwende, werden die Klassifikationen nie besser als eine Spezifität von 100% und eine Sensitivität von 0%. Ungeachtet der Unzufriedenheit könnte dies angesichts der Menge der möglichen Prädiktorvariablen (von denen ich nicht abweichen kann) das bestmögliche Ergebnis sein.

Aber ich konnte nicht anders, als zu glauben, ich könnte es besser machen, und so bemerkte ich, dass die Kategorien der abhängigen Variablen ziemlich ungleichmäßig ausgeglichen waren, fast 4: 1. Könnte eine ausgewogenere Teilstichprobe die Klassifizierung verbessern?

Michiel
quelle
5
Es ist schwer vorstellbar, wie das sein könnte. Vielleicht senken Sie die vorhergesagte Wahrscheinlichkeit auf 0,5? In diesem Fall versuchen Sie, den Cutoff zu variieren.
Aniko
4
Die Fläche unter der ROC-Kurve beträgt .585, ein eher schlechtes Ergebnis. Dies impliziert, dass es wirklich keinen Cutoff-Wert gibt, bei dem sich der Kompromiss zwischen Spezifität und Empfindlichkeit auszahlt. Das Fummeln mit dem Cutoff wird die Klassifikation nicht wesentlich verbessern, da es die Spezifität nur um ungefähr so ​​viel verringert, wie es die Empfindlichkeit erhöht.
Michiel
3
Unterscheiden sich die Variablenkoeffizienten signifikant von (sagen wir mehr als fünf Standardfehler)? Wenn nicht Ihr Problem Könnte sein, dass Sie mit Ihrem Variablensatz nicht viel Erklärungskraft haben. 0
Wahrscheinlichkeitsrechnung
2
Beachten Sie auch, dass Ihre Stichprobengröße im Hinblick auf gute Vorhersagen in Wirklichkeit die Anzahl der eindeutigen Muster in der Prädiktorvariablen und nicht die Anzahl der untersuchten Personen ist. Ein Modell mit einer einzelnen kategorialen Prädiktorvariablen mit zwei Ebenen kann beispielsweise nur für ein logistisches Regressionsmodell mit zwei Parametern (einer für jede Kategorie) geeignet sein, selbst wenn die Stichprobe aus Millionen Personen besteht.
Wahrscheinlichkeitsrechnung

Antworten:

75

Balance im Trainingsset

Bei logistischen Regressionsmodellen wirken sich unausgeglichene Trainingsdaten nur auf die Schätzung des Modellabschnitts aus (obwohl dies natürlich alle vorhergesagten Wahrscheinlichkeiten verzerrt, was wiederum Ihre Vorhersagen beeinträchtigt). Glücklicherweise ist die Korrektur des Abschnitts unkompliziert: Wenn Sie den wahren Anteil von Nullen und Einsen kennen oder erraten können und die Anteile im Trainingssatz kennen, können Sie eine Korrektur für seltene Ereignisse auf den Abschnitt anwenden. Details finden Sie in King and Zeng (2001) [ PDF ].

Diese "Selten-Ereignis-Korrekturen" wurden für Fallkontrollforschungsdesigns entwickelt, die hauptsächlich in der Epidemiologie verwendet werden und bei denen Fälle durch Auswahl einer festen, in der Regel ausgeglichenen Anzahl von 0 Fällen und 1 Fällen ausgewählt werden und anschließend die resultierende Stichprobenauswahlverzerrung korrigiert werden muss. In der Tat könnten Sie Ihren Klassifikator auf die gleiche Weise trainieren. Wählen Sie eine ausgewogene Stichprobe aus und korrigieren Sie den Achsenabschnitt, um die Tatsache zu berücksichtigen, dass Sie für die abhängige Variable ausgewählt haben, um mehr über seltenere Klassen zu erfahren, als eine zufällige Stichprobe Ihnen sagen könnte.

Vorhersagen treffen

Zu einem verwandten, aber eindeutigen Thema: Vergessen Sie nicht, dass Sie sich intelligent an die Schwelle halten sollten, um Vorhersagen zu treffen. Es ist nicht immer am besten, 1 vorherzusagen, wenn die Modellwahrscheinlichkeit größer als 0,5 ist. Eine andere Schwelle kann besser sein. Zu diesem Zweck sollten Sie die Receiver Operating Characteristic (ROC) -Kurven Ihres Klassifikators untersuchen und nicht nur den prädiktiven Erfolg mit einem Standardwahrscheinlichkeitsschwellenwert.

Conjugateprior
quelle
8
Wenn Sie die Betriebsklassenhäufigkeiten nicht kennen, können Sie von EM geschätzt werden, ohne die Etiketten der Test- / Betriebsproben zu kennen. Die Details sind in Saerens et al. "Anpassen der Ausgaben eines Klassifikators an neue a priori-Wahrscheinlichkeiten: Eine einfache Prozedur", Neural Computation, vol. 14, nein. 1, S. 21-41, 2002 ( dx.doi.org/10.1162/089976602753284446 ). Ich habe es ein paar Mal benutzt und war beeindruckt, wie gut es funktioniert hat. Beachten Sie jedoch, dass die theoretische Korrektur normalerweise nicht optimal ist und die Einstellung über z. B. Kreuzvalidierung oft besser ist.
Dikran Marsupial
Ja, ich hätte erwähnen sollen, dass die Ergebnisse der ROC-Kurve auch nicht überzeugend waren. In diesem Fall gibt es meines Erachtens keinen Schwellenwert, der zufriedenstellende Ergebnisse liefert.
Michiel
Vorhersagen: Wie kann ich die Größe meines Trainingssatzes für 0 und 1 Ergebnisse berücksichtigen? Ich möchte zwar keinen Schwellenwert von 0,5 verwenden, bin mir aber nicht sicher, wie ich das in R.
Perlnika am
1
@Perlnika Die Details finden Sie im Papierlink (im einfachsten Fall ändern Sie den geschätzten Schnittpunkt). Wenn der Schwellenwert nicht bei 0,5 liegt, ermitteln Sie einfach die vorhergesagten Wahrscheinlichkeiten mit predictund berechnen Sie für jeden Wert, ob er größer als der neue Schwellenwert ist.
Conjugateprior
1
@SassaNF Es stimmt, dass eine Intercept-Verschiebung durch eine Schwellenwertänderung ausgeglichen werden kann. Dies koppelt jedoch Ihre Wahrscheinlichkeitsschätzung (Inferenz) mit der relativen Fehlerhäufigkeit (Verlustfunktion), während sich letztere in den Anwendungen unterscheiden können. Wenn beispielsweise die Kosten für die Verwechslung einer 1 mit einer 0 das C-fache der Kosten für die Verwechslung einer 0 mit einer 1 betragen, sollten Sie Ihre geschätzte Wahrscheinlichkeit auf 1 / (1 + C) begrenzen.
Conjugateprior
41

Das Problem ist nicht, dass die Klassen per se unausgewogen sind, sondern dass es möglicherweise nicht genügend Muster gibt, die zu der Minderheitenklasse gehören, um ihre Verteilung angemessen darzustellen. Dies bedeutet, dass das Problem für jeden Klassifikator auftreten kann (auch wenn Sie ein synthetisches Problem haben und wissen, dass Sie das wahre Modell haben), nicht nur für die logistische Regression. Das Gute daran ist, dass das Problem des "Klassenungleichgewichts" in der Regel verschwindet, wenn mehr Daten verfügbar werden. Davon abgesehen ist 4: 1 nicht ganz so unausgewogen.

Wenn Sie einen ausgeglichenen Datensatz verwenden, ist es wichtig, sich daran zu erinnern, dass die Ausgabe des Modells jetzt eine Schätzung der a-posteriori-Wahrscheinlichkeit ist, vorausgesetzt, die Klassen sind gleich häufig, und dass Sie das Modell möglicherweise zu weit verzerren. Ich würde die Muster, die zu jeder Klasse gehören, unterschiedlich gewichten und die Gewichte durch Minimieren der Querentropie auf einem Testset mit den korrekten Betriebsklassenfrequenzen auswählen.

Dikran Beuteltier
quelle
6
+1If you use a balanced dataset, the important thing is to remember that the output of the model is now an estimate of the a-posteriori probability
Zhubarb
2

Denken Sie über die zugrunde liegenden Verteilungen der beiden Beispiele nach. Haben Sie genug Probe, um beide Teilpopulationen ohne große Verzerrung in der kleineren Probe zu messen?

Siehe hier für eine längere Erklärung.

https://statisticalhorizons.com/logistic-regression-for-rare-events

Paul Tulloch
quelle
5
Dies scheint die Frage nicht zu beantworten.
Michael Chernick
Das liegt daran, dass es keine eindeutige Antwort gibt! Es geht darum, wie Sie es anwenden und wie viel Voreingenommenheit Sie bereit sind, in den Schätzungsprozess einzubeziehen.
Paul Tulloch
1
Ich denke, das ist eine großartige Antwort. Soweit ich weiß, stützen sich alle Versuche, ein Ungleichgewicht zu korrigieren, auf externes Wissen, das im Experiment nicht erfasst wurde. Insbesondere die Kenntnis der zugrunde liegenden Verteilung würde bei Korrekturen helfen.
user1700890