Modell Genauigkeit bei multipler Imputation und logistischer Regression

Modelle zur Korrelations- und Regressionsanalyse

Moderator: EDi

Antworten
Lenusch
Beiträge: 10
Registriert: Mi Apr 14, 2021 9:35 pm

Modell Genauigkeit bei multipler Imputation und logistischer Regression

Beitrag von Lenusch »

Liebes Forum,

ich habe ein logistisches Regressionsmodell, bei dem eine der beiden Prädiktorvariablen 12% fehlende Werte hatte die ich durch multiple Imputation ersetzte. Der Prädiktor mit den fehlenden Werten ist in dem gepoolten logistischen Regressionsmodell Modell nicht signifikant (p= .09) und der zweite Prädiktor, der keine fehlenden Werte enthält, der also über alle Datensätze gleich ist, ist hochsignifikant mit p>0.000001. Trotzdem sollen beide im Modell bleiben.

Imputiert habe ich in 20 Datasets. Nun bin ich gerade dabei für die einzelnen imputierten Datasets die Modellgenauigkeit zu bestimmen. Dabei komme ich bei jedem der 20 Datensätze auf exakt die selben Ergebnisse für die "Sensivität", die "Spezifität" und die "Error Misclassification rate".

Ich bin den code mehrmals durchgegangen und kann keinen Fehler finden. Kennt sich hier vielleicht jemand genauer mit logistischer Regression aus und könnte mir sagen ob das im Bereich des Möglichen liegt dass die Modellgenauigkeit der 20 Datasets exakt gleich ist, obwohl sich 12% der Werte einer der beiden Prädiktoren innerhalb der Datasets unterscheiden?


Herzliche Grüße


Leni
schubbiaschwilli
Beiträge: 207
Registriert: Di Jun 27, 2017 12:09 pm

Re: Modell Genauigkeit bei multipler Imputation und logistischer Regression

Beitrag von schubbiaschwilli »

Gude!

Ohne den Code und die Daten zu kennen wird dir da niemand weiterhelfen können.

Dank&Gruß
Schubbiaschwilli
bigben
Beiträge: 2362
Registriert: Mi Okt 12, 2016 9:09 am

Re: Modell Genauigkeit bei multipler Imputation und logistischer Regression

Beitrag von bigben »

Hallo Leni,

Ich weiß nicht so genau, ob wir unter"Dataset" und "Datensatz" das gleiche verstehen. Unabhängig davon: Wie groß war denn die Tabelle vor den 20 Ergänzungen und wieviele Nachkommastellen sind "exakt"?
Ich würde mir bestimmt die Ergebnisse dieser 20 Zeilen einmal anzeigen lassen und mit der Accuracy von "vorher" vergleichen.

LG, Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Lenusch
Beiträge: 10
Registriert: Mi Apr 14, 2021 9:35 pm

Re: Modell Genauigkeit bei multipler Imputation und logistischer Regression

Beitrag von Lenusch »

Hallo zusammen,

Danke Euch für die schnellen Antworten. Ich habe meinen Fehler nun selbst gefunden :oops: .. der hätte hier tatsächlich ohne Code nicht aufgelöst werden können. Es lag an dem falschen Befehl mit dem ich die einzelenen Datensätze in train- und test-data aufgeteilt habe ( habe den Befehl createDataPartition() genutzt). Danke Euch für Eure Hilfe!

Die Werte für sensitivität und spezifität der 20 log models, die nun für jeden der Datensätze unterschiedlich ausgefallen sind, werde ich nun über die 20 Datensätze mitteln.


@> Berhnhard: Datasets und Datensätze verwende ich eigentlich synonym für eine Gruppe von Variablen die zusammengehören. Davon habe durch die multiple Imputation nun 20. Habe ich da einen Denkfehler?


Herzliche Grüße

Leni
bigben
Beiträge: 2362
Registriert: Mi Okt 12, 2016 9:09 am

Re: Modell Genauigkeit bei multipler Imputation und logistischer Regression

Beitrag von bigben »

Hallo Leni,

Solange Dein Problem jetzt gelöst ist brauchen wir nicht begriffliche Haare zu spalten und alles ist gut. :)

Für zukünftige Fragen bietet es sich an, ein "minimales, reproduzierbares Beispiel" zu erstellen. Das heißt ausreichend viele Beispieldaten (müssen nicht die Originaldaten sein aber das Problem muss damit nachvollziehbar sein) in R-lesbarer Form und Deinen Code soweit zusammenzustreichen, dass er nichts für die Frage irrelevantes mehr enthält aber gerade noch ausreichend umfangreich ist, dass man das Problem damit nachvollziehen kann. im FAQ-Unterforum findest Du einen alten Beitrag, der verschiedene Ansätze für das Einstellen von Daten erläutert.
Ich selbst habe schon oft versucht, meinen Code auf ein forumstaugliches Minimalbeispiel zusammenzustreichen und dabei selbst den Fehler gefunden, sodass ich gar keinen Post mehr einstellen musste. Das ist also eine doppelt sinnvolle Übung.

Bis zur nächsten Frage liebe Grüße,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Lenusch
Beiträge: 10
Registriert: Mi Apr 14, 2021 9:35 pm

Re: Modell Genauigkeit bei multipler Imputation und logistischer Regression

Beitrag von Lenusch »

Da war ich leider zu vorfreudig. Es sind doch noch die selben Werte für Sensitivität und Spezifität in allen Modellen, auch wenn es nun andere sind.
Nur die Werte der Missclassification unterscheiden sich in 5 Modellen. In denen sind sie aber auch gleich; also habe in den Log Modellen der 20 Datensätzen 15 x Wert x und 5 x Wert Y für missclasification

Sample size ist hier N=129

y ist hier eine dummy coded binäre Variable, die nicht imputiert wurde

x1 eine continuous variable die nicht imputiert wurde. Das Modell in dem sie als einzige variable enthalten ist hat ein AIC-Wert von 74.826

x2 eine continuous variable bei der 12% (n=16) der Werte imputiert wurde. Da Modell in dem sie als einzige variable enthalten ist hat ein AIC-Wert von 151.26

Das Modell in dem beide Variablen enthalten sind hat einen AIC Wert von 74.826


Hier Beispielcode für den 20. der 20 imputierten Datensätze:


Code: Alles auswählen

lm20 <- glm(y ~ x1 +x2 ,
           data=imp.data$imp20m, family= "binomial")

#divide dataset into training and test set

set.seed(1)

sample20 <- sample(c(TRUE, FALSE), nrow(data), replace=TRUE, prob=c(0.7,0.3))

trd20l <- imp.data$imp20m[sample20, ]

ted20 <-  imp.data$imp20m[!sample20, ]


lmt20 <- glm(y ~ x1 + x2 ,
            family= "binomial", data=trd20L)

#use model to predict probability of default

predictedlm20 <- predict(lmt20, ted20, type="response")

#find optimal cutoff probability to use to maximize accuracy

optimal20 <- optimalCutoff(ted20$y, predictedlm20)[1]

#create confusion matrix

confusionMatrix(ted20$y, predictedlm20)

#   0  1
#0 15  1
#1  1 22

#calculate sensitivity

sensitivity(ted20$y, predictedlm20)

#[1]  0.9565217 <--- in allen 20 Modellen gleich

#calculate specificity

specificity(ted20$y, predictedlm20)

#[1] 0.9375  <--- in allen 20 Modellen gleich

#calculate total misclassification error rate


misClassError(ted20$y, predictedlm20, threshold=optimal20)

#[1] 0.0513 <-- unterschidet sich für 5 Modelle

Vielleicht hat jemand eine Idee, ob das so stimmen kann, oder sieht einen Fehler? Ich hoffe das ist so verständlich wiedergegeben, sonst gerne Fragen.

Vielen Dank und


Herzliche grüße


Leni
Benutzeravatar
EDi
Beiträge: 1541
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Modell Genauigkeit bei multipler Imputation und logistischer Regression

Beitrag von EDi »

Vielleicht hat jemand eine Idee, ob das so stimmen kann, oder sieht einen Fehler?
Das kann sein, wenn ich mir die wenigen Infos von dir anschaue (kommt auf die Entscheidungsgrenze bzw. wie diese sich zu den imputierten Features verhällt). Ein Fehler kann aber ohne ein reproduzierbares Beispiel auch nicht ausgeschlossen werden.

Schau dir das doch einfach mal grafisch an (wo liegen die imputierten Werte, wie ist die Entscheidungsgrenze, ...), bei zwei Features ist das ja noch problemlos möglich...
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.
Lenusch
Beiträge: 10
Registriert: Mi Apr 14, 2021 9:35 pm

Re: Modell Genauigkeit bei multipler Imputation und logistischer Regression

Beitrag von Lenusch »

Okay, ja das ist eine gute Idee. Vielen Dank für die Einschätzung und den Tipp.


Liebe Grüße

Leni
Antworten