No recomendaría que use ese procedimiento. Mi recomendación es: abandonar este proyecto. Solo ríndete y vete. No tienes esperanza de que esto funcione.
fuente de imagen
Dejando de lado los problemas estándar con la selección por pasos (cf., aquí ), en su caso es muy probable que tenga predicciones perfectas debido a la separación en un espacio tan dimensional.
No tengo detalles sobre su situación, pero usted declara que tiene "solo unos pocos 10s de muestras". Seamos caritativos y digamos que tienes 90. Además, dices que tienes "varios miles de características". Imaginemos que 'solo' tiene 2,000. En aras de la simplicidad, digamos que todas sus características son binarias. Usted "cree que la etiqueta de clase se puede predecir con precisión utilizando solo unas pocas características", digamos que buscará conjuntos de hasta 9 características como máximo. Por último, imaginemos que la relación es determinista, de modo que la relación verdadera siempre estará perfectamente presente en sus datos. (Podemos cambiar estos números y suposiciones, pero eso solo debería empeorar el problema). Ahora, ¿Qué tan bien sería capaz de recuperar esa relación en estas condiciones (generosas)? Es decir, ¿con qué frecuencia el conjunto correcto sería el único conjunto que produce una precisión perfecta? O, dicho de otra manera, ¿cuántos conjuntos de nueve características también encajarán por casualidad solo?
Algunas matemáticas y simulaciones (excesivamente) simples deberían proporcionar algunas pistas para esta pregunta. Primero, con 9 variables, cada una de las cuales podría ser 0 o 1, el número de patrones que una observación podría mostrar son , pero solo tendrá 90 observaciones. Por lo tanto, es completamente posible que, para un conjunto dado de 9 variables binarias, cada observación tenga un conjunto diferente de valores predictores; no hay réplicas. Sin réplicas con los mismos valores predictores donde algunos tienen y = 0 y algunos y = 1, tendrá una separación completa y será posible la predicción perfecta de cada observación. 29=512
A continuación, tengo una simulación (codificada en R) para ver con qué frecuencia puede no tener patrones de valores de x con 0s y 1s. La forma en que funciona es que obtengo un conjunto de números del 1 al 512, que representan los patrones posibles, y veo si alguno de los patrones en los primeros 45 (que podrían ser los 0) coincide con alguno de los patrones en los segundos 45 (eso podría ser el 1). Esto supone que tiene datos de respuesta perfectamente equilibrados, lo que le brinda la mejor protección posible contra este problema. Tenga en cuenta que tener algunos vectores x replicados con diferentes valores de y realmente no lo saca de apuros, solo significa que no podrá predecir perfectamente cada observación en su conjunto de datos, que es el estándar muy estricto I Estoy usando aquí.
set.seed(7938) # this makes the simulation exactly reproducible
my.fun = function(){
x = sample.int(512, size=90, replace=TRUE)
return(sum(x[1:45]%in%x[46:90])==0)
}
n.unique = replicate(10000, my.fun())
mean(n.unique) # [1] 0.0181
La simulación sugiere que tendría este problema con aproximadamente el 1.8% de los conjuntos de 9 variables x. Ahora, ¿cuántos juegos de 9 hay? Estrictamente, eso sería (ya que hemos estipulado que las 9 variables causales deterministas verdaderas están en su conjunto). Sin embargo, muchos de esos conjuntos se superpondrán; habrá 1.991 / 9 ≈ 221 conjuntos no solapados de 9 dentro de una partición especificada de sus variables (con muchos de tales particiones posibles). Por lo tanto, dentro de una partición dada, podríamos esperar que hubiera 221 × 0.018 ≈ 41991 choose 9=1.3×10241991/9≈221221×0.018≈4 conjuntos de 9 variables x que predecirán perfectamente cada observación en su conjunto de datos.
Tenga en cuenta que estos resultados son solo para casos en los que tiene un conjunto de datos relativamente mayor (dentro de las "decenas"), un número relativamente menor de variables (dentro de los "miles"), solo busca casos en los que cada observación pueda predecirse perfectamente ( habrá muchos más conjuntos que son casi perfectos), etc. Es poco probable que su caso real funcione 'así de bien'. Además, estipulamos que la relación es perfectamente determinista. ¿Qué pasaría si hay algún ruido aleatorio en la relación? En ese caso, todavía tendrá ~ 4 conjuntos (nulos) que predicen perfectamente sus datos, pero el conjunto correcto puede no estar entre ellos .
Tl; dr , el punto básico aquí es que su conjunto de variables es demasiado grande / de alta dimensión, y su cantidad de datos es demasiado pequeña, para que todo sea posible. Si es realmente cierto que tiene "decenas" de muestras, "miles" de variables y absolutamente ninguna idea terrenal de qué variables podrían ser correctas, no tiene ninguna esperanza de llegar a ninguna parte con ningún procedimiento. Ve a hacer otra cosa con tu tiempo.