Estoy analizando un determinado conjunto de datos y necesito entender cómo elegir el mejor modelo que se ajuste a mis datos. Estoy usando R.
Un ejemplo de datos que tengo es el siguiente:
corr <- c(0, 0, 10, 50, 70, 100, 100, 100, 90, 100, 100)
Estos números corresponden al porcentaje de respuestas correctas, bajo 11 condiciones diferentes ( cnt
):
cnt <- c(0, 82, 163, 242, 318, 390, 458, 521, 578, 628, 673)
En primer lugar, intenté adaptar un modelo probit y un modelo logit. Justo ahora encontré en la literatura otra ecuación para ajustar datos similares a los míos, así que intenté ajustar mis datos, usando la nls
función, de acuerdo con esa ecuación (pero no estoy de acuerdo con eso, y el autor no explica por qué él usó esa ecuación).
Aquí está el código para los tres modelos que obtengo:
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))
Ahora tracé datos y las tres curvas ajustadas:
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))
Ahora, me gustaría saber: ¿cuál es el mejor modelo para mis datos?
- probit
- logit
- nls
Los logLik para los tres modelos son:
> 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)
¿LogLik es suficiente para elegir el mejor modelo? (Sería el modelo logit, ¿verdad?) ¿O hay algo más que deba calcular?
nls
es diferente y no está cubierto allí).nls
modelo y la comparación conglm
. Esta es la razón por la que (re) publiqué una pregunta similar :)nls
, veremos qué dice la gente. Con respecto a los GLiM, diría que debe usar logit si cree que sus covariables se conectan directamente a la respuesta, y probit si cree que está mediada por una variable latente normalmente distribuida.Respuestas:
La cuestión de qué modelo usar tiene que ver con el objetivo del análisis.
Si el objetivo es desarrollar un clasificador para predecir resultados binarios, entonces (como puede ver), estos tres modelos son aproximadamente iguales y le dan aproximadamente el mismo clasificador. Eso lo convierte en un punto discutible ya que no le importa qué modelo desarrolle su clasificador y puede usar la validación cruzada o la validación de muestra dividida para determinar qué modelo funciona mejor en datos similares.
En inferencia, todos los modelos estiman diferentes parámetros del modelo. Los tres modelos de regresión son casos especiales de GLM que utilizan una función de enlace y una estructura de varianza para determinar la relación entre un resultado binario y (en este caso) un predictor continuo. El NLS y el modelo de regresión logística utilizan la misma función de enlace (el logit), pero el NLS minimiza el error al cuadrado en el ajuste de la curva S donde, como la regresión logística es una estimación de máxima probabilidad de los datos del modelo bajo el supuesto del modelo lineal para modelo de probabilidades y la distribución binaria de resultados observados. No puedo pensar en una razón por la que consideraríamos que el NLS es útil para la inferencia.
La regresión probit utiliza una función de enlace diferente, que es la función de distribución normal acumulativa. Esto "disminuye" más rápido que un logit y a menudo se usa para hacer inferencia en datos binarios que se observan como un umbral binario de resultados continuos normalmente distribuidos no observados.
Empíricamente, el modelo de regresión logística se usa con mucha más frecuencia para el análisis de datos binarios, ya que el coeficiente del modelo (odds-ratio) es fácil de interpretar, es una técnica de máxima verosimilitud y tiene buenas propiedades de convergencia.
fuente