Lösung bei Verletzung der Linearitätsannahme im logistischen Regressionsmodell

Modelle zur Korrelations- und Regressionsanalyse

Moderator: EDi

Antworten
Leo
Beiträge: 5
Registriert: Do Jan 07, 2021 5:27 pm

Lösung bei Verletzung der Linearitätsannahme im logistischen Regressionsmodell

Beitrag von Leo »

Hallo an alle,

ich habe ein Problem mit meiner logistischen Regression, die ich aufgestellt habe, und ich hoffe, dass mir jemand weiterhelfen kann.

Meine Daten basieren auf stündlichen Werten.
(Ich möchte einerseits eine logistische Regression über den gesamten Datensatz durchführen. Andererseits den Datensatz zu einem bestimmten Stichtag aufteilen und anschließend mit den aufgeteilten Datensätzen jeweils eine logistische Regression anwenden.)

Die abhängige Variable ist eine dichotome Variable (1 oder 0). Darüber hinaus beinhaltet das Modell 30 metrische unabhängige Variablen (9 davon haben sowohl positive als auch negative Beobachtungen).

Nun mein Problem:
Eine Annahme der logistischen Regression ist, dass eine Linearität des Logit zu den einzelnen unabhängigen metrischen Variablen besteht.
Diese Annahme wird leider in all meinen Modellen verletzt. (Alle anderen Annahmen der logistischen Regression werden nicht verletzt.)

Um das zu prüfen, habe ich mehrmals den Box-Tidwell-Test angewandt.
Einmal mit allen Variablen bei einer erneuten logistischen Regression, wobei ich die ursprüngliche abhängige Variable auf die unabhängigen Variablen und dem Produkt der unabhängigen Variablen mit der jeweiligen logarithmischen Transformation der unabhängigen Variablen regressiert habe.
(y ~ x1 + (x1*ln(x1)) + x2 + (x2*ln(x2)) + … , familiy = binomial(“logit“))
Dazu habe ich die Linearitätsannahme noch mit einer R-Funktion (boxTidwell(modell$linear.predictors ~ unabhängige Variable)) für jede Variable einzeln geprüft.
Bei fast allen Variablen zeigt der Test eine Signifikanz und somit eine Verletzung der Modellannahme.
Mehrere Transformationen der unabhängigen Variablen haben dabei auch nicht geholfen.
Zusätzlich haben meine Modelle den Hosmer-Lemeshow-Test nicht bestanden.

Ich weiß, dass ich die Annahme umgehen kann, wenn ich die metrischen unabhängigen Variablen in kategoriale Variablen umwandele. Dies möchte ich aber vermeiden.
Ich habe außerdem gelesen, dass ich dem Problem mit der Methodik von splines entgegnen kann. Nur konnte ich leider keine Literatur finden, in der dies erklärt wird. Erst recht nicht für eine logistische Modellschätzung. Dazu würde es mir ungemein helfen, wenn diese Erklärungen durch R-Codes unterstützt würden.

Nun würde ich gerne wissen, ob mir hier freundlicherweise jemand helfen kann.

Bedeutet eine Verletzung der Annahme, dass ich dieses Modell nicht verwenden darf und die Ergebnisse des Modells möglicherweise falsch sind?
(Ich möchte das Modell nicht als Vorhersage- oder Prognose-Modell verwenden, sondern lediglich zur Erklärung/Beschreibung innerhalb des Zeitraums der Daten.)

Wie wende ich die Methodik der sogenannten splines an, um mein Problem zu umgehen? Wie interpretiere ich die Ergebnisse?

Mir würde es enorm helfen, falls jemand gute Literatur zu diesem Thema kennt und diese mit mir teilt.
Über eine Antwort würde ich mich sehr freuen.

LG
Benutzeravatar
EDi
Beiträge: 1332
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Lösung bei Verletzung der Linearitätsannahme im logistischen Regressionsmodell

Beitrag von EDi »

Logistische Regression finde ich persönlich schwer zu diagnostizieren. Auf irgendwelche Tests verlasse ich mich sowieso nicht, sondern mache alles grafisch. (Ist auch einfacher zu verstehen als tests)

Schau dir mal das DHARMa um vielleicht einfacher zu interpretierende Residualplots zu generieren.

Splines sind gut für kurvige Zusammenhänge und ich bin ein RIESEN Fan von GAMs. Aber: Die setzen nochmal eine Schippe Komplexität (aber auch flexibilität) oben drauf, was man nicht unterschätzen sollte.
Und sie brauchen wesentlich mehr Daten.

GAMs kannst du mit dem mgcv Paket fitten (geht auch mit binomial verteilung). mgcv ist mit eines der flexibelste & umfangreichste Modellierungpakete die ich kenne. Richtig gut.

Alternativ (vielleicht auch für besondere Daten, z.B. mit zero-inflation oder Verteilung) kann man auch das gamlss Paket nutzen.
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
bigben
Beiträge: 1974
Registriert: Mi Okt 12, 2016 9:09 am

Re: Lösung bei Verletzung der Linearitätsannahme im logistischen Regressionsmodell

Beitrag von bigben »

Hallo Leo,

ich bin immer wieder erstaunt, dass so oft bei der Vorstellung von Problemen die allergrundlegendsten Angaben wie die beispielsweise die Fallzahlen fehlen. "Stündliche Beobachtungen" hört sich nach sehr großen Fallzahlen an aber natürlich wissen wir nicht, ob das stündliche Beobachtungen über drei Tage oder dreißig Jahre sind.

Bei großen Fallzahlen werden immer alle Tests signifikant. Das bedeutet dann erstmal gar nichts. Was die Additivität der Effekte angeht -- ein berühmter Spruch in der Statistik sagt, dass alle Modelle falsch sind, manche aber nützlich. Funktioniert denn dein Modell für Dich? Bist Du mit der Vorhersagegenauigkeit zufrieden? Hast Du mal versucht, das Modell nur an einem älteren Teil Deiner Daten zu fitten und zu schauen, wie gut es neuere Daten vorhersagt?

Ich fand dass das hier eine ganz gute Einführung in GAMs für mich war but YMMV: https://youtu.be/q4_t8jXcQgc

Aber auch Splines und GAMs gehen von einem additiven Modell aus.

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Leo
Beiträge: 5
Registriert: Do Jan 07, 2021 5:27 pm

Re: Lösung bei Verletzung der Linearitätsannahme im logistischen Regressionsmodell

Beitrag von Leo »

Wow. Vielen Dank für die schnellen und ausführlichen Antworten!

Ich versuche mal, euch beiden gleichzeitig zu antworten. (Ich hoffe das Du ist in Ordnung. Falls nicht, bitte sagen.)

Ich habe versucht, das Problem zusammengefasst zu beschreiben. Ist natürlich doof, wenn dann entscheidende Informationen fehlen. Ich kenne mich in der Ökonometrie allerdings leider auch nicht so gut aus. Daher sind auch naheliegendste Tipps für mich sehr wertvoll.

Also Datensatz 1 besteht aus 41.215 stündlichen Beobachtungen (etwa 4,5 Jahre). Die erste Aufspaltung aus 28.859 Beobachtungen (ca. 3,5 Jahre) und die andere aus 12.353 Beobachtungen (weniger als 1,5 Jahre).

Da ihr beide geschrieben habt, dass die Aussagekraft von statistischen Tests in der Regel unter Vorbehalt zu betrachten ist, habe ich Diagramme aufgestellt, die die Beziehung des Logit zu den jeweiligen Variablen darstellt. (Ich hoffe, das sprengt nicht den Rahmen.)
Dazu habe ich den folgenden R-Code benutzt:

gf_point(Logit ~ unabh. Variable, data = df) %>% gf_smooth(se = TRUE, size = 0.5)

Logit wurde mit Logit <- Modell$linear.predictors erzeugt.
Mit gf_smooth wird die blaue Linie unter der GAM-Methode erstellt.
Die Loess-Methode hat das Programm oder mein Laptop nicht geschafft.

Das erste Bild zeigt Diagramme aus Datensatz 1, welche ich ein wenig kritisch in Bezug zur Erfüllung der Annahme sehe.
Das zweite Bild zeigt Diagramme aus Datensatz 1, die grob für alle restlichen (nicht aufgeführten) Variablen gelten.
Für Forum 2.jpg
Für Forum 3.jpg

Das dritte Bild zeigt Diagramme aus Datensatz 3, welche ich ein wenig kritisch in Bezug zur Erfüllung der Annahme sehe.
Das vierte Bild zeigt Diagramme aus Datensatz 3, die grob für alle restlichen (nicht aufgeführten) Variablen gelten.

[Bilder 3 und 4 liefere ich im nächsten Post nach.]

Würdet ihr mir freundlicherweise eure Einschätzungen/Meinungen zu den Plots mitteilen?
Offensichtlich lässt sich eine gerade Linie durch die Punkte ziehen. Allerdings bin ich besorgt um die Linearität bei den Plots, welche in Bild 1 und 3 aufgeführt werden. Vor allem bei denjenigen, die diese „Lücken“ aufweisen (wie zum Beispiel bei x2, x4 und x5 im ersten Bild).


Am liebsten würde ich meine Modellschätzungen ohne Splines machen, da, wie ihr ja auch schon geschrieben habt, dies einen großen Aufwand mit sich bringt. Nur jede Literatur, die ich lese, sagt, dass, solange die Linearitäts-Annahme nicht erfüllt wird, mein Model falsch oder unbrauchbar ist. Ich tue mich ein bisschen schwer damit, meine Modelle als geeignet einzustufen, wenn ich dabei die Annahme verletze. Wenn es Literatur gibt, die u. a. (die genannten) statistischen Tests kritisch beurteilt (bspw. aufgrund der von euch angesprochenen großen Fallzahl), würde mir das natürlich auch weiterhelfen. Nur habe ich solche noch nicht gefunden.

Bevor ich vor ein paar Tagen mit Erschrecken feststellen musste, dass ich die Linearitäts-Annahme nicht beachtet hatte, habe ich mich an den Pseudo R^2 orientiert. Die Werte von Nagelkerke liegen für meine Modelle zwischen 24 und 31 %. Nach der Beurteilung zweier Quellen ein ‚guter‘ Wert. Die meisten Ergebnisse würden sich auch logisch erklären lassen (-> Näheres zu den Regressions-Ergebnissen im nachfolgenden Post. Mir ist da noch etwas eingefallen, was mich auch schon länger beschäftigt und ich vergessen habe zu erwähnen.).

Ich thematisiere in meiner Arbeit auch schon die Multikollinearität. Daher wäre es für mich auch notwendig die Annahme der Linearität in einem geeigneten (eher aber kleinerem) Ausmaß zu beleuchten.

Die Untersuchung der Vorhersagegüte älterer Daten für neuere Daten ist eine gute Idee. Das habe ich noch nicht gemacht. Die genaue Umsetzung in R fällt mir dazu ad hoc zwar nicht ein. Lässt sich wahrscheinlich aber auch besser ergoogeln als mein eigentliches Problem.


Ich würde mich wieder sehr freuen, wenn ihr noch einmal so großartig seid und mir auf meine zweite Nachricht antwortet.

Die Pakete und das Video werde ich mir in Kürze anschauen. Vielen Dank auch nochmal dafür.

LG
Zuletzt geändert von Leo am Fr Jan 08, 2021 2:01 pm, insgesamt 1-mal geändert.
Leo
Beiträge: 5
Registriert: Do Jan 07, 2021 5:27 pm

Re: Lösung bei Verletzung der Linearitätsannahme im logistischen Regressionsmodell

Beitrag von Leo »

Bild 3:
Für Forum 2.2.jpg
Bild 4:
Für Forum 3.2.jpg

Die Variable x3 hat in allen Modellen hohe Regressionskoeffizienten (-6 in DS 1; -4 in DS 2 und -9 in DS 3).
Die Variable x9 existiert aufgrund zu vieler fehlender Werte in den ersten beiden Beobachtungszeiträumen nur im dritten Modell. Hat dort aber auch einen Regressionskoeffizienten von -1,6.
Alle anderen Variablen haben einen Koeffizienten unter 1.
Anhand dieser Plots könnte ich vermutlich argumentieren, die Variable x3 aus den Modellen zu entfernen.
Würdet ihr mir in der Hinsicht beipflichten?
bigben
Beiträge: 1974
Registriert: Mi Okt 12, 2016 9:09 am

Re: Lösung bei Verletzung der Linearitätsannahme im logistischen Regressionsmodell

Beitrag von bigben »

Hallo Leo,
Leo hat geschrieben: Fr Jan 08, 2021 1:44 pmIch hoffe das Du ist in Ordnung.
Ja, das ist hier so Brauch.
Ich kenne mich in der Ökonometrie allerdings leider auch nicht so gut aus.
Bis hierhin haben Dir m. W. ein Biologe und ein Arzt geantwortet. Wir sind uns also hinsichtlich der Ökonometrie schon mal einig. Kann aber ja durchaus noch sein, dass sich noch andere beteiligen.
Also Datensatz 1 besteht aus 41.215 stündlichen Beobachtungen (etwa 4,5 Jahre). Die erste Aufspaltung aus 28.859 Beobachtungen (ca. 3,5 Jahre) und die andere aus 12.353 Beobachtungen (weniger als 1,5 Jahre).
Mit erster und zweiter Aufteilung meinst Du jetzt die Daten vor und nach dem Stichtag?
Wenn es Literatur gibt, die u. a. (die genannten) statistischen Tests kritisch beurteilt (bspw. aufgrund der von euch angesprochenen großen Fallzahl), würde mir das natürlich auch weiterhelfen. Nur habe ich solche noch nicht gefunden.
Kann ich natürlich nicht mit dienen, aber dass die Power von Tests mit der Fallzahl steigt ist wohl unbestritten und dass extrem kleine Abweichungen ein Modell nicht unbrauchbar machen doch auch, oder?

Code: Alles auswählen

Da ihr beide geschrieben habt, dass die Aussagekraft von statistischen Tests in der Regel unter Vorbehalt zu betrachten ist, habe ich Diagramme aufgestellt, die die Beziehung des Logit zu den jeweiligen Variablen darstellt. 
Das erste Bild zeigt Diagramme aus Datensatz 1, welche ich ein wenig kritisch in Bezug zur Erfüllung der Annahme sehe.
Ich sehe da sechs Punktwolken. Die blauen Linien, von denen Du sagst, dass sie GAM-smoother darstellen, sehen für mich geradezu auffallend gerade aus. Bist Du sicher, dass es keine Geraden sind?
Das zweite Bild zeigt Diagramme aus Datensatz 1, die grob für alle restlichen (nicht aufgeführten) Variablen gelten.
Ich bin nicht sicher, ob ich diesen Satz richtig verstehe.

Für Forum 2.jpg

Für Forum 3.jpg

Das dritte Bild zeigt Diagramme aus Datensatz 3, welche ich ein wenig kritisch in Bezug zur Erfüllung der Annahme sehe.
Nehmen wir die Kurve zu x9. Von einem GAM-smoother würde ich erwarten, dass er zwischen 0,2 und 0,4 abfällt und dann wieder ansteigt. Bist Du sicher, dass das eingezeichnete keine Geraden sind?

Das vierte Bild zeigt Diagramme aus Datensatz 3, die grob für alle restlichen (nicht aufgeführten) Variablen gelten.
Nur jede Literatur, die ich lese, sagt, dass, solange die Linearitäts-Annahme nicht erfüllt wird, mein Model falsch oder unbrauchbar ist
.

Du könntest ja Deine Daten mal in ein nicht-lineares Klassifikationssystem wie einen randomForest stecken und schauen, wieviel besser die Vorhersagekraft eines Systems wäre, das nicht an Linearität gebunden ist. Nur so eine Idee.

Bevor ich vor ein paar Tagen mit Erschrecken feststellen musste, dass ich die Linearitäts-Annahme nicht beachtet hatte, habe ich mich an den Pseudo R^2 orientiert. Die Werte von Nagelkerke liegen für meine Modelle zwischen 24 und 31 %.


Klingt jetzt erstmal gar nicht so schlecht.

Ich thematisiere in meiner Arbeit auch schon die Multikollinearität. Daher wäre es für mich auch notwendig die Annahme der Linearität in einem geeigneten (eher aber kleinerem) Ausmaß zu beleuchten.
Multikollinearität bei n > 12000?
Die Untersuchung der Vorhersagegüte älterer Daten für neuere Daten ist eine gute Idee. Das habe ich noch nicht gemacht. Die genaue Umsetzung in R fällt mir dazu ad hoc zwar nicht ein.
Du teilst Deine Daten in einen Trainings- und einen Testdatensatz (wie man das bei einer Zeitreihe macht, bin ich auch gerade überfragt aber Du scheinst ja die die Zeitreihennatur vorerst nicht zu berücksichtigen), trainierst ein Modell mit glm und testest dann am Testdatensatz, ob predict dasselbe ergibt wie die Beobachtung angezeigt hat. predict ist manchmal etwas frickelig in der Anwendung aber das lässt sich in der Tat gut ergooglen.

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Leo
Beiträge: 5
Registriert: Do Jan 07, 2021 5:27 pm

Re: Lösung bei Verletzung der Linearitätsannahme im logistischen Regressionsmodell

Beitrag von Leo »

Vielen Dank für deine wieder einmal schnelle Antwort, Bernhard.
Mit erster und zweiter Aufteilung meinst Du jetzt die Daten vor und nach dem Stichtag?
Ja, genau. Datensatz 1 = alle Beobachtungsstunden. Datensatz 2 = alle Beobachtungsstunden bis zum Stichtag. Datensatz 3 = alle Beobachtungsstunden von dem Stichtag beginnend.
Nehmen wir die Kurve zu x9. Von einem GAM-smoother würde ich erwarten, dass er zwischen 0,2 und 0,4 abfällt und dann wieder ansteigt. Bist Du sicher, dass das eingezeichnete keine Geraden sind?
Deine Bedenken haben sich absolut bestätigt.
Für den kleinen Datensatz hat die Loess-Schätzung doch noch funktioniert.
R-Code:
gf_point(Logit ~ Variable, data = frame, xlab = "x9") %>% gf_smooth(se = TRUE, size = 0.5, method = "loess")

In dem Buch, aus dem ich den R-Code habe, hat in deren Beispiel die Linie noch einen Knick gehabt. Daher hatte ich kurzer Hand angenommen, dass der Code schon funktionieren würde. Leider beschreiben aber auch diese Autoren nicht, wie man nach Entdeckung der Verletzung der Annahme fortfahren sollte.
Die nächsten Bilder sind also die Bilder 3 und 4, nur eben diesmal mit Loess-Schätzung.
Für Forum 2.2 mit loess.jpg
Für Forum 3.2 mit loess.jpg
Nun habe ich die traurige Gewissheit, dass, wenn die Annahme bestätigt werden soll, ich das Modell umschreiben muss. :D

Du könntest ja Deine Daten mal in ein nicht-lineares Klassifikationssystem wie einen randomForest stecken und schauen, wieviel besser die Vorhersagekraft eines Systems wäre, das nicht an Linearität gebunden ist. Nur so eine Idee.
Ja, der Artikel, welcher die ausgehende Idee zu meiner Arbeit liefert, stellt Ergebnisse einer logistischen Regression und einem nichtparametrischen Modell vor. Nur hat das nichtparametrische Modell keine Regressionskoeffizienten geliefert wie in der logistischen Regression. Daher wollte ich die logistische Regression durchführen. Nun muss ich aber wohl unter Umständen nichtparametrische Modell-Alternativen anwenden.
randomForest habe ich noch nie gehört. Werde ich aber auch nachschlagen.
Multikollinearität bei n > 12000?
Ja, also das habe ich an Varianzinflationsfaktoren (VIF) geprüft.
Zu Beginn waren noch weitere 10 weitere Variablen im Modell enthalten. Die haben aber untereinander sehr stark korreliert und dadurch auch die VIFs aller anderen Variablen erhöht. Diese lagen teilweise viel höher als 10. Nun überschreitet keine Variable mehr diesen Schwellenwert von 10.
Eine aussortierte Variablengruppe war bspw. die stündliche Stromerzeugung in einem Land. Diese hat in unterschiedlichen Ländern ungefähr das gleiche Lastprofil. Deswegen auch Korrelationen um die 0,8 zu den jeweiligen Variablen in dieser Variablen-Gruppe.

Das zweite Bild zeigt Diagramme aus Datensatz 1, die grob für alle restlichen (nicht aufgeführten) Variablen gelten.

Ich bin nicht sicher, ob ich diesen Satz richtig verstehe.
Damit wollte ich sagen, dass in diesem Bild zwei Plots zu zwei Variablen dargestellt werden, die anderen Variablen, die im Modell enthalten sind, aber nicht in den Bildern auftauchen, ungefähr gleich aussehende Plots erzeugen.

Kann ich natürlich nicht mit dienen, aber dass die Power von Tests mit der Fallzahl steigt ist wohl unbestritten und dass extrem kleine Abweichungen ein Modell nicht unbrauchbar machen doch auch, oder?
Ist die Frage, ob man bei den an die Daten angepassten Kurven mit 2 oder mehr Polynomen noch von kleinen Abweichungen reden kann?!


Es wäre toll, noch einmal von dir zu hören.

LG
Benutzeravatar
EDi
Beiträge: 1332
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Lösung bei Verletzung der Linearitätsannahme im logistischen Regressionsmodell

Beitrag von EDi »

gf_smooth() scheint aus deinem Grafik-Paket zu stammen? Sehe ich das richtig, dass es eine lineare regression auf logit-transformierte Daten ist? Und keine logistische regression?

Ich würde immer Modellierung / Aggregierung von der Darstellung trennen. Damit hat man mehr Flexibilität, kann besser kontrollieren was passiert usw. Plotten im zweiten Schritt ist dann meist einfach.

Wie kommst du z.B. zu size=0.5 (das ist doch die breite des LOESS Bereichs, oder?). Soetwas optimiert man in der Regel...

Was ist das Ziel? Ein Möglichst gutes Vorhersagemodel zu haben? Oder aus dem Model zusammenhänge abzuleiten?

Kollinearität kann das Modellieren erschweren, würde ich aber vorher anschauen und rauswerfen, z.B. variablen mit Korrelation >0.7.

RandomForest ist ein guter Vorschlag, weil da die Variableselektion direkt drin steckt, Nicht-linearitäten erfasst werden und recht gut interpretierbar. Bringt oft gute Ergenisse.

Mir ist das alles zu unklar um besser helfen zu können. Mach dir klar was die Fragen sind die du mit den Daten beantworten willst. Danach schreibt auf wie du das machen willst und erst dann kommt die Implementierung in R im Spiel.

PS. BigBen hat Recht, war mal Ökologe (jetzt Datenwissenschaftler bei einem Großkonzern) und ich habe von Ökonometrie keinen blassen Schimmer.
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
Leo
Beiträge: 5
Registriert: Do Jan 07, 2021 5:27 pm

Re: Lösung bei Verletzung der Linearitätsannahme im logistischen Regressionsmodell

Beitrag von Leo »

Danke für deine Antwort.
gf_smooth() scheint aus deinem Grafik-Paket zu stammen?

Wie kommst du z.B. zu size=0.5 (das ist doch die breite des LOESS Bereichs, oder?). Soetwas optimiert man in der Regel..
Das ist aus dem Paket ggformula.
Den R-Code habe ich aus einem Buch, die das gleiche untersuchen wollen wie ich.
size gibt nur an, wie dick die Linie sein soll.
method: [..] Somewhat anecdotally, loess gives a better appearance, but is O(N^2) in memory, so does not work for larger datasets.
Mit se = TRUE gibt man an, dass das Konfidenzintervall um die Glättung herum abgebildet werden soll.
Sehe ich das richtig, dass es eine lineare regression auf logit-transformierte Daten ist? Und keine logistische regression?
Ne, es ist schon eine logistische Regression, bei der ich die Linearitätsannahme zwischen Logit und unabhängigen Variablen verletze.
Multikollinearität und Ausreißer habe ich untersucht. Diese Aspekte sollten keinen Einfluss mehr auf meine Schätzung haben.
Transformationen der unabhängigen Variablen mit dem Logarithmus habe ich untersucht. Hatte leider keinen positiven Effekt. Für andere Transformationen gilt das gleiche.

Was ist das Ziel? Ein Möglichst gutes Vorhersagemodel zu haben? Oder aus dem Model zusammenhänge abzuleiten?
Das Ziel ist Letzteres. Ein Vorhersagemodell möchte ich nicht aufstellen.
Musst die Annahme der Linearität in der logistischen Regression für diesen Zweck überhaupt erfüllt sein?


LG
bigben
Beiträge: 1974
Registriert: Mi Okt 12, 2016 9:09 am

Re: Lösung bei Verletzung der Linearitätsannahme im logistischen Regressionsmodell

Beitrag von bigben »

Hallo EDi,
EDi hat geschrieben: Fr Jan 08, 2021 11:47 pmgf_smooth() scheint aus deinem Grafik-Paket zu stammen?
Das Paket ggformula kommt selten im Forum vor. Es scheint ein Wrapper um ggplot2 zu sein, der aber formula versteht wie die alten base grafiken. Wenn etwas gf_smooth heißt kannst Du davon ausgehen, dass im wesentlichen geom_smooth aufgerufen wird und gf_point ist im wesentlichen geom_point.
Sehe ich das richtig, dass es eine lineare regression auf logit-transformierte Daten ist? Und keine logistische regression?
In den Grafiken wird jeweils ein Prädiktor gegen den Wert aufgetragen, der nachher im linearen Anteil des Modell herauskommt. Die Achsenbezeichnung Logit war für mich unintuitiv. Sie entsteht hier:

Code: Alles auswählen

 Logit <- Modell$linear.predictors
und dazu sagt help(glm)

Code: Alles auswählen

linear.predictors        the linear fit on link scale.

Code: Alles auswählen

 Logit <- Modell$linear.predictors
Also quasi predictor-predicted plots ohne die logit-Transformation

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Antworten