¿Cómo hacer las correcciones de eventos raros descritos en King y Zeng (2001)?

8

Tengo un conjunto de datos con una variable de respuesta binaria (supervivencia) y 3 variables explicativas ( A= 3 niveles, B= 3 niveles, C= 6 niveles). En este conjunto de datos, los datos están bien equilibrados, con 100 individuos por ABCcategoría. Ya se estudió el efecto de éstos A, By Clas variables con este conjunto de datos; Sus efectos son significativos.

Tengo un subconjunto En cada ABCcategoría, 25 de los 100 individuos, de los cuales aproximadamente la mitad están vivos y la otra mitad muertos (cuando menos de 12 están vivos o muertos, el número se completó con la otra categoría), se investigaron más a fondo para una cuarta variable ( D). Veo tres problemas aquí:

  1. Necesito sopesar los datos de las correcciones de eventos raros descritos en King y Zeng (2001) para tener en cuenta que el 50% aproximado - 50% no es igual a la proporción 0/1 en la muestra más grande.
  2. Este muestreo no aleatorio de 0 y 1 lleva a una probabilidad diferente de que los individuos sean muestreados en cada una de las ABCcategorías, por lo que creo que tengo que usar proporciones verdaderas de cada categoría en lugar de la proporción global de 0/1 en la muestra grande .
  3. Esta cuarta variable tiene 4 niveles, y los datos realmente no están equilibrados en estos 4 niveles (el 90% de los datos está dentro de 1 de estos niveles, digamos nivel D2).

He leído cuidadosamente el artículo de King y Zeng (2001), así como esta pregunta de CV que me llevó al artículo de King y Zeng (2001), y luego este otro que me llevó a probar el logistfpaquete (uso R). Traté de aplicar lo que entendí de King y Zheng (2001), pero no estoy seguro de lo que hice bien. Comprendí que hay dos métodos:

  • Para el método de corrección anterior, entendí que solo corrigieses la intercepción. En mi caso, la intersección es la A1B1C1categoría, y en esta categoría la supervivencia es del 100%, por lo que la supervivencia en el gran conjunto de datos y el subconjunto es la misma y, por lo tanto, la corrección no cambia nada. Sospecho que este método no debería aplicarse a mí de todos modos, porque no tengo una proporción real general, sino una proporción para cada categoría, y este método ignora eso.
  • Para el método de ponderación: calculé w i , y de lo que entendí en el documento: "Todo lo que los investigadores deben hacer es calcular w i en la ecuación (8), elegirlo como el peso en su programa de computadora y luego ejecutar un modelo logit ". Así que primero ejecuté mi glmcomo:

    glm(R~ A+B+C+D, weights=wi, data=subdata, family=binomial)
    

    No estoy seguro de que deba incluir A, By Ccomo variables explicativas, ya que normalmente espero que no tengan ningún efecto sobre la supervivencia en esta submuestra (cada categoría contiene aproximadamente el 50% de muertos y vivos). De todos modos, no debería cambiar mucho la salida si no son significativos. Con esta corrección, obtengo un buen ajuste para el nivel D2(el nivel con la mayoría de las personas), pero no para todos los demás niveles D( D2preponderantes). Vea el gráfico superior derecho:

Encaja Se adapta a un glmmodelo no ponderado y a un glmmodelo ponderado con w i . Cada punto representa una categoría. Proportion in the big datasetes la verdadera proporción de 1 en la ABCcategoría en el gran conjunto de datos, Proportion in the sub datasetes la verdadera proporción de 1 en la ABCcategoría en el subdataset y Model predictionsson las predicciones de los glmmodelos equipados con el subdataset. Cada pchsímbolo representa un nivel dado de D. Los triángulos están nivelados D2.

Solo más tarde cuando logistfveo que hay un , pensé que quizás esto no sea tan simple. No estoy seguro ahora. Al hacerlo logistf(R~ A+B+C+D, weights=wi, data=subdata, family=binomial), obtengo estimaciones, pero la función de predicción no funciona, y la prueba de modelo predeterminada devuelve valores de chi cuadrado infinitos (excepto uno) y todos los valores p = 0 (excepto 1).

Preguntas:

  • ¿Entendí adecuadamente a King y Zeng (2001)? (¿Qué tan lejos estoy de entenderlo?)
  • En mis glmataques, A, B, y Ctener efectos significativos. Todo esto significa que me separo mucho de las proporciones medias / medias de 0 y 1 en mi subconjunto y de manera diferente en las diferentes ABCcategorías, ¿no es así?
  • ¿Puedo aplicar la corrección de ponderación de King y Zeng (2001) a pesar del hecho de que tengo un valor de tau y un valor de para cada categoría en lugar de valores globales?y¯ABC
  • ¿Es un problema que mi Dvariable esté tan desequilibrada y, si es así, cómo puedo manejarla? (Teniendo en cuenta que ya tendré que evaluar la corrección de eventos raros ... ¿Es posible "doble ponderación", es decir, ponderar las pesas?) ¡Gracias!

Editar : vea qué sucede si elimino A, B y C de los modelos. No entiendo por qué hay tales diferencias.

Se adapta a2 Se adapta sin A, B y C como variables explicativas en modelos

Aurelie
fuente

Respuestas:

2

La logistf() función no implementa la regresión logística de eventos raros, que se realiza mediante la relogit() función en el paquete Zelig, en CRAN. ¡Deberías probar eso!

kjetil b halvorsen
fuente
Ok, eché un vistazo, y no puedo usar relogit (), porque como dije, tengo un valor de tau para cada categoría ABC, en lugar de un valor global, y esta función no me permite ingresar un vector de misma longitud que mi conjunto de datos como tau. Por lo que he entendido sobre cómo se escribe la función, creo que lo que se hizo es correcto (excepto que no hice la parte de corrección de sesgo más avanzada ...).
Aurelie
2

Me di cuenta de que mis comparaciones de proporciones ajustadas y reales en el primer gráfico, en la esquina superior derecha, no son la mejor manera de evaluar el ajuste del modelo, ya que en los grandes datos puedo calcular proporciones para las categorías ABC, pero con el ajuste del modelo donde se incluyen las cuatro variables, se predicen proporciones para cada categoría ABCD.

Instalé un nuevo modelo en los subdatos, donde eliminé D:

glm(R~A+B+C, family=binomial, data=subdata)

Para poder comparar las predicciones de este modelo con el subdataset y las proporciones verdaderas en el gran conjunto de datos, y evaluar si mi ponderación hace lo que espero que haga.

El resultado es:

encaja3 Predicciones del nuevo modelo contra las proporciones en el gran conjunto de datos.

Ahora creo que la respuesta es: sí, definitivamente.

Por lo tanto, esto respondió a mis preguntas 1 (entiendo correctamente a King y Zheng (2001), al menos el método de ponderación) y 3 (puedo aplicar la corrección de ponderación de King y Zheng (2001) a pesar de que tengo un valor de τ y un valor de y¯ para cada categoría ABC en lugar de valores globales).

Las otras dos preguntas fueron:

  • ¿Por qué es tan importante incluir A, B y C en el modelo para obtener un buen ajuste y por qué su efecto es significativo? ¿Es debido, como sugerí, al hecho de que me separo mucho de las proporciones medias / medias de 0 y 1 en mi subconjunto y de manera diferente en las diferentes categorías ABC?

    -> Creo que mi expectativa de que incluir A + B + C en el modelo no tenga ningún efecto porque todas las categorías ABC deberían contener aproximadamente la mitad de 0 y 1 observación sería cierta con un modelo lineal no ponderado (en realidad, cuando compara mi dos gráficos de la esquina superior izquierda, no hay mucha diferencia entre ellos ... pero aún así, B y C tienen un efecto significativo en este modelo lineal no ponderado. Consideraré esto porque la desviación de los 50 / 50), pero no necesariamente con un modelo lineal ponderado.

  • ¿Es un problema que mi variable D esté tan desequilibrada y, si es así, cómo puedo manejarla? (¿Es posible "doble ponderación", es decir, ponderar las pesas?).

    -> Pienso en usar la función Anova de la 'car'biblioteca para una regresión logística (especificando 'test.statistic="LR"'). En ese caso, la función pondera las celdas directamente para hacer SS tipo II, por lo que puedo mantener la 'weight'opción para la corrección de eventos raros.

Aurelie
fuente
Acabo de ver esta pregunta de CV que sugiere que el uso de la función Anova de la biblioteca del automóvil con la prueba LR no está adaptado. Leeré atentamente este enlace de CV para encontrar respuestas.
Aurelie
Investigué más a fondo la función 'logistf', porque parece que contiene el método que significan los términos ponderados de los modelos de prueba. Los coeficientes que obtengo con la función 'logistf' están muy cerca de los coeficientes que obtengo con el 'glm' (cuando se transforma de nuevo a proporciones impares y se dibuja, obtengo ax = línea y).
Aurelie
Por lo tanto, aunque no existe un método para obtener las predicciones y los valores ajustados de 'logistf', el gráfico de los valores ajustados de 'logistf' se parecería mucho al último gráfico que proporcioné (el ajuste es bueno).
Aurelie