Kann ich eine Variable verwenden, die eine nichtlineare Beziehung zur abhängigen Variablen in der logistischen Regression hat?


9

Angenommen, ich erstelle ein logistisches Regressionsmodell, bei dem die abhängige Variable binär ist und die Werte oder 1 annehmen kann . Die unabhängigen Variablen seien x 1 , x 2 , . . . , x m - es gibt m unabhängige Variablen. Nehmen wir an, für die k- te unabhängige Variable zeigt die bivariate Analyse einen U-förmigen Trend - dh wenn ich x k in 20 gruppiere01x1,x2,...,xmmkxk20 Bins, die jeweils ungefähr die gleiche Anzahl von Beobachtungen enthalten und die "schlechte Rate" für jeden Bin berechnen - # Beobachtungen mit y = 0 / Gesamtbeobachtungen in jedem Bin - dann erhalte ich eine U-förmige Kurve.

Meine Fragen sind:

  1. Kann ich direkt als Eingabe verwenden, während ich die Beta-Parameter schätze? Werden statistische Annahmen verletzt, die zu erheblichen Fehlern bei der Schätzung der Parameter führen können?xk
  2. Ist es notwendig, diese Variable durch eine Transformation (log, Quadrat, Produkt mit sich selbst usw.) zu "linearisieren"?

3
Ist einer der Prädiktoren, die Sie in das Modell aufnehmen möchten? Es hört sich so an, als würden Sie sagen, dass P ( Y = 1 ) eine U-förmige Funktion von X k ist . Eine U-förmige Kurve kann oft durch eine quadratische Funktion (insbesondere in der Nähe des Tals) gut angenähert werden. Haben Sie darüber nachgedacht, einen linearen und einen quadratischen Term in diese Variable in das Modell aufzunehmen? XkP(Y=1)Xk
Makro

@ Macro danke für deinen Vorschlag. Ich habe einige Modellbauer gesehen, die eine stückweise lineare Funktion angepasst haben (unter der Annahme einer scharfen U-Form) - wobei jede Linie aus den Daten geschätzt wird, wobei die Brüche visuell bestimmt werden, und dann die Ausgabe der linearen Gleichung als Eingabe für die logistische Regression bereitgestellt wird. Ich bin jedoch kein großer Fan dieses Ansatzes.
Mozan Sykol

Antworten:


12

Sie möchten eine flexible Formulierung verwenden, die die Nichtlinearität automatisch erfasst, z. B. eine Version eines verallgemeinerten additiven Modells . Die Wahl eines armen Mannes ist ein Polynom , x 2 k , ..., x p k k , aber solche Polynome erzeugen schreckliche Überschwingungen am Ende des Bereichs ihrer jeweiligen Variablen. Eine viel bessere Formulierung wäre die Verwendung von (kubischen) B-Splines (siehe eine zufällige Intro-Notiz von der ersten Seite von Google hier und ein gutes Buch hier ). B-Splines sind eine Folge lokaler Buckel:xkxk2xkpk

http://ars.sciencedirect.com/content/image/1-s2.0-S0169743911002292-gr2.jpg

Die Höhe der Buckel wird aus Ihrer (linearen, logistischen, anderen GLM-) Regression bestimmt, da die von Ihnen angepasste Funktion einfach ist

θ=β0+k=1KβkB(xxkhk)

B()

B(z)={14(z+2)3,2z114(3|x|36x2+4),1<x<114(2x)3,1x20,otherwise

xkB(xxkhk)hk


2
Wie können Sie sagen, dass er etwas so Kompliziertes braucht? Sicherlich könnte ein quadratischer Term in einer Kovariate x, der diese Form zu haben scheint, genau so in das logistische Regressionsmodell aufgenommen werden, wie es das OP zu wollen scheint.
Michael R. Chernick

1
@MichaelChernick Ja, ich habe die Antwort akzeptiert, da sie mir ein neues Konzept beigebracht hat, aber ich werde wahrscheinlich keine so komplizierte Lösung brauchen.
Mozan Sykol

3
@ Michael Das ist ein wichtiger Punkt. Ich bin jedoch ermutigt durch einen Kommentar des OP, in dem ein stückweise lineares Ad-hoc- Anpassungsverfahren erwähnt wird. Splining funktioniert im gleichen Sinne, jedoch mit größerer Flexibilität und Genauigkeit. Quadratische Begriffe mögen funktionieren, aber das scheint viel zu hoffen.
whuber

Sieht für mich eher nach stückweiser Konstante aus: Der Mittelwert der Antwort in einem Bin entspricht der Regression der Dummy-Variablen / des Indikators in diesem Bin, und das ist stückweise konstant ... @MichaelChernick: Im Allgemeinen ist nichts zu sagen, aber ich Ich muss noch eine Anwendung sehen, bei der B-Splines der Polynomanpassung unterlegen wären.
StasK

@StasK Wenn minderwertig bedeutet, dass es nicht auch zu den Daten passt, dann würde eine kleine Stichprobengröße ein einfaches Polynom bevorzugen.
Michael R. Chernick


1

Eine andere praktikable Alternative, die der Modellierbetrieb, für den ich arbeite, routinemäßig einsetzt, besteht darin, die kontinuierlichen unabhängigen Variablen zu bündeln und die "schlechte Rate" zu ersetzen. Dies erzwingt eine lineare Beziehung.


Ich habe das auch gesehen. Wie wählst du die Mülleimer aus?
Adam Ryczkowski

1
Es gibt verschiedene Diskretisierungsmethoden, die Sie verwenden können. R hat das discoPaket. Ich habe meinen eigenen Algorithmus erstellt, der eine kontinuierliche Variable basierend auf dem Informationswert rekursiv aufteilt. Ich habe es hier in ein R-Paket eingefügt : github.com/Zelazny7/binnr (work in progress!). Ich würde auch das Beweisgewicht anstelle des Mittelwerts ersetzen. In Kombination mit der LASSO-Regression sind die Ergebnisse fantastisch!
Zelazny7

Vielen Dank! Können Sie den binnrAlgorithmus mit den CRANs vergleichen smbinning?
Adam Ryczkowski

'binnr' ist in C geschrieben und sehr schnell. Es unterstützt auch reale Bedingungen wie Überschreibungswerte und Monotonie. Es ist möglich, 'binnr' anzuweisen, nur dann diskrete Kürzungen vorzunehmen, wenn die schlechten Raten monoton sind. 'smbinning' verwendet bedingte Inferenzbäume, die meiner Erfahrung nach bei Datensätzen mit anständiger Größe viel Zeit in Anspruch nehmen, da sie auf Permutationen beruhen. Mit 'binnr' können Sie auch interaktiv Anpassungen an den Behältern über eine Befehlszeilenschnittstelle
vornehmen

Haben Sie es in der Produktion verwendet? Sind Ihnen versteckte Fehler oder ungeprüfte Eckfälle bekannt? Ich denke darüber nach, es für einen großen Kunden zu verwenden, und ich habe nur 1 Tag Zeit, um es zu testen, bevor ich Ihren Code anwende.
Adam Ryczkowski
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.