Ejecuté un modelo logit multinomial en JMP y obtuve resultados que incluían el AIC y los valores p de chi-cuadrado para cada estimación de parámetro. El modelo tiene un resultado categórico y 7 variables explicativas categóricas.
Luego ajusté lo que pensé que construiría el mismo modelo en R, usando la multinom
función en el paquete nnet .
El código era básicamente:
fit1 <- multinom(y ~ x1+x2+...xn,data=mydata);
summary(fit1);
Sin embargo, los dos dan resultados diferentes. Con JMP, el AIC es 2923.21, y con nnet::multinom
el AIC es 3116.588.
Entonces mi primera pregunta es: ¿Está equivocado uno de los modelos?
La segunda cosa es que JMP da valores p de chi-cuadrado para cada estimación de parámetro, que necesito. Ejecutar resumen en el multinom fit1
no lo hace, solo da las estimaciones, AIC y Deviance.
Mi segunda pregunta es así: ¿Hay alguna forma de obtener los valores p para el modelo y las estimaciones cuando se usa nnet::multinom
?
Sé que mlogit es otro paquete R para esto y parece que su salida incluye los valores p; sin embargo, no he podido ejecutar mlogit
usando mis datos. Creo que tenía los datos formateados correctamente, pero decía que tenía una fórmula no válida. Usé la misma fórmula que usé multinom
, pero parece que requiere un formato diferente usando una tubería y no entiendo cómo funciona.
Gracias.
Respuestas:
Estoy seguro de que ya ha encontrado sus soluciones, ya que esta publicación es muy antigua, pero para aquellos de nosotros que todavía estamos buscando soluciones, he encontrado que http://youtu.be/-Cp_KP9mq94 es una excelente fuente de instrucciones sobre cómo ejecute un modelo de regresión logística multinomial en R usando el paquete mlogit. Si va al sitio web de la academia de econonometría, ella tiene todos los scripts, datos para R y SAS y STATA, creo que o SPSS es uno de esos.
Qué tipo de explica cómo / por qué y qué hacer para transformar sus datos en el formato "largo" frente a "ancho". Lo más probable es que tenga un formato amplio, que requiere transformación.
https://sites.google.com/site/econometricsacademy/econometrics-models/multinomial-probit-and-logit-models
fuente
En general, las diferencias en los valores de AIC entre dos piezas diferentes de software no son del todo sorprendentes. Calcular las probabilidades a menudo implica una constante que es la misma entre diferentes modelos de los mismos datos. Los diferentes desarrolladores pueden tomar diferentes decisiones sobre qué dejar dentro o fuera de esa constante. Cuando debe preocuparse es cuando las diferencias en los valores de AIC entre dos modelos difieren. En realidad, acabo de notar un argumento que le
multinom()
permite cambiar cómo se colapsan las filas con valores X idénticos, y que esto afecta la línea de base de la desviación y, por lo tanto, el AIC. Podría probar diferentes valores del argumento summ y ver si eso hace que las desviaciones estén de acuerdo. ¡No sabemos qué está haciendo JMP! :)Si los coeficientes estimados y los errores estándar son los mismos, entonces eres bueno. Si los coeficientes no son los mismos, no olvide que JMP podría elegir un resultado de referencia diferente para calcular los coeficientes.
multinom()
toma diferentes decisionesmlogit()
, por ejemplo.Obtener valores p del resultado resumen () de multinom () es bastante fácil. No puedo reproducir sus modelos, así que aquí está el ejemplo de la página de ayuda en multinom ():
¡Estoy de acuerdo en que descubrir el paquete mlogit es un desafío! Lee las viñetas con cuidado. Ellos ayudan
fuente
Fishing
conjunto de datos con multinom?También puede intentar ejecutar un logit multinomial usando el paquete glmnet. No estoy seguro de cómo forzarlo a mantener todas las variables, pero estoy seguro de que es posible.
fuente