Prediction Profiler y funciones de deseabilidadHola a todos,
JMP Pro 16.1.0.
Estoy usando Prediction Profiler para trabajar en algunas verificaciones del ajuste del modelo y me preguntaba si hay una manera de "engañar" a las funciones de deseabilidad para que hagan algo para lo que realmente no están diseñadas. Con la configuración estándar de deseabilidad, tiene la opción de Maximizar, Igualar objetivo, Minimizar o Ninguno.
Durante el proceso de ajuste del modelo, registro los valores de R^2 para el entrenamiento y la validación, así como la diferencia entre los dos. Una de las cosas que trato de buscar cuando ajuste el modelo es la configuración de parámetros que no solo maximiza R ^ 2 para AMBOS entrenamiento y validación, sino que minimiza la diferencia entre los dos. Por ejemplo, es mejor para mí si tengo un modelo que tiene un entrenamiento R^2 de 0,4 y una validación R^2 de 0,35 que tener un entrenamiento R^2 de 0,7 y una validación R^2 de 0,25. Es decir, cuanto más cerca estén los conjuntos de entrenamiento y validación, incluso si son más pequeños, tienden a funcionar mejor en mis situaciones.

El problema es que con Prediction Profiler, si configura tanto el entrenamiento como la validación R^2 para maximizar y minimizar la diferencia, el generador de perfiles sugiere configuraciones que dan como resultado un entrenamiento R^2 de 0.6 y una validación R^2 de 0.2 más o menos. No es lo que busco.
Lo que realmente me gustaría que hiciera el generador de perfiles es tratar de converger en el entrenamiento y la validación de R^2 que estén lo más cerca posible entre sí, y al mismo tiempo sean lo más grandes posible, para minimizar la diferencia y mantener un R grande. ^2 valores. Desafortunadamente, cambiar cosas como la importancia (0 a 1) o la meta realmente no logra lo que busco.
Si alguien sabe un truco sobre cómo hacer que Profiler haga algo como esto, sería genial saberlo. O, si no es posible, podría ser una característica nueva realmente agradable poder dirigir el generador de perfiles para intentar converger dos de las respuestas mientras las maximiza (o minimiza).
¡Gracias!,
SD
Acceso a los datosExploración y visualización de datosLa personalización en masaRe: Prediction Profiler y funciones de deseabilidadHola @ih ,
Ambos tienen ciertamente razón en que no puedo eludir mis pensamientos e influencia subjetiva en el proceso y las decisiones, lo que por lo tanto hace que todo sea algo subjetivo y propenso al sesgo de alguien. Sería bueno eliminar la mayor cantidad posible de eso para limitar el sesgo de cualquier persona en el asunto en cuestión. Después de todo, buscamos el modelo con mejor desempeño, no lo que alguien quiere/desea que sea el modelo con mejor desempeño.
También es cierto que no uso únicamente el R2 como métrica para los modelos que genero. Sin embargo, es uno de los métodos más confiables para ayudar a impulsar el proceso de ajuste de algunos de los ajustes del modelo, por ejemplo, con árboles potenciados y bosques de arranque. Ambos métodos tienen algo de aleatoriedad involucrada en el proceso, lo cual es bueno, pero ajustar los parámetros del modelo puede volverse bastante incómodo: es muy fácil generar grandes tablas de ajuste ya que hay varios parámetros, lo que hace que el espacio de hiperparámetros sea muy grande. . Para ayudar un poco a ese proceso, la plataforma Gaussian Fit puede reducir el espacio de parámetros en los ajustes de ajuste iterativos. R2 funciona como una métrica sustituta muy efectiva con esa plataforma.
La opción de arranque para el diagnóstico de informes es una herramienta muy útil que uso habitualmente. También me parece muy útil con el factor nulo del complemento de validación automática para probar qué factores (de un conjunto grande) realmente deben mantenerse en el modelo, una especie de técnica de reducción de factor de modelado previo.
Como se mencionó anteriormente, los modelos tienden a funcionar mejor cuando el entrenamiento y la validación R2 se acercan a valores similares. El otro extremo, alto entrenamiento y baja validación rutinariamente funcionan mucho peor en general. Al establecer las funciones y niveles de deseabilidad (o puntos de corte), esa puede ser una parte muy subjetiva y puede influir en gran medida en el resultado. Lo que sería mejor es un algoritmo que optimizaría ese proceso para usted. Por supuesto, la decisión final aún requiere que el usuario haga la llamada, para evaluar si el resultado tiene un significado físico, no solo un significado matemático. Una analogía serían los datos espectrales, digamos Raman o espectros de fotoelectrones, que a menudo tienen formas de línea que son lorentzianas o gaussianas (o una combinación). Matemáticamente, es posible tener una sigma negativa (desviación estándar) ya que en la función, sigma está al cuadrado. Pero físicamente, esto tiene un significado cero, por lo que cualquier resultado de ajuste de un algoritmo que sugirió una sigma negativa para la curva puede descartarse porque no existe una base física para que una medición tenga una desviación estándar negativa. De manera similar, uno puede obtener valores de R2 que son negativos, o tener valores de validación de R2 mayores que para el conjunto de entrenamiento, pero esos casos deben ser señales de alerta importantes y no deben considerarse en un análisis posterior.
Al final, este método se usa para ayudar a reducir el espacio de hiperparámetros, de modo que encontrar un mínimo global más estable sea más rápido y más fácil que generar una tabla de ajuste masiva con cientos de miles de filas para probar todas las combinaciones posibles. Esto todavía solo proporciona recomendaciones para los parámetros de ajuste, y aún se debe evaluar si esos hallazgos tienen sentido. El modelo todavía se genera de forma iterativa en condiciones de inicio aleatorias, pero cada vez se reduce a un conjunto de parámetros más estable. Este enfoque es útil con otras plataformas de modelado que tienen muchos parámetros de entrada para ajustarlas.
¡Gracias!,
SD
Re: Prediction Profiler y funciones de deseabilidadestoy de acuerdo con @Mark_Bailey , no puede evitar que sus pensamientos y puntos de vista sean parte de cualquier solución que proporcione aquí.
Te animo a que no te obsesiones con RSquared.Tener un R2 alto no significa que tenga un modelo útil, y tener uno bajo no significa que su modelo no cumplirá su propósito.Sería justo que alguien dijera que el RMSE de su modelo debe estar por debajo de un umbral, pero no tiene sentido que digan que R2 debe estar por encima de un valor arbitrario.De hecho, si está prediciendo algo con mucho error de medición o variación debido a algo que no está en su conjunto de datos y tiene un R2 muy alto, entonces es probable que tenga un problema.
El uso de R2 para comparar la prueba y la validación es ciertamente válido y puede ayudar a detectar un modelo sobreajustado. Solo por tener diferentes filas en su conjunto de datos, aunque debería esperar el R2 sea diferente.Como ejemplo, intente tomar el conjunto de datos de clase grande y prediga la altura usando un modelo de mínimos cuadrados lineales a partir de la edad y el peso.Ahora, si tiene JMP Pro, haga clic con el botón derecho en el valor de RSquare que se muestra y seleccione bootstrap.Use los valores predeterminados y luego haga una distribución en la tabla resultante y debería obtener una distribución similar a la siguiente.Si no tiene JMP Pro, puede obtener algo similar al tomar un subconjunto de la tabla con 30 filas aleatorias y hacer el ajuste de mínimos cuadrados, registrar el R2 y luego repetir el proceso varias veces.

El modelo no cambió, solo las filas que se usaron para construirlo y, sin embargo, ¡observa esa variación en R2!Por lo tanto, esperar que su entrenamiento y validación R2 siempre estén dentro del 10 % uno del otro podría estar poniendo una restricción artificial innecesaria en su solución.
Si desea probar el sobreajuste utilizando una solución con guión, además de algún límite de 'mantenerlo en el camino' en la diferencia en R2, puede intentar usar la fórmula Col Shuffle y ajustar su modelo con las Y aleatorias, debería ver el R2 cae a casi cero.Si no es así, su modelo es capaz de modelar el ruido aleatorio en sus datos.
Re: Prediction Profiler y funciones de deseabilidadEl proceso es objetivo. Las decisiones no lo son.
Re: Prediction Profiler y funciones de deseabilidadHola @Mark_Bailey y @ih ,
@Mark_Bailey , su primera respuesta fue una que "hará que funcione". Desafortunadamente, no es un proceso de optimización automatizado, por lo que no encuentra iterativamente las condiciones óptimas. No obstante, ciertamente es bastante fácil cambiar manualmente la importancia relativa de cada respuesta.
Utilizando una mezcla de su sugerencia y @ih La sugerencia de está demostrando estar más en la línea de lo que creo que en última instancia me gustaría que hiciera. Solo hay muchos ajustes manuales de las funciones de deseabilidad, ya sea cambiando los números a mano o moviendo los pequeños cuadros en el gráfico. Sería bueno tener un método más automatizado y un poco menos subjetivo para obtener mi objetivo final.
@ih tiene razón en parte en que no me importa si el R2 Diff es 0.01 o 0.1, sin embargo, si tengo un R2 Diff de 0.1 y mi entrenamiento R2 es 0.8 y mi validación R2 es 0.7, prefiero eso a un R2 Diff de 0.01 si mi entrenamiento está en 0.31 y mi validación está en 0.3. En la práctica, mis conjuntos de datos tienden a comportarse más como lo último que como lo primero. ¡Ojalá pudiera hacer que mis dos R2 fueran tan altos como 0.8 y 0.7!
Mezclar las dos sugerencias me da mucho con lo que jugar, solo desearía que fuera un poco menos subjetivo.
¡Gracias por la respuesta!,
SD
Re: Prediction Profiler y funciones de deseabilidadTambién puede cambiar la forma del gráfico de deseabilidad para indicar que una mayor diferencia es una mayor penalización. No tiene que ser lineal con un valor medio en el centro.
Nota: puede controlar el clic (Windows) o hacer clic en el comando (macOS) en la trama del gráfico de función y cambiar los valores rápidamente mientras prueba diferentes esquemas. Recomiendo NO cambiar la deseabilidad, sino solo cambiar los niveles de respuesta Mueva el valor central hacia un extremo para que no sea lineal.
Re: Prediction Profiler y funciones de deseabilidadSupongo que no le importa si la diferencia de R2 es 0.01 o 0.1, pero gradualmente se preocupa más a medida que aumenta por encima de cierto umbral. Podría intentar hacer que la diferencia R2 sea una fórmula que sea plana cuando esté por debajo de cierto valor y luego disminuya gradualmente a medida que supere ese límite, o podría configurar la función de deseabilidad para describir esto.A menudo hago esto último con la métrica T2 en modelos multivariantes.Puede ver un ejemplo de esto saltando aproximadamente a las 16:30 en el video vinculado a continuación.
Optimización de modelos multivariados: desde la recopilación de datos hasta las condiciones óptimas y los modelos de puntuación (2021-US-45MP-927)
Re: Prediction Profiler y funciones de deseabilidadEstá utilizando las funciones Profiler y Deseabilidad correctamente. No está mal usar deseabilidad = (0,1), pero puede intentar usar valores como 1 para maximizar y 2 para diferencia y ver si eso lo acerca a lo que desea. La definición de las funciones (límites, importancia) es clave para decirle al generador de perfiles lo que está buscando.
Dicho esto, ¡no se garantiza que obtendrás lo que quieres!