Elija el mejor modelo entre logit, probit y nls

8

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 nlsfunció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?

Tommaso
fuente
He escrito sobre elegir entre logit y probit aquí , que es posible que desee leer (aunque, nlses diferente y no está cubierto allí).
gung - Restablece a Monica
@gung Anteriormente leí tu gran explicación allí, ¡así que gracias! Mi problema es especialmente con respecto al nlsmodelo y la comparación con glm. Esta es la razón por la que (re) publiqué una pregunta similar :)
Tommaso
2
Estoy menos seguro de eso 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.
gung - Restablece a Monica
2
Hola @Tommaso, estoy confundido acerca de dónde proviene la regla general que citaste en el artículo, pero en realidad no he hecho clic en el enlace, así que esperaré juzgando eso. Yo diría que el modelo logístico es bueno porque los coeficientes tienen una buena interpretación, como log odds ratios. Cuando intentas hacer descomposiciones de varianza (por ejemplo, si tienes datos agrupados y estás tratando de cuantificar el nivel de dependencia dentro de los datos), el modelo probit tiene algunas buenas propiedades, ya que las correlaciones en el continuo subyacente (normal, como señaló Gung fuera) escala, se identifican.
Macro
3
Los loglik que obtienes de R arriba NO son comparables en los diferentes tipos de modelos (¡dejan fuera las constantes que no dependen de los parámetros!), Por lo que no te son de utilidad aquí.
kjetil b halvorsen

Respuestas:

2

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.

AdamO
fuente