Supongamos que quiero construir un clasificador binario. Tengo varios miles de funciones y solo unas pocas decenas de muestras. Desde el conocimiento del dominio, tengo una buena razón para creer que la etiqueta de clase se puede predecir con precisión utilizando sólo unas pocas características, pero no tengo ni idea de lo que queridos. También quiero que la regla de decisión final sea fácil de interpretar / explicar, lo que requiere una pequeña cantidad de características. Ciertos subconjuntos de mis características están altamente correlacionados, por lo que seleccionar los pocos más predictivos de forma independiente no funcionaría. También quiero poder hacer pruebas de hipótesis de manera significativa en mis características.
¿Es razonable el siguiente procedimiento de regresión gradual en estas condiciones?
Dadas las características que ya están en el modelo (o solo la intersección en la primera iteración), seleccione la característica que produce la mayor relación de probabilidad de registro cuando se agrega al modelo. Utilice la prueba de chi-cuadrado de la razón de probabilidad para calcular un valor P nominal para cada prueba de hipótesis realizada en esta selección. Lo nulo aquí es que agregar la variable adicional al modelo no proporciona capacidad predictiva adicional. La alternativa es que aumenta la capacidad predictiva.
Trate las hipótesis probadas en el Paso 1 de cada iteración como una familia y calcule la tasa de descubrimiento falso para el valor P más pequeño (para la característica seleccionada) usando algo como Benjamini-Hochberg.
Pase a 1 a menos que se cumplan algunos criterios de detención.
Informe las tasas de descubrimiento falso para las características individuales, pero no el valor P para el modelo en su conjunto (ya que esto se inflará enormemente). Cada uno de estos valores P corregidos de pruebas múltiples representa la significación estadística de esa característica dadas todas las características previamente agregadas al modelo.
¿Hacer algo como esto en estas circunstancias evita con éxito todas las críticas típicas de la regresión gradual? ¿Son razonables las tasas de descubrimiento falso calculadas de esta manera?
Respuestas:
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í.
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×1024 1991/9≈221 221×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.
fuente
A los fines de mi respuesta, denotaré la variable binaria de interés como y los predictores X i j ; ( j = 1 , ... , p ) y suponga que Y tiene valores de Y = 0 e Y = 1 . También será conveniente definir γ m para indicar el modelo m ; ( m = 1Yi ;(i=1,…,n) Xij ;(j=1,…,p) Y Y=0 Y=1 γm , de modo que γ T m X i j es igual a X i j si lavariablejthestá en elmodelomth, y 0 en caso contrario.m ;(m=1,..,M) γTmXij Xij 0
Haría una modificación a su método y daría una explicación. Está utilizando un modelo clasificador, lo que significa que desea predecir el valor de una variable categórica en el futuro, por lo que realmente debería definir una regla de predicción (dado un nuevo conjunto de predictores , ¿cómo va a predecir si Y = 1? o Y = 0 ).Xj Y=1 Y=0
Por lo tanto, sugeriría evaluar la predicción directamente, en lugar de la razón de probabilidad. Sin embargo, la observación pronosticada no debe incluirse en la estimación del modelo (porque esta es exactamente la situación a la que se enfrentará cuando realmente use su modelo). Entonces, tenga un nuevo paso 1) (negrita es mi cambio sugerido). 1) Dadas las características que ya están en el modelo (o solo la intercepción en la primera iteración), seleccione la característica que produce las mejores predicciones cuando se agrega al modelo.
Ahora necesitas decidir
Haré una sugerencia para cada uno:
El paso a paso puede ser arriesgado porque puede encontrar "máximos locales" en lugar de "máximos globales", especialmente porque tiene una gran cantidad de predictores (este es un gran "espacio" para optimizar, y probablemente sea multimodal - lo que significa que hay muchos "mejores" modelos)
Creo que le resultará mucho más fácil justificar su elección del modelo final a un no estadístico, en lugar de tratar de explicar por qué el valor p indica que el modelo es bueno.
Dos observaciones finales:
fuente