24 votos

Cómo configurar y estimación de un modelo logit multinomial en el modelo de R?

Me encontré con un modelo logit multinomial en el modelo de JMP y volvió resultados que incluyen la AIC como bien chi-cuadrado p-valores para cada parámetro estimado. El modelo tiene un categórico resultado y 7 categórica explicativo vars.

Entonces me adaptarse a lo que yo pensaba que iba a construir el mismo modelo en R, el uso de la multinom función en el nnet paquete.

El código fue básicamente:

fit1 <- multinom(y ~ x1+x2+...xn,data=mydata);
summary(fit1);

Sin embargo, los dos dan resultados diferentes. Con JMP la AIC es 2923.21, y con nnet::multinom el AIC es 3116.588.

Así que mi primera pregunta es: Es uno de los modelos de malo?

La segunda cosa es, JMP da chi-cuadrado p-valores para cada parámetro a estimar, lo que necesito. Resumen de ejecución en el multinom fit1 no - solo le da a las estimaciones, la AIC y la Desviación.

Mi segunda pregunta es: ¿hay una manera de obtener los valores de p para el modelo y estimaciones cuando se utiliza nnet::multinom?

mlogit es otro paquete de R para esto y parece que su salida incluye el p-valores; sin embargo, no he sido capaz de ejecutar mlogit el uso de mis datos. Creo que tenía el formato de la hora a la derecha, pero me dijo que tenía una fórmula no válida. He utilizado la misma fórmula que he utilizado para multinom, pero parece que requiere un formato diferente utilizando un tubo y no entiendo cómo funciona.

Gracias.

10voto

jonbho Puntos 215

Estoy seguro de que ya has encontrado tus soluciones como este post es muy antiguo, pero para aquellos de nosotros que todavía están buscando las soluciones que he encontrado http://youtu.be/-Cp_KP9mq94 es una gran fuente para obtener instrucciones sobre cómo ejecutar un modelo de regresión logística multinomial en R usando mlogit paquete. Si usted va a la econonometrics sitio web de la academia, ella tiene todas las secuencias de comandos, los datos de R y SAS y STATA creo o SPSS uno de esos.

Que tipo de explica cómo y por qué y qué hacer acerca de la transformación de los datos en el formato de la "larga" formato vs "amplia". Más probable es que usted tiene un gran formato, que requiere de la transformación.

https://sites.google.com/site/econometricsacademy/econometrics-models/multinomial-probit-and-logit-models

3voto

En general, las diferencias en los valores de AIC entre dos diferentes piezas de software no son del todo sorprendente. El cálculo de las probabilidades a menudo implica una constante que es la misma entre los diferentes modelos de los mismos datos. Diferentes desarrolladores pueden tomar decisiones diferentes sobre lo que debe dejar dentro o fuera de esa constante. Cuando usted debe preocuparse es cuando las diferencias en los valores de AIC entre dos modelos diferentes. En realidad me di cuenta de un argumento a multinom() le permite cambiar la forma de filas con idénticos valores de X se derrumbaron, y que esto afecta a la línea de base de la desviación, y por lo tanto la AIC. Usted puede probar diferentes valores de la summ argumento y ver si eso hace que el deviances de acuerdo. No sabemos qué JMP está haciendo! :)

Si la estimación de los coeficientes y errores estándar son los mismos, entonces está bien. Si los coeficientes no son lo mismo, no olvide que la JMP podría elegir una línea de base diferente resultado para calcular los coeficientes de. multinom() tiene diferentes opciones de mlogit(), por ejemplo.

Obtener los valores de p desde el resumen (a) resultado de multinom() es bastante fácil. Yo no puedo reproducir sus modelos, así que aquí está el ejemplo de la página de ayuda multinom():

library("nnet")
data("Fishing", package = "mlogit")
fishing.mu <- multinom(mode ~ income, data = Fishing)
sum.fishing <- summary(fishing.mu) # gives a table of outcomes by covariates for coef and SE
str(sum.fishing)
# now get the p values by first getting the t values
pt(abs(sum.fishing$coefficients / sum.fishing$standard.errors),
  df=nrow(Fishing)-6,lower=FALSE)

Estoy de acuerdo que averiguar el mlogit paquete es un poco de un desafío! Leer las viñetas, con cuidado. Ellos ayudan.

1voto

Boris Tsirelson Puntos 191

También puede intentar ejecutar un modelo logit multinomial utilizando el glmnet paquete. No estoy seguro de cómo la fuerza para mantener todas las variables, pero estoy seguro de que es posible.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X