Hinzufügen von Gewichten zur logistischen Regression für unausgeglichene Daten

21

Ich möchte eine logistische Regression mit unausgeglichenen Daten modellieren (9: 1). Ich wollte die Gewichtsoption in der glmFunktion in R ausprobieren , bin mir aber nicht zu 100% sicher, was sie bewirkt.

Nehmen wir an, meine Ausgabevariable ist c(0,0,0,0,0,0,0,0,0,1). jetzt möchte ich der "1" 10 mal mehr gewicht geben. Also gebe ich das Argument Gewichte weights=c(1,1,1,1,1,1,1,1,1,1,1,10).

Wenn ich das tue, wird es bei der Berechnung der maximalen Wahrscheinlichkeit berücksichtigt. Habe ich recht? Eine Fehlklassifizierung von "1" ist nur zehnmal so schlimm wie eine "0".

ching
quelle

Antworten:

10

Ching, Sie müssen Ihren Datensatz nicht in Bezug auf Einsen und Nullen ausbalancieren. Sie benötigen lediglich eine ausreichende Anzahl von Einsen, um die maximale Konvergenzwahrscheinlichkeit zu erreichen. Wenn Sie sich die Verteilung der Einsen (100.000) in Ihrem Datensatz ansehen, sollten Sie keine Probleme haben. Hier können Sie ein einfaches Experiment durchführen

  1. Probieren Sie 10% der Einsen und 10% der Nullen und verwenden Sie für beide ein Gewicht von 10
  2. Probieren Sie 100% der Einsen und 10% der Nullen und verwenden Sie ein Gewicht von 10 für die Nullen

In beiden Fällen erhalten Sie identische Schätzungen. Auch hier hängt die Idee der Gewichtung mit der Probenahme zusammen. Wenn Sie den gesamten Datensatz verwenden, sollten Sie ihn nicht gewichten. Wenn ich Sie wäre, würde ich nur 10% verwenden, wenn 1 und 10% von 0 ist.

In R würden Sie verwenden glm. Hier ist ein Beispielcode:

glm(y ~ x1 + x2, weights = wt, data =data, family = binomial("logit"))

In Ihrem Datensatz sollte sich eine Variable wtfür die Gewichte befinden.

Wenn Sie 10% der Nullen und der Einsen verwenden, hat Ihre wtVariable den Wert 10.

Wenn Sie 10% der Nullen und 100% der Einsen verwenden, hat die wtVariable den Wert 10 für Beobachtungen mit y = 0 und 1 für Beobachtungen mit y = 1

subra
quelle
11

Die Gewichtung ist ein Verfahren, mit dem die Daten gewichtet werden, um Unterschiede in Stichprobe und Grundgesamtheit auszugleichen (King 2001). Zum Beispiel neigen wir bei seltenen Ereignissen (wie Betrug im Kreditrisiko, Todesfälle in der medizinischen Literatur) dazu, alle Einsen (seltene Ereignisse) und einen Bruchteil von Nullen (keine Ereignisse) zu erfassen. In solchen Fällen müssen wir die Beobachtungen entsprechend gewichten.

Beispiel: Nehmen wir an, bei einer Bevölkerung von 500.000 Transaktionen gibt es 50 Betrugstransaktionen. In diesem Fall würden Sie

  1. Stichprobe aller 50 Betrugstransaktionen (100% des Betrugs)
  2. 10% der guten Transaktionen (10% von 500.000 sind 50.000 gute Transaktionen)

In diesem Fall würden Sie für Betrugstransaktionen eine Gewichtung von 1 und für gute Transaktionen eine Gewichtung von 10 zuweisen. Dies wird als Weighted Maximum Likelihood-Methode bezeichnet. Die wichtige Erkenntnis ist, dass die Gewichtung mit den Stichprobenanteilen zusammenhängt

Siehe: Logistische Regression in seltenen Ereignisdaten (King 2001)

subra
quelle
Hallo Subra !!! Vielen Dank für den König Ansatz! habe noch nie davon gehört! in meinem Fall habe ich 1 Million Transaktionen! (900.000 sind "0" und 100.000 sind "1"). Soll ich also 10% meiner "0" abtasten? dann habe ich fast einen ausgeglichenen datensatz. dann muss ich die "0" zehnmal mehr wiegen als die "1", oder? und die Funktion in R glm () im MASS-Paket macht das genau richtig? Wenn ich meine Beobachtungen gewichte, berechne ich die gewichtete maximale Wahrscheinlichkeit? Danke dir!
Ich
Ich denke wirklich viel über dieses Problem nach. Was ist, wenn ich sage: Verwenden Sie jetzt alle meine Daten, um ein Logit-Modell zu erstellen (mit den 9: 1-unsymmetrischen Daten). und dann wiege ich meine "1" zehnmal, obwohl ich in Wirklichkeit nicht mehr Daten habe und es NICHT 10% meiner Daten sind. Es ist einfach so, als hätte ich es getan. Wenn R das Modell berechnet, wird davon ausgegangen, dass ich nur 10% meiner "1" verwende, und dies wird bei der Berechnung der Wahrscheinlichkeit berücksichtigt. Macht das irgendeinen Sinn?
Ching