Soy nuevo en R, ordené la regresión logística y polr
.
La sección "Ejemplos" en la parte inferior de la página de ayuda para polr (que ajusta un modelo de regresión logística o probit a una respuesta de factor ordenado) muestra
options(contrasts = c("contr.treatment", "contr.poly"))
house.plr <- polr(Sat ~ Infl + Type + Cont, weights = Freq, data = housing)
pr <- profile(house.plr)
plot(pr)
pairs(pr)
¿Qué información
pr
contiene? La página de ayuda en el perfil es genérica y no brinda orientación para la encuesta.¿Qué se
plot(pr)
muestra? Veo seis gráficos. Cada uno tiene un eje X que es numérico, aunque la etiqueta es una variable indicadora (parece una variable de entrada que es un indicador de un valor ordinal). Entonces el eje Y es "tau", que es completamente inexplicable.¿Qué se
pairs(pr)
muestra? Parece un gráfico para cada par de variables de entrada, pero de nuevo no veo ninguna explicación de los ejes X o Y.¿Cómo se puede entender si el modelo se ajustaba bien?
summary(house.plr)
muestra la desviación residual 3479.149 y AIC (¿criterio de información de Akaike?) de 3495.149. ¿Es bueno eso? En el caso de que solo sean útiles como medidas relativas (es decir, para comparar con otro ajuste del modelo), ¿cuál es una buena medida absoluta? ¿Se distribuye la desviación residual aproximadamente chi-cuadrado? ¿Se puede usar "% predicho correctamente" en los datos originales o alguna validación cruzada? Cual es la forma mas fácil de hacer eso?¿Cómo se aplica e interpreta
anova
en este modelo? Los documentos dicen "Hay métodos para las funciones estándar de ajuste del modelo, incluyendo predicción, resumen, vcov, anova". Sin embargo, la ejecución deanova(house.plr)
resultados enanova is not implemented for a single "polr" object
¿Cómo se interpretan los valores t para cada coeficiente? A diferencia de algunos ajustes de modelos, no hay valores de P aquí.
Me doy cuenta de que se trata de muchas preguntas, pero tiene sentido para mí formularlas como un paquete ("¿cómo uso esta cosa?") En lugar de 7 preguntas diferentes. Cualquier información apreciada.
methods("profile")
le dará los métodos (S3 en este caso) asociados a unprofile
objeto R , luego verá que hay un método dedicado para lospolr
resultados, que puede examinar en línea escribiendogetAnywhere("profile.polr")
en el indicador R.Respuestas:
Sugeriría que mire libros sobre análisis de datos categóricos (cf. Análisis de datos categóricos de Alan Agresti, 2002) para una mejor explicación y comprensión de la regresión logística ordenada . Todas las preguntas que usted hace son respondidas básicamente por unos pocos capítulos en tales libros. Si solo está interesado en
R
ejemplos relacionados, Extender modelos lineales en R por Julian Faraway (CRC Press, 2008) es una gran referencia.Ahora queremos vincular s a covariables . En su caso, tiene 3 niveles ordenados: , , . Tiene más sentido tratarlos como ordenados en lugar de desordenados. Las variables restantes son sus covariables. El modelo específico que está considerando es el modelo de probabilidades proporcionales y es matemáticamente equivalente a:γij x
Sat
low
medium
high
Se llama así porque las probabilidades relativas de que compare y son:Y≤j x1 x2
Tenga en cuenta que la expresión anterior no depende de . Por supuesto, la suposición de probabilidades proporcionales debe verificarse para un conjunto de datos dado.j
Ahora, responderé algunas (1, 2, 4) preguntas.
Un modelo ajustado
polr
es especialglm
, por lo que todas las suposiciones que se cumplen para unaglm
retención tradicional aquí. Si cuida los parámetros correctamente, puede averiguar la distribución. Específicamente, para probar si el modelo es bueno o no, es posible que desee hacer una prueba de bondad de ajuste , que prueba el siguiente nulo (observe que esto es sutil, principalmente desea rechazar el nulo, pero aquí no desea rechazarlo para obtener un buen ajuste):Usarías la prueba de chi-cuadrado para esto. El valor p se obtiene como:
La mayoría de las veces esperaría obtener un valor p mayor que 0.05 para no rechazar el valor nulo para concluir que el modelo se ajusta bien (aquí se ignora la corrección filosófica).
El AIC debe ser alto para un buen ajuste al mismo tiempo que no desea tener una gran cantidad de parámetros.
stepAIC
Es una buena manera de comprobar esto.Sí, definitivamente puedes usar la validación cruzada para ver si las predicciones se cumplen. Ver
predict
función (opción:)type = "probs"
en?polr
. Todo lo que necesita cuidar son las covariables.Como lo señalaron @chl y otros,
pr
contiene toda la información necesaria para obtener CI y otra información relacionada con la probabilidad delpolr fit
. Todos losglm
s se ajustan utilizando el método de estimación de mínimos cuadrados ponderado iterativamente para la probabilidad de registro. En esta optimización, obtiene una gran cantidad de información (consulte las referencias) que será necesaria para calcular la Matriz de Covarianza de Variancia, CI, valor t, etc. Incluye toda la información.A diferencia del modelo lineal normal (especial
glm
), otrosglm
s no tienen la distribución t agradable para los coeficientes de regresión. Por lo tanto, todo lo que puede obtener es la estimación de parámetros y su matriz de covarianza de varianza asintótica utilizando la teoría de máxima verosimilitud. Por lo tanto:La estimación dividida por su error estándar es lo que BDR y WV llaman valor t (estoy asumiendo la
MASS
convención aquí). Es equivalente al valor t de la regresión lineal normal pero no sigue una distribución t. Usando CLT, se distribuye asintóticamente normalmente. Pero prefieren no usar esto aproximadamente (supongo), por lo tanto, no hay valores p. (Espero no estar equivocado, y si lo estoy, espero que BDR no esté en este foro. Espero que alguien me corrija si estoy equivocado).fuente
Disfruté mucho la conversación aquí, sin embargo, creo que las respuestas no abordaron correctamente todos los componentes (muy buenos) de la pregunta que planteó. La segunda mitad de la página de ejemplo
polr
tiene que ver con el perfil. Una buena referencia técnica aquí es Venerables y Ripley, quienes discuten el perfil y lo que hace. Esta es una técnica crítica cuando se va más allá de la zona de confort al instalar modelos familiares exponenciales con plena probabilidad (GLMs regulares).La desviación clave aquí es el uso de umbrales categóricos. Notará que POLR no estima un término de intercepción habitual. Por el contrario, existen parámetros molestos : umbrales para los cuales el riesgo ajustado tiende a caer en una cierta acumulación de las categorías posibles. Dado que estos umbrales nunca se estiman conjuntamente, se desconoce su covarianza con los parámetros del modelo. A diferencia de los GLM, no podemos "perturbar" un coeficiente por una cantidad y estar seguros de cómo podría afectar otras estimaciones. Usamos perfiles para hacer esta contabilidad de los umbrales molestos. Perfilado es un tema inmenso, pero básicamente el objetivo es la medición de forma robusta la covarianza de los coeficientes de regresión cuando el modelo es maximizar la probabilidad irregular, al igual que con , , , ykk−1 k
lmer
nls
polr
glm.nb
.La página de ayuda
?profile.glm
debería ser útil, ya que lospolr
objetos son esencialmente GLM (más los umbrales categóricos). Por último, puede usar el pico de código fuente, si es de alguna utilidadgetS3method('profile', 'polr')
. Utilizo mucho estagetS3method
función porque, aunque R parece insistir en que muchos métodos deben estar ocultos, uno puede aprender sorprendentemente mucho sobre la implementación y los métodos al revisar el código.pr
es unprofile.polr, profile
objeto (clase heredadaprofile
). Hay una entrada para cada covariable. El generador de perfiles recorre cada covariable, recalcula el ajuste óptimo del modelo con esa covariable fijada en una cantidad ligeramente diferente. La salida muestra el valor fijo de la covariable medido como una diferencia de "puntaje z" escalada de su valor estimado y los efectos fijos resultantes en otras covariables. Por ejemplo, si observapr$InflMedium
, notará que, cuando "z" es 0, los otros efectos fijos son los mismos que se encuentran en el ajuste original.De nuevo,
?plot.profile
da la descripción. El gráfico muestra aproximadamente cómo los coeficientes de regresión covarían. tau es la diferencia escalada, la puntuación z anterior, por lo que su valor 0 proporciona los coeficientes de ajuste óptimos, representados con una marca de verificación. No diría que este ajuste se comporta tan bien, pero esas "líneas" son en realidad splines. Si la probabilidad se comportara de manera muy irregular en el ajuste óptimo, observaría un comportamiento extraño e impredecible en la trama. Esto le corresponde a usted estimar la salida utilizando una estimación de error más robusta (bootstrap / jackknife), calcular los IC utilizandomethod='profile'
, recodificar variables o realizar otros diagnósticos.El archivo de ayuda dice: "El método de pares muestra, para cada par de parámetros x e y, dos curvas que se cruzan en la estimación de máxima verosimilitud, que dan los loci de los puntos en los que las tangentes a los contornos de la probabilidad del perfil bivariado se vuelven verticales y horizontal, respectivamente. En el caso de una probabilidad de perfil normal exactamente bivariada, estas dos curvas serían líneas rectas que darían las medias condicionales de y | x y x | y, y los contornos serían exactamente elípticos ". Básicamente, nuevamente te ayudan a visualizar las elipses de confianza. Los ejes no ortogonales indican medidas altamente covariables, como InfMedium e InfHigh, que están intuitivamente muy relacionadas. Una vez más, las probabilidades irregulares conducirían a imágenes que son bastante desconcertantes aquí.
Una suposición que es buena para evaluar es la suposición de probabilidades proporcionales. Esto se refleja de alguna manera en la prueba global (que evalúa la polr contra un modelo loglineal saturado). Una limitación aquí es que con datos grandes, las pruebas globales siempre fallan. Como resultado, es una buena idea utilizar gráficos e inspeccionar estimaciones (betas) y precisión (SE) para el modelo loglinear y el ajuste de polr. Si están en total desacuerdo, tal vez algo esté mal.
Con resultados ordenados, es difícil definir el porcentaje de acuerdo. ¿Cómo va a elegir un clasificador basado en el modelo, y si lo hace, cómo obtendrá un bajo rendimiento de un clasificador deficiente?
mode
Es una mala elección. Si tengo 10 logits de categoría y mi predicción siempre es una categoría, quizás eso no sea algo malo. Además, mi modelo puede predecir correctamente una probabilidad del 40% de una respuesta 0, pero también una probabilidad del 20% de 8, 9, 10. Entonces, si observo que 9 es bueno o malo? Si debe medir el acuerdo, use un kappa ponderado, o incluso un MSE. El modelo loglineal siempre producirá el mejor acuerdo. Eso no es lo que hace el POLR.Puede probar modelos anidados con
waldtest
ylrtest
en ellmtest
paquete en R. Esto es equivalente a ANOVA. La interpretación es exactamente la misma que con los GLM.Nuevamente, a diferencia de los modelos lineales, el modelo POLR es capaz de tener problemas con probabilidad irregular, por lo que la inferencia basada en el Hessian puede ser muy inestable. Es análogo al ajuste de modelos mixtos; consulte, por ejemplo,
confint.merMod
el archivo de ayuda para el paquete lme4. Aquí, las evaluaciones realizadas con perfiles muestran que la covarianza se comporta bien. Los programadores habrían hecho esto de forma predeterminada, excepto que la creación de perfiles puede ser computacionalmente muy intensiva y, por lo tanto, la dejan en sus manos. Si debe ver la inferencia basada en Wald, úselacoeftest(house.plr)
dellrtest
paquete.fuente
Para 'probar' (es decir, evaluar) el supuesto de probabilidad proporcional en R, puede usar residuals.lrm () en el paquete de diseño de Frank Harrell Jr. Si escribe? Residuals.lrm, hay un ejemplo rápido de replicar de cómo Frank Harrell recomienda evaluar la suposición de probabilidades proporcionales (es decir, visualmente, en lugar de mediante una prueba de botón). Las estimaciones de diseño ordenaron regresiones logísticas usando lrm (), que puede sustituir por polr () de MASS.
Para un ejemplo más formal de cómo evaluar visualmente el supuesto de probabilidades proporcionales en R, ver: Documento: Modelos de regresión de respuesta ordinaria en ecología Autor (es): Antoine Guisan y Frank E. Harrell Fuente: Journal of Vegetation Science, vol. 11, N ° 5 (octubre de 2000), págs. 617-626
fuente