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
Modell und den Vergleich mit glm
. 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.
nls
anders und ist dort nicht abgedeckt).