Ich erstelle ein Neigungsmodell unter Verwendung der logistischen Regression für einen Utility-Client. Ich mache mir Sorgen, dass meine "schlechten" Konten von der Gesamtstichprobe nur 5% betragen und der Rest alle gut sind. Ich sage "schlecht" voraus.
- Wird das Ergebnis verzerrt sein?
- Was ist das optimale Verhältnis von schlecht zu gut, um ein gutes Modell zu bauen?
Antworten:
Ich war mit den anderen Antworten in den Kommentaren nicht einverstanden, daher ist es nur fair, dass ich meine eigenen gebe. Sei die Antwort (gute / schlechte Konten) und die Kovariaten.X.Y. X.
Für die logistische Regression lautet das Modell wie folgt:
Überlegen Sie, wie die Daten gesammelt werden könnten:
Beide sind für das obige Modell in Ordnung, da Sie nur die Verteilung von modellieren . Diese würden als prospektive Studie bezeichnet .Y|X
Alternative:
(Sie können die Daten auch basierend auf und bestimmten Variablen von auswählen : Dies wäre eine geschichtete Fall-Kontroll-Studie, deren Arbeit viel komplizierter ist, daher werde ich hier nicht darauf eingehen.)X.Y X
Aus der Epidemiologie ergibt sich ein schönes Ergebnis (siehe Prentice und Pyke (1979) ), dass für eine Fall-Kontroll-Studie die Schätzungen der maximalen Wahrscheinlichkeit für durch logistische Regression ermittelt werden können, wobei das prospektive Modell für retrospektive Daten verwendet wird.β
Wie ist das für Ihr Problem relevant?
Wenn Sie in der Lage sind, mehr Daten zu sammeln, können Sie sich einfach die fehlerhaften Konten ansehen und trotzdem die logistische Regression verwenden, um die zu schätzen (aber Sie müssten die anpassen , um die Über- berücksichtigen zu berücksichtigen) Darstellung). Angenommen, es kostet 1 US-Dollar für jedes zusätzliche Konto. Dann ist dies möglicherweise kostengünstiger, als wenn Sie nur alle Konten betrachten. αβi α
Wenn Sie jedoch bereits über ALLE möglichen Daten verfügen, macht eine Schichtung keinen Sinn: Sie würden einfach Daten wegwerfen (schlechtere Schätzungen abgeben) und dann das Problem haben, zu schätzen .α
quelle
Asymptotisch ist das Verhältnis von positiven zu negativen Mustern im Wesentlichen irrelevant. Das Problem tritt hauptsächlich dann auf, wenn Sie zu wenige Stichproben der Minderheitsklasse haben, um ihre statistische Verteilung angemessen zu beschreiben. Durch Vergrößern des Datensatzes wird das Problem im Allgemeinen gelöst (sofern dies möglich ist).
Wenn dies nicht möglich ist, ist es am besten, die Daten erneut abzutasten, um einen ausgeglichenen Datensatz zu erhalten, und dann eine multiplikative Anpassung an die Ausgabe des Klassifikators vorzunehmen, um den Unterschied zwischen dem Trainingssatz und den betrieblichen relativen Klassenfrequenzen auszugleichen. Während Sie den (asymptotisch) optimalen Anpassungsfaktor berechnen können, ist es in der Praxis am besten, die Anpassung mithilfe einer Kreuzvalidierung abzustimmen (da es sich eher um einen endlichen praktischen als um einen asymptotischen Fall handelt).
In solchen Situationen verwende ich häufig ein Modellkomitee, in dem jedes auf alle Minderheitenmuster und eine andere Zufallsstichprobe der Mehrheitsmuster mit der gleichen Größe wie die Minderheitenmuster trainiert wird. Dies schützt vor Pech bei der Auswahl einer einzelnen Teilmenge der Mehrheitsmuster.
quelle
Theoretisch können Sie besser unterscheiden, wenn die Anteile von "gut" und "schlecht" ungefähr gleich groß sind. Möglicherweise können Sie dies erreichen, indem Sie eine geschichtete Stichprobe erstellen, schlechte Fälle überabtasten und dann neu gewichten, um später zu den tatsächlichen Proportionen zurückzukehren.
Dies birgt einige Risiken. Insbesondere wird Ihr Modell wahrscheinlich Personen als "potenziell schlecht" kennzeichnen - vermutlich diejenigen, die ihre Stromrechnungen bei Fälligkeit möglicherweise nicht bezahlen. Es ist wichtig, dass die Auswirkungen von Fehlern dabei richtig erkannt werden: Insbesondere, wie viele "gute Kunden" vom Modell als "potenziell schlecht" eingestuft werden, und es ist weniger wahrscheinlich, dass Sie die Neugewichtung falsch verstehen, wenn Sie Ihre nicht verzerrt haben Modell durch geschichtete Stichprobe.
quelle
Es gibt viele Möglichkeiten, wie Sie sich logistische Regressionen vorstellen können. Am liebsten denke ich, dass Ihre Antwortvariable einer Bernoulli-Verteilung mit der Wahrscheinlichkeit folgt . Ein wiederum ist eine Funktion einiger Prädiktoren. Formeller:p i p iyi pi pi
P i = logit - 1 ( a + b 1 x 1 + . . . + b n x n ) logit - 1 = exp ( X )
Ist es jetzt wichtig, dass Sie einen geringen Anteil an Fehlern haben (schlechte Konten)? Nicht wirklich, solange Ihre Beispieldaten ausgewogen sind, wie einige Leute bereits gezeigt haben. Wenn Ihre Daten jedoch nicht ausgewogen sind, kann das Abrufen weiterer Daten fast unbrauchbar sein, wenn einige Auswahleffekte nicht berücksichtigt werden. In diesem Fall sollten Sie Matching verwenden, aber das mangelnde Gleichgewicht kann Matching ziemlich nutzlos machen. Eine andere Strategie besteht darin, ein natürliches Experiment zu finden, sodass Sie instrumentelles Variablen- oder Regressionsdiskontinuitätsdesign verwenden können.
Zu guter Letzt, wenn Sie eine ausgewogene Stichprobe haben oder keine Auswahlverzerrung vorliegt, sind Sie möglicherweise besorgt darüber, dass das schlechte Konto selten ist. Ich denke nicht, dass 5% selten sind, aber für den Fall, werfen Sie einen Blick auf die Zeitung von Gary King über die Durchführung einer Logistik für seltene Ereignisse. Im Zelig-Paket können Sie in R eine Logistik für seltene Ereignisse ausführen.
quelle
Okay, ich arbeite in der Betrugserkennung, daher ist diese Art von Problem für mich nicht neu. Ich denke, die Community für maschinelles Lernen hat einiges über unausgeglichene Daten zu sagen (wie in Klassen, die unausgeglichen sind). Es gibt also ein paar absolut einfache Strategien, von denen ich denke, dass sie bereits erwähnt wurden, und ein paar nette Ideen und einen Ausweg. Ich werde nicht einmal so tun, als ob ich wüsste, was dies für die Asymptotiker für Ihr Problem bedeutet, aber es scheint mir immer vernünftige Ergebnisse bei der logistischen Regression zu liefern. Möglicherweise ist irgendwo ein Papier drin, aber nicht sicher.
Hier sind Ihre Optionen, wie ich es sehe:
Auf jeden Fall habe ich alle diese Methoden verwendet, aber ich finde es am einfachsten, das Problem für die logistische Regression trotzdem neu zu gewichten. Eine Sache, die Sie tun können, um Ihr Modell zu überprüfen, ist:
-Intercept/beta
Dies sollte die Entscheidungsgrenze (50% Wahrscheinlichkeit, in einer der Klassen zu sein) für eine bestimmte Variable ceteris paribus sein . Wenn es keinen Sinn macht, z. B. die Entscheidungsgrenze eine negative Zahl für eine streng positive Variable ist, haben Sie eine Verzerrung in Ihrer logistischen Regression, die korrigiert werden muss.
quelle