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.
¿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.
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))
}
Respuestas:
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.
fuente