Ich analysiere einen bestimmten Datensatz und muss verstehen, wie ich das beste Modell für meine Daten auswähle. Ich benutze R.
Ein Beispiel für Daten, die ich habe, ist das Folgende:
corr <- c(0, 0, 10, 50, 70, 100, 100, 100, 90, 100, 100)
Diese Zahlen entsprechen dem Prozentsatz der richtigen Antworten unter 11 verschiedenen Bedingungen ( cnt
):
cnt <- c(0, 82, 163, 242, 318, 390, 458, 521, 578, 628, 673)
Zuerst habe ich versucht, ein Probit-Modell und ein Logit-Modell anzupassen. Gerade habe ich in der Literatur eine andere Gleichung gefunden, um Daten anzupassen, die meinen ähnlich sind, also habe ich versucht, meine Daten mithilfe der nls
Funktion gemäß dieser Gleichung anzupassen (aber ich stimme dem nicht zu, und der Autor erklärt nicht, warum er benutzte diese Gleichung).
Hier ist der Code für die drei Modelle, die ich bekomme:
resp.mat <- as.matrix(cbind(corr/10, (100-corr)/10))
ddprob.glm1 <- glm(resp.mat ~ cnt, family = binomial(link = "logit"))
ddprob.glm2 <- glm(resp.mat ~ cnt, family = binomial(link = "probit"))
ddprob.nls <- nls(corr ~ 100 / (1 + exp(k*(AMP-cnt))), start=list(k=0.01, AMP=5))
Jetzt habe ich Daten und die drei angepassten Kurven aufgezeichnet:
pcnt <- seq(min(cnt), max(cnt), len = max(cnt)-min(cnt))
pred.glm1 <- predict(ddprob.glm1, data.frame(cnt = pcnt), type = "response", se.fit=T)
pred.glm2 <- predict(ddprob.glm2, data.frame(cnt = pcnt), type = "response", se.fit=T)
pred.nls <- predict(ddprob.nls, data.frame(cnt = pcnt), type = "response", se.fit=T)
plot(cnt, corr, xlim=c(0,673), ylim = c(0, 100), cex=1.5)
lines(pcnt, pred.nls, lwd = 2, lty=1, col="red", xlim=c(0,673))
lines(pcnt, pred.glm2$fit*100, lwd = 2, lty=1, col="black", xlim=c(0,673)) #$
lines(pcnt, pred.glm1$fit*100, lwd = 2, lty=1, col="green", xlim=c(0,673))
Nun möchte ich wissen: Was ist das beste Modell für meine Daten?
- Probit
- logit
- nls
Die logLik für die drei Modelle sind:
> logLik(ddprob.nls)
'log Lik.' -33.15399 (df=3)
> logLik(ddprob.glm1)
'log Lik.' -9.193351 (df=2)
> logLik(ddprob.glm2)
'log Lik.' -10.32332 (df=2)
Reicht die logLik aus, um das beste Modell auszuwählen? (Es wäre das Logit-Modell, oder?) Oder muss ich noch etwas berechnen?
nls
anders und ist dort nicht abgedeckt).nls
Modell und den Vergleich mitglm
. Dies ist der Grund, warum ich eine ähnliche Frage (erneut) gestellt habe :)nls
, wir werden sehen, was die Leute sagen. In Bezug auf die GLiMs würde ich sagen, dass Sie das Logit verwenden sollten, wenn Sie glauben, dass Ihre Kovariaten direkt mit der Antwort verbunden sind, und Probit, wenn Sie glauben, dass es durch eine latente normalverteilte Variable vermittelt wird.Antworten:
Die Frage, welches Modell verwendet werden soll, hat mit dem Ziel der Analyse zu tun.
Wenn das Ziel darin besteht, einen Klassifikator zu entwickeln, um binäre Ergebnisse vorherzusagen, sind diese drei Modelle (wie Sie sehen können) alle ungefähr gleich und geben Ihnen ungefähr den gleichen Klassifikator. Dies macht es zu einem strittigen Punkt, da es Ihnen egal ist, welches Modell Ihren Klassifikator entwickelt, und Sie möglicherweise die Kreuzvalidierung oder die Validierung geteilter Stichproben verwenden, um zu bestimmen, welches Modell bei ähnlichen Daten am besten abschneidet.
In der Schlussfolgerung schätzen alle Modelle unterschiedliche Modellparameter. Alle drei Regressionsmodelle sind Sonderfälle von GLMs, die eine Verknüpfungsfunktion und eine Varianzstruktur verwenden, um die Beziehung zwischen einem binären Ergebnis und (in diesem Fall) einem kontinuierlichen Prädiktor zu bestimmen. Das NLS- und das logistische Regressionsmodell verwenden dieselbe Verknüpfungsfunktion (das Logit), aber das NLS minimiert den quadratischen Fehler bei der Anpassung der S-Kurve, wobei die logistische Regression eine maximale Wahrscheinlichkeitsschätzung der Modelldaten unter der Annahme des linearen Modells für ist Modellwahrscheinlichkeiten und die binäre Verteilung der beobachteten Ergebnisse. Ich kann mir keinen Grund vorstellen, warum wir das NLS als nützlich für Schlussfolgerungen betrachten würden.
Die Probit-Regression verwendet eine andere Verknüpfungsfunktion, die die kumulative Normalverteilungsfunktion ist. Dies "verjüngt" sich schneller als ein Logit und wird häufig verwendet, um Rückschlüsse auf Binärdaten zu ziehen, die als binäre Schwelle für nicht beobachtete kontinuierliche normalverteilte Ergebnisse beobachtet werden.
Empirisch wird das logistische Regressionsmodell weitaus häufiger zur Analyse von Binärdaten verwendet, da der Modellkoeffizient (Odds-Ratio) leicht zu interpretieren ist, eine Maximum-Likelihood-Technik darstellt und gute Konvergenzeigenschaften aufweist.
quelle