Hoy acudo a ustedes porque me enfrento a un gran problema que no puedo explicar.
He realizado una regresión logística multinomial (utilizando el paquete mlogit) sobre datos de comportamiento. Preparo los datos haciendo
mlogit <- mlogit.data(Merge, choice = "Choice", shape = "long", alt.var = "Comp",
drop.index = TRUE)
en mis datos de Merge.
que me da lo siguiente:
Date Time ActivityX ActivityY Temp Behavior Valley Age Month Year kid Individual Choice
1.F 01/05/2012 00:00:00 80 58 10 F Fuorn 8 5 2012 Y 26 TRUE
1.R 01/05/2012 00:00:00 80 58 10 F Fuorn 8 5 2012 Y 26 FALSE
1.M 01/05/2012 00:00:00 80 58 10 F Fuorn 8 5 2012 Y 26 FALSE
1.RUN 01/05/2012 00:00:00 80 58 10 F Fuorn 8 5 2012 Y 26 FALSE
2.F 01/05/2012 00:05:00 90 76 10 F Fuorn 8 5 2012 Y 26 TRUE
2.R 01/05/2012 00:05:00 90 76 10 F Fuorn 8 5 2012 Y 26 FALSE
2.M 01/05/2012 00:05:00 90 76 10 F Fuorn 8 5 2012 Y 26 FALSE
2.RUN 01/05/2012 00:05:00 90 76 10 F Fuorn 8 5 2012 Y 26 FALSE
3.F 01/05/2012 00:10:00 51 47 10 M Fuorn 8 5 2012 Y 26 FALSE
3.R 01/05/2012 00:10:00 51 47 10 M Fuorn 8 5 2012 Y 26 FALSE
3.M 01/05/2012 00:10:00 51 47 10 M Fuorn 8 5 2012 Y 26 TRUE
3.RUN 01/05/2012 00:10:00 51 47 10 M Fuorn 8 5 2012 Y 26 FALSE
4.F 01/05/2012 00:15:00 0 0 10 R Fuorn 8 5 2012 Y 26 FALSE
4.R 01/05/2012 00:15:00 0 0 10 R Fuorn 8 5 2012 Y 26 TRUE
4.M 01/05/2012 00:15:00 0 0 10 R Fuorn 8 5 2012 Y 26 FALSE
4.RUN 01/05/2012 00:15:00 0 0 10 R Fuorn 8 5 2012 Y 26 FALSE
5.F 01/05/2012 00:20:00 0 0 9 R Fuorn 8 5 2012 Y 26 FALSE
5.R 01/05/2012 00:20:00 0 0 9 R Fuorn 8 5 2012 Y 26 TRUE
5.M 01/05/2012 00:20:00 0 0 9 R Fuorn 8 5 2012 Y 26 FALSE
5.RUN 01/05/2012 00:20:00 0 0 9 R Fuorn 8 5 2012 Y 26 FALSE
entonces hice mi regresión :
m1 <- mlogit(Choice ~ 1 |Temp + Valley + Age + kid + Month , mlogit)
y me dio resultados significativos :
Estimate Std. Error t-value Pr(>|t|)
M:(intercept) -4.2153e-01 5.7533e-02 -7.3268 2.358e-13 ***
R:(intercept) 6.2325e-01 3.4958e-02 17.8284 < 2.2e-16 ***
RUN:(intercept) -1.2275e+01 4.0526e-01 -30.2895 < 2.2e-16 ***
M:Temp 1.5371e-02 9.8680e-04 15.5764 < 2.2e-16 ***
R:Temp -3.9871e-02 6.7926e-04 -58.6975 < 2.2e-16 ***
RUN:Temp -4.4532e-02 6.8696e-03 -6.4825 9.023e-11 ***
M:ValleyTrupchun -3.6154e-01 1.6362e-02 -22.0968 < 2.2e-16 ***
R:ValleyTrupchun -4.0186e-02 9.7968e-03 -4.1020 4.096e-05 ***
RUN:ValleyTrupchun 1.2895e+00 8.5357e-02 15.1066 < 2.2e-16 ***
M:Age -1.1026e-02 2.6902e-03 -4.0985 4.158e-05 ***
R:Age 1.9465e-02 1.6479e-03 11.8119 < 2.2e-16 ***
RUN:Age 5.5473e-02 1.6661e-02 3.3294 0.0008703 ***
M:kidY 6.0686e-02 2.2638e-02 2.6807 0.0073460 **
R:kidY -4.1638e-01 1.2391e-02 -33.6024 < 2.2e-16 ***
RUN:kidY 6.2311e-01 1.0410e-01 5.9854 2.158e-09 ***
M:Month -2.0466e-01 8.4448e-03 -24.2346 < 2.2e-16 ***
R:Month 2.4148e-02 5.2317e-03 4.6157 3.917e-06 ***
RUN:Month 9.8715e-01 5.6209e-02 17.5622 < 2.2e-16 ***
Esos resultados coincidían con lo que esperaba encontrar en la literatura, así que estaba bastante contento.
Mi siguiente paso fue trazar mis resultados y aquí es cuando tengo algún problema.
En primer lugar, cuando trazo mis datos originales y los comparo con el resultado de mi regresión, encuentro algunas diferencias enormes. Por ejemplo, cuando grafico el porcentaje de tiempo que se dedica a un comportamiento (M para moverse, F para alimentarse, R para descansar y Run para correr, en mi regresión F es la referencia) en función de la edad, encuentro que cuanto más viejo es un individuo, más descansa y más se mueve, pero las estimaciones que obtuve de mi regresión muestran que deberían descansar más (cuando envejecen) pero moverse menos. Así que para resumir, mi gráfico sobre los datos originales muestra lo contrario de lo que obtuve de la regresión.
No sé si es normal, en el sentido de que no sé si puedo comparar mis datos originales con el resultado de mi regresión de forma que mi regresión muestre la probabilidad de cambiar a un comportamiento desde otro cada vez que mi variable crece de una unidad.
Así que quería utilizar el predict()
pero no sé cómo hacerlo. Esperaba recibir ayuda aquí.
3 votos
¿Puede proporcionar los datos para hacer un ejemplo reproducible? Creo que lo que quieres hacer es un gráfico de, por ejemplo, p(Move) frente a la edad, para valores fijos de las otras covariables. Me gustaría hacer lo mismo para mi modelo multinomial. La diferencia entre su modelo ajustado y los datos empíricos podría deberse a que su gráfico empírico no está teniendo en cuenta todos los demás predictores que sí tiene su modelo. Ajuste Choice ~ 1 | Age y vea qué aspecto tiene.