Esta es una de esas ideas que empiezan sonando muy bien pero acaban siendo menos útiles de lo que cabría esperar.
Por ejemplo, sólo porque KS (o una prueba similar) diga que la característica tiene una distribución diferente para cada categoría de resultado no significa que a cada modelo le importe. Si las distribuciones sólo difieren en la varianza, por ejemplo, un predictor lineal en una regresión logística no lo detectará. En consecuencia, su característica acabará siendo un fracaso que carece de capacidad predictiva, a pesar de la diferencia de varianza entre sus resultados.
Por consiguiente, las diferencias de distribución no tienen por qué revelar predictores importantes.
Por otra parte, aunque las distribuciones univariantes sean idénticas, las distribuciones multivariantes pueden no serlo. Por ejemplo, imagina un diagrama de dispersión de los puntos que forman una X, donde la parte de la "barra" es un grupo y la "barra" es otro. Esas distribuciones marginales univariantes son las mismas para cada grupo y, sin embargo, esos predictores tienen una capacidad de discriminación considerable. No todos los modelos podrán utilizar la correlación, pero algunos sí.
Por consiguiente, el mero hecho de obtener un resultado que indique que las distribuciones son similares o incluso iguales no significa que una característica sea inútil.
En general, no podemos concluir gran cosa de este tipo de análisis.
EDITAR
Veamos algunas simulaciones.
1)
set.seed(2022)
N <- 1000
x0 <- rnorm(N, 0, 1)
x1 <- rnorm(N, 0, 2)
x <- c(x0, x1)
y <- c(rep(0, N), rep(1, N))
ks.test(x0, x1)
L1 <- glm(y ~ I(x^1), family = binomial)
L2 <- glm(y ~ I(x^2), family = binomial)
summary(L1)
summary(L2)
ks.test(x0, x1)
En esta simulación, $Y=0$ y $Y=1$ tienen diferentes distribuciones en el $x$ característica. Sin embargo, como la diferencia está en la varianza, a una regresión logística que sólo utiliza un predictor lineal no le importa. Tenemos que saber analizar el término cuadrático para obtener un predictor significativo. Esto significa que o bien tenemos que saber qué tipo de diferencia hay entre las distribuciones (que la prueba KS no proporciona) o permitir algún tipo de modelo flexible que lo averigüe, como menciona Frank Harrell en los comentarios.
Por consiguiente, un resultado significativo de la prueba KS no nos ayuda a determinar las características que debemos incluir en el modelo.
2)
library(MASS)
set.seed(2022)
N <- 1000
x0 <- MASS::mvrnorm(N, c(0, 0), matrix(c(1, 0.9, 0.9, 1), 2, 2))
x1 <- MASS::mvrnorm(N, c(0, 0), matrix(c(1, -0.9, -0.9, 1), 2, 2))
x <- rbind(x0, x1)
y <- c(rep(0, N), rep(1, N))
ks.test(x0, x1)
L0 <- glm(y ~ x[, 1] + x[, 2], family = binomial)
L1 <- glm(y ~ x[, 1]*x[, 2], family = binomial)
summary(L0)
summary(L1)
ks.test(x0[, 1], x1[, 1])
ks.test(x0[, 2], x1[, 2])
Aquí, la prueba KS dice que ambas características tienen la misma distribución para ambos niveles de la respuesta. Sin embargo, la distribución conjunta es drásticamente diferente, debido a la diferencia en la correlación (una fuertemente positiva, otra fuertemente negativa). En consecuencia, un modelo que tenga un término de interacción (como L1
) o que descubre tales interacciones (por ejemplo, redes neuronales, SVMs con ciertos kernels) acaba gritando que las características tienen capacidad discriminativa.
Por consiguiente, un resultado insignificante de la prueba KS no nos ayuda a determinar qué características deben excluirse del modelo.
1 votos
Sí, estoy explorando los datos. me gustaría saber cómo es útil saber que estas dos distribuciones son diferentes? he actualizado la pregunta