Restanalyse der logistischen Regression


12

Diese Frage ist allgemein und langwierig, aber bitte nehmen Sie Kontakt mit mir auf.

In meiner Anwendung habe ich viele Datensätze, die jeweils aus ~ 20.000 Datenpunkten mit ~ 50 Features und einer einzelnen abhängigen Binärvariablen bestehen. Ich versuche, die Datensätze mithilfe einer regulierten logistischen Regression (R-Paket glmnet ) zu modellieren.

Im Rahmen meiner Analyse habe ich wie folgt Residuendiagramme erstellt. Für jedes Feature sortiere ich die Datenpunkte nach dem Wert dieses Features, teile die Datenpunkte in 100 Buckets auf und berechne dann den durchschnittlichen Ausgabewert und den durchschnittlichen Vorhersagewert innerhalb jedes Buckets. Ich zeichne diese Unterschiede auf.

Hier ist ein Beispiel für ein Residuendiagramm:

In der obigen Darstellung hat das Merkmal einen Bereich von [0,1] (mit einer starken Konzentration von 1). Wie Sie sehen können, scheint das Modell bei einem niedrigen Merkmalswert darauf ausgerichtet zu sein, die Wahrscheinlichkeit einer 1-Ausgabe zu überschätzen. Beispielsweise überschätzt das Modell im ganz linken Bereich die Wahrscheinlichkeit um etwa 9%.

Mit diesen Informationen möchte ich die Feature-Definition auf einfache Weise ändern, um diese Verzerrung grob zu korrigieren. Änderungen mögen ersetzen

xx

oder

xfein(x)={ein wenn x<ein x sonst

Wie kann ich das machen? Ich bin auf der Suche nach einer allgemeinen Methode, mit der ein Mensch schnell durch alle ~ 50 Diagramme scrollen und Änderungen vornehmen und dies für alle Datensätze tun und häufig wiederholen kann, um die Modelle auf dem neuesten Stand zu halten, während sich die Daten im Laufe der Zeit entwickeln.

Ist das überhaupt der richtige Ansatz? Google-Suchanfragen nach "Restanalyse der logistischen Regression" liefern nicht viele Ergebnisse mit guten praktischen Ratschlägen. Sie scheinen darauf fixiert zu sein, die Frage zu beantworten: "Passt dieses Modell?" und bieten verschiedene Tests wie Hosmer-Lemeshow zur Beantwortung an. Aber es ist mir egal, ob mein Modell gut ist, ich möchte wissen, wie ich es verbessern kann!

Antworten:


4

In der logistischen Regression kann man die Verzerrung so nicht wirklich einschätzen. Es wird erwartet, dass die logistische Regression nur in Bezug auf die Log-Quoten oder Logit-Scores, log (p / (1-p)), unverzerrt ist. Die Proportionen sind verzerrt und wirken daher voreingenommen. Sie müssen die Residuen in Form von Log-Quoten darstellen.


Wie kombiniere ich die ungeraden Restwerte in einem Bucket? Arithmetischer Durchschnitt? Das ist ein bisschen beunruhigend für mich. Wenn eine Restanalyse keine Verzerrung zeigt, erwarte ich intuitiv, dass wenn das Modell Pr [y = 1] <0,2 vorhersagt, y mit einer Wahrscheinlichkeit von weniger als 0,2 gleich 1 sein sollte. Ihre Antwort scheint jedoch darauf hinzudeuten, dass dies nicht der Fall ist. Verstehe ich das richtig?
Dshin

Dies ist wahrscheinlich besser als Kommentar gepostet.
Wahrscheinlichkeitslogic

Nein David, es impliziert nichts anderes als die 0,2-Wahrscheinlichkeit, vielleicht machen meine Änderungen es klarer.
John

Entschuldigung, ich bin immer noch ein bisschen verwirrt. Mein intuitives Verständnis eines unverzerrten Modells ist, dass, wenn das Modell für jeden einer großen Anzahl von Datenpunkten p = 0,2 vorhersagt, 20% dieser Datenpunkte y = 1 haben sollten. Ist dieses Verständnis richtig? Wenn ja, sollte meine Plotmethode die Verzerrung korrekt anzeigen. Wenn nicht ... dann bin ich mit diesem Konzept der "Voreingenommenheit" nicht sehr zufrieden! Wenn ein unparteiischer Modellwert von 0,2 nichts über die Wahrscheinlichkeit von y = 1 aussagt, was nützt Unparteilichkeit dann?
Dshin

Ja, 20% sollten y = 1 haben. Aber es wird nicht tot sein, es wird um einen gewissen Betrag ausfallen. In welcher Richtung wird der Wahrscheinlichkeitsraum nach und nach abweichen? Wenn es unbefangen ist, wird es gleichermaßen irgendwo in das .2: 1 oder das 0: .2 fallen. Wie Sie jedoch an der Größe dieser Räume erkennen können, sind sie in der Regel in einem größeren Bereich weiter entfernt, nur weil dies möglich ist. Im Logit Space sollte der Abstand gleich + oder - sein.
John

2

Es ist unwahrscheinlich, dass hierfür eine allgemeine Software vorhanden ist. höchstwahrscheinlich, weil es keine allgemeine Theorie zur Behebung von Problemen bei der Regression gibt. Daher ist dies eher eine Art "was ich tun würde" -Antwort als ein theoretisch fundiertes Verfahren.

Der von Ihnen erstellte Plot ist im Grunde ein visueller HL-Test mit 100 Bins, der jedoch einen einzelnen Prädiktor anstelle der vorhergesagten Wahrscheinlichkeit für das Binning verwendet. Dies bedeutet, dass Ihre Prozedur wahrscheinlich einige der Eigenschaften des HL-Tests erbt.

Ihr Vorgehen klingt vernünftig, obwohl Sie sich bewusst sein sollten, dass Sie Ihre Kriterien "übererfüllen". Ihre Kriterien sind auch als Diagnose weniger nützlich, da sie Teil des Schätzprozesses sind. Wenn Sie etwas intuitiv tun, sollten Sie Ihren Entscheidungsprozess so detailliert wie möglich aufschreiben. Dies liegt daran, dass Sie möglicherweise die Keime eines allgemeinen Prozesses oder einer allgemeinen Theorie entdecken, deren Entwicklung zu einem besseren Verfahren führt (das in Bezug auf einige Theorien automatischer und optimaler ist).

Ich denke, ein Weg ist, zuerst die Anzahl der zu untersuchenden Grundstücke zu reduzieren. Eine Möglichkeit, dies zu tun, besteht darin, jede Variable als kubischen Spline anzupassen und dann die Diagramme zu untersuchen, die nicht-lineare Schätzungen ungleich Null aufweisen. Angesichts der Anzahl der Datenpunkte ist dies auch eine einfache automatische Korrektur für Nichtlinearitäten. Dadurch wird Ihr Modell von 50 auf 200 + 50k erweitert, wobei k die Anzahl der Knoten ist. Sie können sich dies als eine "statistische Taylor-Reihen-Erweiterung" der "wahren" Transformation vorstellen.

Wenn Ihre Diagnose danach schlecht aussieht, würde ich versuchen, Interaktionsbegriffe hinzuzufügen.

Teile Ihrer Frage scheinen mehr mit dem Schreiben eines interaktiven Programms zu tun zu haben, das eher dem Stackoverflow als hier zuzuordnen ist. Es kann auch nützlich sein, nach Tools für die explorative Datenanalyse zu suchen, da diese mit größerer Wahrscheinlichkeit über Funktionen verfügen, die Sie "huckepack" können.


Danke für diese Antwort. Ich werde die kubische Spline-Idee untersuchen. Ich hatte diesen Ansatz zum Anzeigen und Anpassen von Features in einer Einstellung mit linearer Regression angewendet, in der es offensichtlicher schien, wie bessere Anpassungen erzielt werden können. Wenn Sie beispielsweise einen Hockeyschläger sehen, ist es offensichtlich, dass das Anwenden einer f_a (x) -Korrektur zu einer besseren Passform führt. Häufig fällt das Wissen aus dem Problembereich mit dieser Entscheidung zusammen: Wenn Sie beispielsweise das Glück aus dem Einkommen prognostizieren, ist es sinnvoll, das Einkommen zu begrenzen, es sei denn, Sie glauben, Milliardäre seien 1000-mal glücklicher als Millionäre.
Dshin

Als ich jedoch zu einer logistischen Regression überging, wurde mir klar, dass ich nicht genau wusste, wie ich meine Methodik übertragen sollte. Daher diese Vorlage.
Dshin
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.