¿Cómo encontrar y evaluar la discretización óptima para la variable continua con el criterio

9

Tengo un conjunto de datos con variable continua y una variable objetivo binaria (0 y 1).

Necesito discretizar las variables continuas (para la regresión logística) con respecto a la variable objetivo y con la restricción de que la frecuencia de observación en cada intervalo debe estar equilibrada. Intenté algoritmos de aprendizaje automático como Chi Merge, árboles de decisión. La combinación de Chi me dio intervalos con números muy desequilibrados en cada intervalo (un intervalo con 3 observaciones y otro con 1000). Los árboles de decisión fueron difíciles de interpretar.

Llegué a la conclusión de que una discretización óptima debería maximizar el estadístico entre la variable discretizada y la variable objetivo y debería tener intervalos que contengan aproximadamente la misma cantidad de observaciones.χ2

¿Hay algún algoritmo para resolver esto?

Así podría verse en R (def es la variable objetivo yx la variable a discretizar). Calculé la de Tschuprow para evaluar la "correlación" entre la variable transformada y la variable objetivo porque las estadísticas de χ 2 tienden a aumentar con el número de intervalos. No estoy seguro si esta es la forma correcta.Tχ2

T

chitest <- function(x){
  interv <- cut(x, c(0, 1.6,1.9, 2.3, 2.9, max(x)), include.lowest = TRUE)
  X2 <- chisq.test(df.train$def,as.numeric(interv))$statistic
  #Tschuprow
  Tschup <- sqrt((X2)/(nrow(df.train)*sqrt((6-1)*(2-1))))
  print(list(Chi2=X2,freq=table(interv),def=sum.def,Tschuprow=Tschup))
}
Charlotte
fuente
2
Quizás lo sepas; pero, para el registro, (1) no es necesario ni, a menudo, deseable discretizar predictores para la regresión logística, y (2) usar la respuesta para definir los predictores introduce un sesgo optimista en la estimación del rendimiento predictivo de su modelo, y es por lo tanto, es importante validar todo el procedimiento de ajuste (es decir, incluido el método que utiliza para formar los predictores).
Scortchi - Restablece a Monica
Ok, ¿cómo puedo validar la discretización, cómo funciona?
Charlotte
Si está utilizando, por ejemplo, la validación cruzada, en cada pliegue no solo realiza la regresión logística utilizando la discretización "óptima" de los predictores determinados a partir de la muestra completa, sino que también vuelve a calcular la discretización "óptima".
Scortchi - Restablece a Monica

Respuestas:

8

Hay muchas formas posibles de discretizar una variable continua: ver [García 2013]

En la página 739 pude ver al menos 5 métodos basados ​​en chi-cuadrado. La optimización de la discretización depende en realidad de la tarea en la que desea utilizar la variable discretizada. En su caso, la regresión logística. Y como se discutió en Garcia2013, encontrar la discretización óptima dada una tarea es NP-complete.

Sin embargo, hay muchas heurísticas. En este documento analizan al menos 50 de ellos. Dado mi experiencia en el aprendizaje automático (supongo que las personas en estadística prefieren otras cosas), a menudo estoy predispuesto hacia el método de Longitud mínima de descripción (MDL) de Fayyad e Irani. Veo que está disponible en el paquete R discretización

Como dijiste, Chi-cuadrado está sesgado hacia un gran número de intervalos y muchas otras estadísticas (como la ganancia de información utilizada en el método MDL). Sin embargo, MDL intenta encontrar un buen equilibrio entre la ganancia de información de la variable discretizada y la clase y la complejidad (número de intervalos) de la variable discretizada. Darle una oportunidad.

Simone
fuente
Su enlace García 2013 parece estar roto ... ¿le importaría publicar más detalles sobre este artículo o volver a vincular?
Kiran K.
2
@KiranK. Gracias por hacérmelo saber. Arreglé el enlace.
Simone