Hola comunidad JMP,
Tengo un gran conjunto de datos con aproximadamente 4000 mediciones de biomarcadores al inicio del estudio en pacientes inscritos en un ensayo clínico. Necesito identificar entre estos datos qué combinación de biomarcadores puede predecir el resultado clínico 12 semanas después.
He utilizado un enfoque bastante ingenuo que parece producir resultados extremadamente sobreajustados:
- Ejecute los 4000 biomarcadores a través de la Evaluación > Evaluación de respuesta, donde la Respuesta es el resultado clínico binario en la semana 12.
- Seleccione los 10 a 20 biomarcadores principales (según FDR)
- Utilice los biomarcadores seleccionados (como Efectos del modelo) en la plataforma Ajustar modelo > Paso a paso, donde Y es el resultado clínico binario en la semana 12; criterios = minimizar BIC
- Generar el modelo
Si bien este enfoque produjo excelentes "predictores" de la respuesta clínica en la semana 12 (AUC ROC > 0,940), también produjo un AUC ROC alto cuando se probó con una variable "ficticia" generada aleatoriamente (AUC ROC ~0,870). Esto último me indica que mi método es extremadamente inadecuado debido al sobreajuste.
Exploré la viabilidad de trabajar con subgrupos de pacientes de descubrimiento y validación (50% de la población total), pero no resolvió mi problema de sobreajuste.
Además de utilizar las plataformas de modelado avanzadas proporcionadas por JMP Pro, ¿existen mejores técnicas en JMP para abordar esa cuestión?
Gracias por su ayuda.
Mejor,
TS
Gracias por el ejemplo. Miremos de cerca, desde un par de perspectivas. Y deberían llevar a la misma conclusión: no hay oro en los datos.
Primera perspectiva, divida los datos en entrenamiento y validación, no debe intentar usar el modelo ajustado en función del resultado de su secuencia de comandos.
Segunda perspectiva, solo ajuste la regresión logística buena y antigua sin dividir tren/val, y vea si hay señales de advertencia.
Primera señal de advertencia: prueba de modelo completo, que dice que hay una gran posibilidad de que el modelo no sea mejor que una suposición aleatoria.

Segunda señal de advertencia: Pruebas de efectos y significado de parámetros. Aquí están las pruebas de efectos. Solo dos rojos. Si esos dos son el oro, el resto son escombros. Los escombros nos hacen pensar que son oro. Quitarlos, ¿de acuerdo?

Bien, ahora lo que sale del otro extremo de la compuerta son las siguientes pruebas completas y pruebas de efectos. Y preste atención a estos valores p. Están alrededor de 0.05 y 0.10. En la valla, por los medios habituales. ¿Deberíamos conservarlos? Si los eliminamos, obtenemos conjeturas aleatorias. Finjamos que realmente queremos mantenerlos y veamos cómo va.


¿Qué tal ROC y AUC?

Entonces AUC es 0.59. ¿Oro? Supongo que también está en la cerca por los medios habituales, porque el ajuste del modelo dice que el modelo está en la cerca, por lo que debería ser todo lo que se derive de él. ¿Necesita una prueba? Sí, podemos tener una prueba. Podemos arrancar el valor AUC, si tiene JMP Pro. Haga clic con el botón derecho en el valor AUC y seleccione Bootstrap. Le di 10000 sorteos. Y 0,5 está dentro del rango de las muestras de arranque. Así que realmente se reduce a cuánto uno quiere creer que esos dos factores restantes son oro.

Lo que he hecho es poner un intervalo de confianza de arranque alrededor de AUC. También podemos hacer intervalos de confianza alrededor de la ROC, por lo que podemos ver que la bonita media concha no es tan impresionante en absoluto. Sin embargo, se necesitaría mucho esfuerzo para hacerlo. En su lugar, miremos un punto ROC: el punto correspondiente al umbral de corte de 0,5. Aquí están los pasos.
Primero, encienda Confusion Matrix.

Mire los números resaltados, son Tasa de verdaderos positivos y Tasa de falsos positivos correspondientes al umbral de corte de 0.5.
Y podemos encontrar este punto en ROC como en la siguiente captura de pantalla en la cruz.

Ahora arranque esos números resaltados. Y obtengo esta tabla, en la que la columna "0" es Tasa de falsos positivos arrancados, y la columna "1" es Tasa de verdaderos positivos arrancados.

Trazar la columna "1" frente a la columna "0" y superponerla en la República de China. Y esto es lo que obtengo. También puse una línea diagonal como referencia.

Lo que dice la muestra de arranque es que el punto de umbral de probabilidad 0.5 en ROC tenía una gran posibilidad sobre la línea diagonal, pero hay una posibilidad no despreciable debajo de la diagonal. Está en la cerca, si ya deberíamos haber concluido del modelo.
Entonces, lo que quiero concluir de este ejemplo es que realmente deberíamos clavar el modelo antes de concluir los sobreajustes del modelo. Incluir ruido aleatorio como efectos se sobreajustará en este caso.
Para aumentar el misterio, adjunto la simulación que hice.Esta vez usé una columna de validación.Cosas que vale la pena señalar: la regresión logística (secuencia de comandos guardada en el archivo) muestra un AUC de alrededor de 0,71 para los datos de entrenamiento y mucho más bajo (menos de 0,5) para los datos de validación.Esa es una clara evidencia de sobreajuste.Sin embargo, también ejecuté la selección del modelo: todos los métodos (incluida la regresión logística) muestran un AUC de alrededor de 0,5 para los datos de entrenamiento y más bajo para los datos de validación, lo que me parece razonable.Además, el modelo de regresión logística no es significativo (y solo 1 o 2 factores son significativos, aproximadamente lo que esperaría para 20 factores aleatorios).Entre las cosas que no entiendo es por qué la plataforma de regresión logística y la regresión logística dentro de la plataforma de selección de modelos dan resultados tan diferentes.Sé (o creo) que el cribado de modelos no encuentra hiperparámetros de ajuste tanto como las plataformas de modelado individuales, pero la diferencia entre 0,7 y 0,5 en los datos de entrenamiento me parece demasiado grande.
No sé la respuesta, pero puedo confirmar lo que encontraste.Creé una variable de respuesta binaria (aleatoria) y 20 factores normales aleatorios con 200 observaciones.¡Obtuve AUC=.71!Lo encuentro muy sorprendente la verdad.Sospecho que tiene algo que ver con una limitación del AUC como medida de rendimiento, pero como dije, realmente no entiendo este comportamiento.En mi caso, ciertamente no debería ser overfitting.Estoy ansioso por ver lo que otros pueden decir sobre esto.
Hola Dale,
Gracias por dar seguimiento a esta pregunta relativamente abierta. Creé la variable aleatoria usando la siguiente fórmula:
random uniform (0,1) > 0.5;
Cabe destacar que ejecuté mi "método" descrito anteriormente en ocho versiones diferentes de la variable ficticia (es decir, recalcular la fórmula), lo que arrojó valores ROC AUC que oscilan entre 0,770 y 0,870.
Nunca me encontré con tal comportamiento, pero nunca trabajé con más de 1200 variables de biomarcadores.
Gracias por tu ayuda.
Mejor,
TS
¿Puede proporcionar más detalles sobre su variable de respuesta generada aleatoriamente?¿Cómo lo creaste exactamente?