En un modelo logit, hay una forma más inteligente para determinar el efecto independiente de la variable ordinal que el uso de variables ficticias para cada nivel?
Respuestas
¿Demasiados anuncios?Para agregar a @dmk38 la respuesta, "cualquier conjunto de las puntuaciones que le da una validez de la prueba, siempre que se construyen sin consultar a los resultados del experimento. Si el conjunto de resultados es pobre, en la que se distorsiona una escala numérica que realmente subyacen a la orden de la clasificación, la prueba no será sensibles. Las puntuaciones por lo tanto debe encarnar la mejor comprensión acerca de la forma en que la clasificación fue construido y utilizado." (Cochran, 1954, citado por Agresti, 2002, pp 88-89). En otras palabras, el tratamiento de un pedido, el factor numérico anotó variable es simplemente una modelización de la cuestión. Siempre tiene sentido, esto sólo va a afectar la forma en que interprete el resultado, y no hay ninguna regla definitiva de pulgar sobre cómo elegir la mejor representación de una variable ordinal.
Considere el siguiente ejemplo de la madre el consumo de Alcohol y la presencia o ausencia de malformaciones congénitas (Agresti, Análisis de Datos Categóricos, Tabla 3.7 p.89):
0 <1 1-2 3-5 6+
Absent 17066 14464 788 126 37
Present 48 38 5 1 1
En este caso particular, podemos modelar el resultado del uso o la regresión logística simple de la tabla de asociación. Vamos a hacerlo en R:
tab3.7 <- matrix(c(17066,48,14464,38,788,5,126,1,37,1), nr=2,
dimnames=list(c("Absent","Present"),
c("0","<1","1-2","3-5","6+")))
library(vcd)
assocstats(tab3.7)
Habitual $\chi^2$ (12.08, p=0.016751) o LR (6.20, p=0.184562) estadística (con 4 df) no tiene en cuenta los niveles ordenados en el consumo de Alcohol.
El tratamiento de ambas variables ordinales con equidistantes de las puntuaciones (esto no tiene ningún impacto para variables binarias, como la malformación, y elegimos la línea de base como 0=ausente), se puede probar lineal por lineal de la asociación. Primero vamos a construir la explosión de un versión de esta Tabla de contingencia:
library(reshape)
tab3.7.df <- untable(data.frame(malform=gl(2,1,10,labels=0:1),
alcohol=gl(5,2,10,labels=colnames(tab3.7))),
c(tab3.7))
# xtabs(~malform+alcohol, tab3.7.df) # check
A continuación, podemos probar un lineal de la asociación con
library(coin)
#lbl_test(as.table(tab3.7))
lbl_test(malform ~ alcohol, data=tab3.7.df)
que los rendimientos de $\chi^2(1)=1.83$$p=0.1764$. Tenga en cuenta que esta estadística es simplemente la correlación entre las dos series de puntuaciones (Agresti llama $M^2=(n-1)r^2$), lo cual es fácilmente calculada como
cor(sapply(tab3.7.df, as.numeric))[1,2]^2*(32574-1)
Como se puede ver, no hay mucha evidencia de una clara asociación entre las dos variables. Como hecho por Agresti, si elegimos recode niveles de Alcohol como {0,0.5,1.5,4,7}, que es el uso de mediados de los rangos de valores para una hipótesis de escala continua con la última calificación de ser algo puramente arbitrario, entonces llegaríamos a la conclusión de que un mayor efecto de la materna, el consumo de Alcohol en el desarrollo de malformaciones congénitas:
lbl_test(malform ~ alcohol, data=tab3.7.df,
scores=list(alcohol=c(0,0.5,1.5,4,7)))
los rendimientos de un estadístico de prueba de 6.57 asociado un p-valor de 0.01037.
Hay otros esquemas de codificación, incluyendo midranks (en cuyo caso, caemos de nuevo a Spearman $\rho$ en lugar de Pearson $r$) que se explica por Agresti, pero espero que captar la idea general aquí: Lo mejor es seleccionar las puntuaciones que reflejan una razonable medidas de la distancia entre categorías adyacentes de la variable ordinal, y la igualdad de espacio es a menudo una buena opción (en la ausencia de justificación teórica).
Utilizando el GLM enfoque, se procederá de la siguiente manera. Pero primero comprobar cómo el Alcohol está codificado en R:
class(tab3.7.df$alcohol)
Se trata de un simple desordenada factor ("factor"
), por lo tanto un valor nominal de predictor. Ahora, aquí hay tres modelos fueron consideramos el Alcohol como una nominales, ordinales o continuas predictor.
summary(mod1 <- glm(malform ~ alcohol, data=tab3.7.df,
family=binomial))
summary(mod2 <- glm(malform ~ ordered(alcohol), data=tab3.7.df,
family=binomial))
summary(mod3 <- glm(malform ~ as.numeric(alcohol), data=tab3.7.df,
family=binomial))
El último caso supone implícitamente una igualdad de intervalo de la escala, y el $\hat\beta$ se interpreta como @dmk38 hizo: se refleja el efecto de un incremento unitario de Alcohol en el resultado a través del enlace logit, que es el aumento de la probabilidad de observar una malformación (en comparación con los no malformación, es decir, el odds-ratio) es $\exp(\hat\theta)=\exp(0.228)=1.256$. El Wald test no es significativo al 5% de nivel. En este caso, el diseño de la matriz sólo incluye 2 columnas: la primera es una constante columna de 1 para el intercepto, el segundo es el valor numérico (de 1 a 5) para el predictor, como en una regresión lineal simple. En suma, este modelo de pruebas de un efecto lineal de Alcohol en el resultado (en la escala logit).
Sin embargo, en los otros dos casos (mod1
y mod2
), obtenemos diferentes de salida debido a que el diseño de la matriz utilizada para modelar el predictor es diferente, como se puede comprobar mediante el uso de:
model.matrix(mod1)
model.matrix(mod2)
Podemos ver que el diseño asociado de la matriz de mod1
incluye variables ficticias para el $k-1$ de los niveles de Alcohol (0 es siempre la línea de base) después del término de intersección en la primera columna, mientras que en el caso de mod2
tenemos cuatro columnas de contraste-codificado efectos (después de la columna de 1 para el intercepto). El coeficiente de la categoría "3-5" se estima en 1.03736 bajo mod1
, pero 0.01633 bajo mod2
. Tenga en cuenta que la AIC y otras probabilidad de medidas basadas en criterios de permanecer, sin embargo, idénticos entre estos dos modelos.
Usted puede probar la asignación de nuevas obras para el Alcohol y ver el impacto que tendrá en la predicción de la probabilidad de una malformación.
es perfectamente aceptable utilizar un predictores categóricos en un logit (o OLS) modelo de regresión si los niveles son ordinales. Pero si usted tiene una razón para tratar a cada nivel como discretos (o si, de hecho, su variable categórica nominal es más que ordinales), entonces, como alternativa a la dummy de codificación, también puede utilizar ortogonal codificación de contraste. Muy completa y accesible discusión, ver Judd, C. M., McClelland, G. H. & Ryan, C. S. análisis de Datos : una comparación de los modelos de enfoque, Ed. 2º. (Routledge/Taylor and Francis, Nueva York, NY; 2008), o sólo google "codificación de contraste"