2016-06-27 16 views
0

Ich habe ein einfaches GLM-Modell sieht aus, als:vorhergesagte Wahrscheinlichkeit logistische Regression in R mit gleich 1

glm.fit=glm(Retention2~Email+Pay.method, data=train, family = binomial) 

Alle DV und IVs sind kategorische Variablen mit zwei Ebenen.

Das Ergebnis der glm ist:

enter image description here

wenn ich die prädizierten Wahrscheinlichkeiten berechnet, wobei der Wahrscheinlichkeitswert 1,000 ist, wenn Pay.Method 0. Die Syntax und ausgegeben werden nachstehend aufgeführt ist:

glm.fit.prob=predict(glm.fit, newdata = test2, type="response") 

enter image description here

Es scheint, dass immer dann, wenn die pay.method ="EZ PAY", die Wahrscheinlichkeit wird 0. Ich denke mathematisch der Grund ist, dass die coeff von E-Mail so viel kleiner ist als intercept und Pay.method. Ich frage mich, ob mein Verständnis korrekt ist und wenn ja, wie kann ich das verstehen?

+0

danke! es gab mir eine bessere Passform, obwohl nicht so gut wie mit LDA. – YLS

Antwort

0

Der Fall wird Clear Clear-Fall genannt. Schauen Sie in Ihre Daten, wenn Sie haben pay.method ="EZ PAY" dann entweder Beobachtung fast Null sein könnte oder fast alle wird 1. Also idealerweise brauchen Sie kein Modell zu prognostizieren, weil Sie sagen können, ob Ergebnis 0 oder 1 ohne Modell (jetzt, wenn sein Fall ist oder wegen des Mangels an Daten ist eine andere Frage). Es ist besser, diese Fälle aus Trainingsdaten zu entfernen und dann das Modell zu trainieren (in diesem Fall entfernen Sie alle Beobachtungen mit pay.method ="EZ PAY").

Nun, warum dieses Verhalten. Die logistische Regressions-Maximum-Likelihood-Schätzung ist nicht sehr gut, um mit dem Fall der klaren Trennung umzugehen; Für eine gute Berichterstattung verweisen wir auf Hastie Tibshiranis statistisches Lernbuch. Sie empfehlen auch die Verwendung von Diskriminanzanalyse, da es besser ist, mit solchen Fällen umzugehen.

+0

Danke für die Eingabe. Ich habe versucht, LDA, die viel bessere vorhergesagte Wahrscheinlichkeiten und Gesamtpräzision Genauigkeit (72%) geben. Allerdings habe ich den Eindruck, dass es einen Nachteil bei der Verwendung von LDA gibt, dass ich nicht in der Lage bin, das CI der späteren Wahrscheinlichkeit zu erhalten, wie es bei Verwendung von glm der Fall wäre. Für glm, wenn ich type = "link" und se = TRUE, dann kann ich das CI für die vorhergesagte Wahrscheinlichkeit berechnen. Irgendwie kann ich das umgehen? Vielen Dank! – YLS

+0

eine weitere Frage, wenn Sie sagen, fallen die Fälle, wo pay.method = EZ PAY, ist das gleiche wie nur EMAIL als Prädiktor. Da es in der Methode pay.method nur zwei Ebenen gibt, wird diese Variable nach dem Löschen aller Fälle mit einer Ebene nicht angezeigt. – YLS

+0

Wenn dies Ihre "vollständigen" Daten sind, dann ja. Wenn nein, dann suche nach mehr Daten. Problem der klaren Trennung wird weniger wahrscheinlich, wenn Sie mehr Daten haben. Logisch, nur weil jemand, der EZEEPAY verwendet, keine Abnutzung verursacht, unlogisch ist. Es wird bestimmt so jemand geben. Es ist nur so, dass Ihre Daten ihn nicht erfassen. – abhiieor

Verwandte Themen