| Vocero |
Transcripción |
| Mia Stephens |
Probablemente no tardará 45 minutos. |
| |
Muy bien, estamos bien. |
| |
¡Maldita sea! ¿Por qué acaba de aparecer ese mensaje? |
| Jason Wiggins, JMP |
¿Viste? Iba a preguntar que había empezado a grabar, pero que alguien iba a entrar y recortar los comienzos y los finales del mismo. |
| Mia Stephens |
Yo diría que estás grabando. |
| Jason Wiggins, JMP |
sí. |
| |
Puedo parar si quieres. |
| |
uno. |
| Jason Wiggins, JMP |
Bien, la grabación ha comenzado. |
| Mia Stephens |
Hola, mi nombre es MIA Stevens y soy gerente de producto de JMP. |
| |
Y hoy vamos a hablar de una nueva función que apareció por primera vez en la pantalla del modelo JMPed 16 o JMP pro 16. |
| |
En realidad, déjenme empezar de nuevo. |
| Jason Wiggins, JMP |
La grabación se reanudó. |
| Mia Stephens |
Hola, soy Mia Stephens. |
| |
Soy gerente de producto de JMP y hoy hablaremos sobre la selección de modelos. La selección de modelos es una nueva plataforma de JMP Pro 16 que permite ajustar varios modelos simultáneamente, lo que agiliza el flujo de trabajo de modelado predictivo. |
| |
Así que vamos a empezar hablando un poco sobre qué entendemos por modelado predictivo, y esto contrasta con el modelado más clásico o el modelado explicativo. |
| |
Veremos los tipos de modelos que se pueden crear en JMP Pro y hablaremos brevemente sobre el flujo de trabajo del modelado predictivo. Finalmente, veremos cómo usar la selección de modelos para optimizar este flujo de trabajo. |
| |
Veremos varias métricas diferentes para comparar modelos en competencia y utilizaremos dos ejemplos diferentes en JMP Pro; yo usaré JMP Pro 16.1. |
| |
En primer lugar, ¿qué entendemos por modelado predictivo? |
| |
La mayoría de nosotros hemos cursado estadística en la universidad o a través de su empresa, y normalmente, cuando aprendemos modelado estadístico, se trata de modelado explicativo. |
| |
Y lo que queremos decir con esto es que usted está interesado en estudiar alguna variable Y, alguna respuesta de interés, en función de varias X o variables de entrada. |
| |
Así pues, podríamos estar interesados en identificar variables importantes; quizá nos encontremos en una situación de resolución de problemas en la que queramos intentar identificar las X más importantes, las causas potenciales más importantes. |
| |
Así, como resultado del modelado explicativo, podríamos identificar, por ejemplo, que X1, X3 y X6 son causas potenciales de variación en Y, y esto podría llevarle a estudiar estas variables más a fondo utilizando un experimento diseñado. |
| |
También podríamos estar interesados en cuantificar la naturaleza de la relación, por lo que, por ejemplo, podríamos estar interesados en comprender cómo Y, nuestra respuesta, cambia en promedio, en función de las X. |
| |
Un cambio de una unidad en X está asociado con un cambio de cinco unidades en Y. |
| |
Esto es en lo que solemos pensar cuando hablamos de modelado, modelado estadístico o análisis de regresión. |
| |
En cambio, el modelado predictivo se trata de predecir o clasificar con precisión los resultados futuros. |
| |
En el modelado clásico, solemos hacer afirmaciones sobre la media, la media general. En el modelado predictivo, queremos saber qué va a suceder a continuación. Por ejemplo, ¿se dará de baja este cliente? ¿Se dará de baja este otro cliente? |
| |
¿Aceptaré la oferta de la tarjeta de crédito? ¿Se averiará la máquina? Nos interesa predecir qué sucederá a continuación. Nos interesa la exactitud de nuestras predicciones. |
| |
En la modelización predictiva, solemos ajustar y comparar muchos modelos posibles diferentes, lo que implica o puede implicar algunas técnicas muy avanzadas. |
| |
Y algunas de estas técnicas pueden no ser muy fáciles de interpretar. Por eso, si pensamos en redes neuronales, estas suelen considerarse una especie de caja negra. |
| |
Y con estos modelos más complejos, el sobreajuste puede ser un problema, y con sobreajuste me refiero a que tendemos a... podemos ajustar un modelo que es mucho más complejo de lo que necesitamos. |
| |
En el modelado predictivo, solemos usar la validación del modelo. La usamos para protegernos tanto del sobreajuste como del subajuste. La validación del modelo implica dividir nuestros datos, y una forma típica de hacerlo es reservar una parte de ellos... |
| |
Bueno, parte de nuestros datos se utilizan para entrenar nuestro modelo, otra parte se reserva, y podríamos tener un tercer conjunto que también se reserva. La forma en que usamos estos datos es ajustando nuestros modelos con los datos de entrenamiento. |
| |
A continuación, observamos el rendimiento del modelo con los datos de validación. El tercer paso, que suele denominarse conjunto de prueba, también puede utilizarse. |
| |
Porque la validación... los datos de validación en JMP se utilizan a menudo para controlar el tamaño del modelo. Así que veremos esto en acción en unos minutos. |
| |
No entraré en muchos detalles sobre la validación, pero si este es un tema relativamente nuevo para usted, al final de esta presentación hay algunas diapositivas que tomé prestadas de nuestro curso gratuito en línea, STIPS, y que ilustran por qué la validación es importante. |
| |
En JMP Pro existen muchos tipos diferentes de modelos predictivos que puedes ajustar. |
| |
Algunas de estas opciones están disponibles en el modelo de ajuste, por lo que si tiene una respuesta continua, puede ajustar un modelo de regresión lineal. Si tiene una respuesta categórica, puede ajustar |
| |
Un modelo de regresión logística. Este puede ser un modelo de regresión ordinal, multinomial o binomial. Se pueden ajustar modelos lineales generalizados o modelos de regresión penalizados como Elastic Net, Lasso y Ridge. |
| |
Existe un menú de modelado predictivo con muchas opciones, como por ejemplo, redes neuronales. Y puedes ajustar redes neuronales en JMP Pro con |
| |
Dos capas, con múltiples nodos, múltiples funciones de activación, con boosting. Y generalmente en JMP, |
| |
Puedes ajustar modelos para respuestas categóricas o continuas usando la misma plataforma. Puedes ajustar diversos tipos de árboles, incluidos árboles de clasificación si dispones de ellos. |
| |
Para respuestas categóricas, se utilizan árboles de regresión; para respuestas continuas, árboles de regresión. También se pueden ajustar árboles más complejos, como bosques bootstrap y árboles potenciados. Existen otros métodos disponibles. |
| |
Existen varias plataformas de modelado predictivo dentro de los métodos multivariantes, como el análisis discriminante y los mínimos cuadrados parciales. Esta lista no es exhaustiva, y cabe mencionar que los mínimos cuadrados parciales también están disponibles en la aplicación fit-model. |
| |
La pregunta es, ¿por qué necesitamos tantos modelos? En el modelado explicativo clásico, normalmente aprendemos sobre análisis de regresión, pero claramente hay muchos, muchos más tipos de modelos que podemos ajustar. |
| |
Pues bien, la razón es que ningún tipo de modelo es siempre el mejor. El mejor modelo suele depender de la estructura de tus datos. |
| |
¿Cuántas variables tienes? ¿Son X puramente continuas o una mezcla de variables continuas y categóricas? ¿Tienes un comportamiento no lineal? |
| |
Por lo tanto, ningún modelo por sí solo es siempre el mejor para realizar predicciones precisas. Generalmente, probamos varios modelos diferentes y elegimos el modelo o la combinación de modelos que mejor funciona. |
| |
Y pensamos en el modelado predictivo en el contexto del flujo de trabajo analítico más amplio. |
| |
Por supuesto, hay algún tipo de problema que estamos intentando resolver, un problema empresarial o un problema de ingeniería. |
| |
Pero recopilamos datos, que pueden provenir de diversas fuentes, y necesitamos combinarlos, necesitamos seleccionar y organizar los datos. |
| |
Exploramos y visualizamos los datos para comprender mejor los recursos disponibles y las necesidades de datos adicionales. El aspecto de modelado predictivo, que se encuentra en el análisis de datos y la creación de modelos, es donde, en mi opinión, empieza lo realmente interesante. |
| |
Así pues, el flujo de trabajo clásico en JMP consiste en ajustar un modelo con validación. |
| |
Luego guardas la fórmula de predicción en la tabla de datos, o la publicas en el repositorio de fórmulas y lo veremos en unos instantes. |
| |
Luego se ajusta otro modelo. Por ejemplo, se podría empezar con un modelo de regresión y después ajustar un modelo basado en árboles. Este proceso se repite y se ajustan varios tipos de modelos diferentes. |
| |
Luego, utilizamos la comparación de modelos para evaluar el rendimiento de cada uno con los datos de validación. Recuerda que usamos los datos de entrenamiento para ajustar el modelo, pero para comparar modelos y determinar cuál predice con mayor precisión, usamos los datos de validación o de prueba. |
| |
Y elegimos el mejor modelo o la mejor combinación de modelos. |
| |
Y luego implementamos el modelo, así que este es un flujo de trabajo típico. |
| |
Ahora bien, con la selección de modelos, lo que hace es simplificar este proceso. De esta forma, se pueden incluir todos los modelos deseados en la plataforma de selección de modelos. |
| |
Compara esos modelos usando datos de validación y selecciona el mejor. Puedes explorar los modelos, incluso ajustar nuevos modelos a partir de la selección de modelos, y luego implementar fácilmente el mejor modelo. |
| |
Para analizar esto más de cerca, vamos a usar un par de ejemplos, y el primero es uno con el que quizás ya estés familiarizado. |
| |
Los datos sobre diabetes se encuentran en el directorio de datos de muestra. El objetivo es que los investigadores puedan predecir la tasa de progresión de la enfermedad. |
| |
Un año después de tomar las medidas basales, contamos con 10 variables basales y 442 pacientes. Analizaremos dos tipos de respuestas. La respuesta Y es una medida cuantitativa que cuantifica la progresión de la enfermedad en un año. |
| |
También existe una respuesta binaria, alta/baja, por lo que alta significa que hay una alta tasa de progresión de la enfermedad y baja significa que hubo una baja tasa de progresión. |
| |
El objetivo de este modelo es predecir qué pacientes tienen más probabilidades de presentar una alta tasa de progresión de la enfermedad, para así poder tomar medidas correctivas. |
| |
En definitiva, lo que nos gustaría poder hacer es construir un modelo que nos permita clasificar a futuros pacientes, basándonos en sus variables demográficas y la información básica que ya tenemos. Queremos poder |
| |
Predecir con precisión si tendrán una alta tasa de progresión de la enfermedad o no, para así poder tomar medidas. Bien, ese es el escenario. |
| |
Y antes de entrar en JMP, quiero hablar un poco sobre cómo decidimos qué modelo predice mejor. |
| |
Y mencioné que para esto utilizamos el conjunto de validación o de prueba, y que existen varios tipos diferentes de medidas que podemos usar. |
| |
Para respuestas continuas, utilizamos RMSE, que es el error cuadrático medio raíz, o RASE, que es una medida relacionada, el error cuadrático medio raíz, y este es el error de predicción, y aquí cuanto menor sea, mejor. |
| |
También podemos usar el error absoluto promedio (AAE), la desviación absoluta media (MAD) o el error absoluto medio (MAE), y en estos casos, cuanto menor sea el valor, mejor. Estas son... estas son... estas son medidas de error promedio. |
| |
Y luego, el coeficiente de determinación (R²), y para R², que realmente es una medida de bondad de ajuste, cuanto mayor sea el valor, mejor. |
| |
Por eso solemos utilizarlas para respuestas continuas; existen muchos otros tipos de medidas disponibles. |
| |
Para las respuestas categóricas, a menudo nos interesaba la tasa de clasificación errónea o de error o las tasas de exactitud; nosotros podríamos estar interesados en la precisión. |
| |
Existen otras medidas, como el área bajo la curva, que vemos en una curva ROC, la sensibilidad y la especificidad, y estas reciben diferentes nombres. |
| |
Además, hemos añadido otras medidas en la selección de modelos que resultan útiles cuando tenemos datos desequilibrados. Se trata de la puntuación F1 y el coeficiente de correlación de Matthews (MCC), un valor que... |
| |
o una métrica que toma algunos valores entre menos uno y más uno, y es buena para medir, cuando se tienen datos categóricos, qué tan bien se clasifican los datos en las cuatro categorías posibles: verdaderos positivos, verdaderos negativos, falsos positivos y falsos negativos. |
| |
Así que... continuemos con JMP. |
| |
Y simplemente abriré los datos. |
| |
Así que estos son... y los haré un poco más grandes, estos son nuevamente los datos sobre la diabetes. |
| |
Y si quieres experimentar con estos datos, hay un blog que los utiliza, y también puedes encontrarlos en Ayuda y luego en Datos de muestra. |
| |
Y de nuevo, tenemos una variable de respuesta Y, permítanme ampliarla un poco, que es nuestra medida continua de la progresión de la enfermedad. Y luego tenemos una variable binaria Y con resultados bajos o altos, y vamos a... vamos a analizar cada una de ellas. |
| |
Para empezar, veamos qué pasaría si... si tuvieras JMP 15 o si no utilizaras la selección de modelos, ¿cómo ajustarías los modelos predictivos para predecir Y, la respuesta continua, si tuvieras JMP Pro? |
| |
Observe que tenemos varias variables demográficas. |
| |
Así que hay 10 de estos, y hay una columna de validación, y la columna de validación divide nuestros datos en datos de entrenamiento y datos de validación. |
| |
Así que vamos a ajustar nuestro modelo utilizando los datos de entrenamiento, y luego veremos qué tan bien funciona el modelo cuando lo apliquemos a los datos de validación. |
| |
Para crear esta columna, existe una utilidad en el análisis, modelado predictivo, crear columna de validación, y esto nos permite crear una columna de validación. |
| |
Es posible que tenga variables que desee utilizar como columnas de estratificación, por ejemplo, para asegurarse de que los datos estén equilibrados en todo el rango. |
| |
Conjuntos de validación. Voy a hacer clic en Aceptar aquí. |
| |
Y esto nos permite asignar un determinado porcentaje de nuestros datos a los diferentes conjuntos. |
| |
Y aquí abajo hay algunas opciones adicionales que resultan útiles; por ejemplo, la semilla aleatoria es muy práctica si estás dando clases y quieres que todos tus alumnos tengan la misma partición. |
| |
Así que esto se usaba antes de |
| |
Para el análisis, comencemos observando la columna Y, la respuesta continua. Si estuviera ajustando modelos predictivos, un punto de partida lógico sería ajustar un modelo de regresión, que en JMP se encuentra en la sección "Ajustar modelo". |
| |
Mi respuesta es SÍ, y simplemente lo ajustaré... empezaré ajustando un modelo solo con efectos principales. |
| |
Introduciré aquí, en este campo de validación, la validación predeterminada es por mínimos cuadrados estándar. Pero si conoce JMP y JMP Pro, sabrá que existen muchas otras opciones disponibles en la configuración de validación. |
| |
Cuando hago clic en ejecutar, |
| |
Un cambio en JMP 16 es que si observamos el gráfico de valores reales frente a valores predichos o cualquier otro gráfico, notamos que hay puntos... hay algunos puntos aquí con una V, en lugar de un punto. |
| |
Esto indica que estos puntos fueron asignados al conjunto de validación, por lo que básicamente estamos viendo: |
| |
Ya sabes, la precisión con la que el modelo predice en el ruido aleatorio que lo rodea, y puedes ver que hay cierto grado de dispersión. Y |
| |
Recuerda que estamos ajustando nuestro modelo a los datos de entrenamiento y evaluando su rendimiento con los datos de validación. A continuación, encontrarás algunas estadísticas. Cada vez que tengamos datos de validación, verás estadísticas adicionales tanto para el conjunto de entrenamiento como para el de validación. |
| |
Y podemos ver que aquí hay un par de medidas. Está R cuadrado y también RASE. |
| |
En general, cuando se ajusta un modelo a un conjunto de datos y luego se aplica a nuevos datos, su rendimiento no será tan bueno con estos últimos. Por lo tanto, podemos observar que el coeficiente de determinación (R²) es menor para el conjunto de validación y el error absoluto medio (RASE) es ligeramente mayor. |
| |
Una vez...lo único que vemos aquí abajo, debajo del perfilador de predicción. |
| |
¿Es ese el detalle...? Fíjese en que el colesterol total y el LDL realmente se extienden en abanico en los extremos. |
| |
Y mientras arrastro |
| |
El valor del colesterol, observe lo amplio que se vuelve este intervalo de confianza para la media. Así que, al arrastrarlo hacia el extremo inferior, |
| |
Se amplía muchísimo, y ocurre lo mismo al arrastrarlo hacia el extremo superior. De hecho, todos estos intervalos para cada uno de los predictores se amplían muchísimo. |
| |
Esto se sale un poco del tema de esta charla, pero se debe a que no tenemos muchos datos disponibles en esta región. Si... echemos un vistazo y... |
| |
Tome estas dos variables, colesterol total y LDL, como ejemplo... para el colesterol y el LDL. |
| |
Observa que existe una correlación bastante fuerte entre estos. No tengo datos en esta región y tampoco tengo datos en esta otra. |
| |
Así que, si alguna vez ajustas un modelo predictivo o cualquier tipo de modelo donde veas que estas bandas se extienden mucho, |
| |
Esto indica que tus predicciones no serán muy precisas en esa región. Y hay una nueva función en JMP Pro, |
| |
Se llama control de extrapolación y puede avisarte si esto es un problema. Así que, si prolongo esto, |
| |
Fíjate que me avisa de que existe la posibilidad de extrapolación; tus predicciones podrían ser problemáticas en este caso. Y si activo el control de extrapolación, |
| |
Observa que trunca estas bandas, y básicamente está diciendo que no se pueden hacer predicciones más allá de esos límites. Simplemente no es válido. |
| |
Esto se sale un poco del tema, pero si alguna vez ves bandas en tu perfilador de predicciones que se están expandiendo, |
| |
A menudo se debe a que tus predictores están correlacionados entre sí, y... puede que simplemente no tengas suficientes datos para hacer predicciones en esas regiones. Por lo tanto, es bueno tenerlo en cuenta. |
| |
Bien, volviendo a la tarea que nos ocupa, veamos, ajusté este modelo, lo reduje y estoy satisfecho de que este sea mi modelo final. |
| |
Voy a guardar este modelo en mi tabla de datos guardando la fórmula de predicción. Verás que se añade una nueva columna a la tabla. Acabo de crear un modelo lineal, así que se guardó la fórmula en la tabla. |
| |
Y una alternativa es publicarlo, y voy a publicarlo en el repositorio de fórmulas. |
| |
Así que, en definitiva, lo que voy a hacer es probar varios tipos diferentes de modelos (y con esto cierro el tema) y quiero comparar esos modelos para poder usar esa información... |
| |
Puedo hacerlo guardando la fórmula y yendo a Analizar, Modelado predictivo, Comparación de modelos, y lo haré en un momento, o guardándola en el repositorio de fórmulas. |
| |
Y la ventaja de guardarlo en el repositorio de fórmulas es que ahora tengo el código de puntuación. Así, por ejemplo, si este fuera mi modelo final que quisiera aplicar a nuevos datos, |
| |
Podría copiar este script y aplicarlo para puntuar nuevos datos. |
| |
(y no lo haré aquí), o puedo crear código en una variedad de lenguajes diferentes, si quiero poder usar este modelo en un entorno de producción. |
| |
Ese era un modelo lineal simple. ¿Qué ocurre si quiero ajustar un modelo de otro tipo? |
| |
Podría incluir aquí un modelo más complejo en el ajuste del modelo. |
| |
Así que puedo ajustar un modelo de regresión generalizado y tal vez quiera ajustar un modelo Lasso, así que haré clic aquí. |
| |
Y aquí mismo hay una comparación de modelos dentro de la regresión generalizada, pero digamos que quiero guardar este modelo, ¿de acuerdo? |
| |
Y no le estoy prestando mucha atención a los detalles, pero voy a guardar esto. Voy a guardar la fórmula de predicción. Quizás también la publique. |
| |
Ve aquí, publica esto. |
| |
Y podría repetir esto, podría ajustar un modelo que tenga interacciones. Luego podría proceder a ajustar un modelo de red neuronal o un modelo de partición, un modelo basado en árboles y, si tengo una respuesta categórica, esto se ajustará. |
| |
Un árbol de clasificación. Si tengo una respuesta continua, se ajustará a un árbol de regresión. Podría ajustar un bosque bootstrap, que es una colección de árboles más pequeños o un árbol potenciado, por lo que existen varios tipos diferentes de modelos que puedo ajustar. |
| |
Y una vez que tenga mis modelos y guarde las fórmulas o las publique en el repositorio de fórmulas, quiero averiguar qué modelo predice con mayor precisión. |
| |
Así que voy a utilizar la comparación de modelos. |
| |
Y simplemente voy a añadir la validación como mi variable by, |
| |
porque quiero poder ver qué tan bien se comportó el modelo con los datos de validación. Y solo usando estos dos modelos y analizando los datos de validación (dejaré de lado los datos de entrenamiento), |
| |
Puedo observar que tengo un error promedio menor para el modelo de mínimos cuadrados y mi RASE es un poco mayor para el modelo de mínimos cuadrados. |
| |
Y mi coeficiente de determinación (R²) es un poco mejor para el Lasso generalizado. |
| |
Esta es la forma habitual de realizar modelado predictivo si disponemos de JMP 15 Pro o JMP Pro 15, o si no utilizamos la función de selección de modelos. La función de selección de modelos nos permite realizar todo esto en un solo paso. A continuación, voy a explicar el modelado predictivo y a iniciar la función de selección de modelos. |
| |
Y la selección de modelos, si miran aquí abajo, nos permite básicamente lanzar cada una de las plataformas que tenga sentido para el tipo de datos que tenemos. |
| |
y ejecutar automáticamente esos modelos. Así no tenemos que entrar y seleccionar el modelo del menú, podemos ejecutarlo automáticamente desde aquí. Voy a ajustar el mismo tipo de modelo; en este caso, se trata de un modelo solo de efectos principales. |
| |
Estas son mis X. Voy a usar la misma validación. |
| |
Aquí hay varias opciones que veremos en un momento, y voy a hacer clic en Aceptar. Como pueden ver, tengo un árbol de decisión, un bosque bootstrap, un árbol potenciado y el algoritmo de los K vecinos más cercanos. |
| |
Por defecto, Naive Bayes está desactivado, puedo ajustar un modelo neuronal. |
| |
Aquí abajo hay otros. Fíjate que tengo XGBoost, así que está disponible porque he instalado un complemento: el complemento XGBoost. |
| |
Este es un complemento gratuito que accede a bibliotecas de código abierto, y si lo tienes instalado en JMP Pro, puedes ejecutarlo desde la plataforma de selección de modelos. Así que lo voy a omitir y simplemente haré clic en Aceptar. |
| |
Así que está ejecutando los modelos y ahí está. Ha salido y, de hecho, se ha saltado un paso, ¿verdad? Ha ejecutado cada uno de estos modelos automáticamente. |
| |
Además, se utilizan algunas simulaciones para determinar los mejores valores iniciales para los parámetros de ajuste, por lo que ajustamos todos estos modelos. |
| |
Y está generando informes con estadísticas de entrenamiento y validación para cada uno de los modelos. Ahora toca determinar cuál de estos modelos es el mejor. |
| |
Seleccionar dominante. Básicamente, lo que hace seleccionar dominante es crear una frontera entre las métricas disponibles, así que aquí selecciono dominante. |
| |
Y encuentra que para estos datos, el mejor modelo es el modelo de refuerzo neuronal, y luego los detalles de ese modelo están aquí arriba bajo neuronal. |
| |
En resumen, se trata simplemente de lanzar la plataforma y recopilar toda la información, aquí mismo, dentro de esta plataforma. |
| |
Aquí están todos los detalles para la red neuronal; básicamente se ejecuta una función Tanh con tres nodos potenciados. Puedo ver las estadísticas de entrenamiento y las de validación, y si quiero ver el modelo que se ajustó, |
| |
Este es el modelo subyacente. |
| |
Bien, este es... este es mi modelo con mejor rendimiento. Si quiero analizar estos modelos con más detalle, puedo explorarlos desde aquí; aquí hay algunas opciones, como la gráfica de valores reales frente a valores predichos. |
| |
Puedo comparar estos modelos y, como era de esperar, hay menos variación en nuestros datos de entrenamiento que en los datos de validación y en la gráfica de valores reales frente a valores predichos. Puedo desactivar ciertos modelos si quiero explorar esto con más detalle. |
| |
También puedo abrir el generador de perfiles; si tienes la versión 16.1, está disponible. En realidad, es una opción oculta en la versión 16.0, y de nuevo, estoy usando la versión Pro. El generador de perfiles es útil porque nos permite explorar los modelos que ajustamos, así que he seleccionado tres. |
| |
Y permítanme que lo haga un poco más grande. |
| |
Quizás no sea tan grande. |
| |
Así que tengo un bosque bootstrap, que es un modelo basado en árboles, donde básicamente se suman los resultados de un montón de árboles diferentes. |
| |
Tengo un modelo potenciado, y los modelos neuronales están detectando muy bien los comportamientos no lineales. Y tengo el modelo Lasso, que esencialmente es un modelo lineal. |
| |
Y estos modelos se pueden ver con bastante claridad. Fíjense en que con Lasso generalizado, ¿verdad?, tengo esta relación lineal entre el IMC y el IMC. |
| |
y la respuesta. Con Neuro Boosted, puedo ver que hay cierta curvatura. La veo aquí con LTG, y con Bootstrap Forest, veo que tengo esta pequeña función escalonada, ¿verdad?, así que en realidad está aproximando esta relación no lineal que tenemos aquí. |
| |
Entonces, si decidimos que el modelo potenciado neuronalmente es el mejor, |
| |
Entonces, básicamente podemos ejecutar el modelo desde aquí y podemos guardar las fórmulas en la tabla de datos o publicarlas en el repositorio de fórmulas para su implementación. |
| |
Así ahorramos mucho tiempo y aún así nos permite explorar nuestros modelos. |
| |
¿Y si tenemos una respuesta categórica? Recordemos que tenemos Y binaria. Podemos usar Y binaria de la misma manera, así que voy a analizar, luego a seleccionar el modelo, y simplemente pulsaré "Recuperar" y en lugar de Y usaré Y binaria. |
| |
Podemos ejecutar los mismos tipos de modelos. Si un modelo en particular no es adecuado, no se ejecutará. Por ejemplo, la regresión por mínimos cuadrados no es pertinente en este caso, así que no se ejecutará. |
| |
Aquí hay varias opciones. Si selecciono establecer una semilla aleatoria, como 1, 2, 3, 4, 5, esto me dará repetibilidad y si ejecuto un modelo desde los detalles, |
| |
Dará los mismos resultados. Tengo algunas opciones adicionales para la validación. |
| |
Resulta que, en muchos casos, al utilizar la partición clásica de entrenamiento, validación y prueba, se observa que... |
| |
En realidad no es la mejor opción, sobre todo con conjuntos de datos pequeños. Por lo tanto, quizá convenga usar la validación cruzada K-fold; además, también tenemos la validación cruzada anidada. |
| |
Además, se puede realizar una validación cruzada K-fold repetida. Por lo tanto, esta es una buena opción, especialmente si se dispone de un conjunto de datos pequeño. |
| |
Y hay algunas opciones adicionales en la parte inferior. Por ejemplo, podrías agregar interacciones de dos vías o ecuaciones cuadráticas. |
| |
Si sabe que le faltan valores, puede usar el método de datos faltantes informativos. Los métodos adicionales se aplican a métodos de regresión generalizados adicionales. Si participa en el programa de acceso anticipado de JMP 17, verá que esta parte del menú de diálogo |
| |
O bien, el diálogo de inicio del modelo se ha reorganizado ligeramente para que fluya mejor. Bien, entonces voy a usar la configuración predeterminada con una semilla aleatoria y haré clic en Aceptar. |
| |
Así que está ejecutando todos estos modelos. De nuevo, es muy, muy rápido. Bueno, y ahora, como tengo una respuesta binaria, tengo algunas métricas adicionales. Tengo dos. |
| |
Tengo la medida R², la tasa de clasificación errónea, el área bajo la curva, RASE. Recuerda que esto está relacionado con el error cuadrático medio. De nuevo, selecciono "dominante" y nuevamente aparece como potenciado neuronalmente, lo cual no siempre es así. |
| |
Si selecciono los que considero los mejores modelos, las opciones bajo el triángulo rojo, puedo ver las curvas ROC de estos y, de nuevo, hay casillas de verificación que me permiten activar y desactivar modelos. Permítanme |
| |
Seleccione esto. Y una de mis nuevas funciones favoritas, que también está disponible en la plataforma de comparación de modelos y que en JMP 17 se está agregando a cualquier plataforma de modelado que realice modelado de clasificación, es algo llamado umbral de decisión. |
| |
Creo que esta es una de las...una de...una de las cosas más poderosas que agregamos en JMP 16. |
| |
Así pues, con estos tres modelos seleccionados, me ha proporcionado un resumen de las clasificaciones para esos tres modelos. |
| |
Y voy a agrandarlo un poco para que podamos verlo mejor. |
| |
Entonces, lo que interpretamos es que, si nos fijamos en el refuerzo neuronal, nos muestra dos categorías para el refuerzo neuronal y predecimos la probabilidad de un valor alto. Estas son las probabilidades ajustadas para un valor alto. |
| |
Y el límite es 0,5, por lo que cualquier valor inferior a 0,5 se clasifica como bajo; cualquier valor superior a 0,5 se clasifica como alto. |
| |
Si observamos este bloque rojo, vemos que estos son todos los puntos que se clasificaron como bajos, pero que en realidad eran altos, y podemos ver el número aquí. Hubo 29 de ellos, es decir, los falsos negativos. |
| |
El cuadro rojo inferior, estos fueron clasificados como altos, |
| |
Pero en realidad eran valores bajos. Así que estos son los falsos positivos, estos de aquí. |
| |
En la parte inferior se muestran algunas métricas y gráficos que nos ayudan a comprender mejor esta información y a tomar decisiones. También se incluyen otras métricas, como los 29 falsos negativos y los 17 falsos positivos. |
| |
También podemos ver los aspectos realmente positivos y negativos. Y lo que más me gusta de esto es que me permite explorar diferentes umbrales. |
| |
Así pues, dependiendo de sus objetivos de modelado, por ejemplo, podríamos estar interesados en tener una alta tasa de sensibilidad, pero realmente no queremos tener una baja tasa de especificidad. |
| |
La tasa de sensibilidad, y esta clave de aquí es realmente útil, la sensibilidad es la tasa de verdaderos positivos; la especificidad es la tasa de verdaderos negativos. |
| |
¿Sabes?, ¿podemos encontrar un umbral que funcione un poco mejor en ambos aspectos? Y haciendo clic y arrastrando, puedes cambiar el umbral para la clasificación. |
| |
y trata de encontrar un valor de corte que funcione mejor. Por ejemplo, con un valor de corte de 0,25 (un número redondeado), la sensibilidad es mayor, manteniendo una alta especificidad. |
| |
Los gráficos que guardé son muy útiles para interpretar estas cifras, ya que nos dan una visión general de la clasificación errónea. |
| |
Por umbral, por porción y, finalmente, la clasificación real. Así que, si intento encontrar un punto que equilibre la especificidad y la sensibilidad, puedo consultar este gráfico. |
| |
Entonces, estas líneas superiores representan la sensibilidad, las líneas discontinuas la especificidad, ¿y existe algún punto en el que todavía esté por encima de cierto valor de sensibilidad donde...? |
| |
¿Sensibilidad, donde mi especificidad se mantiene alta? Y podemos... podemos equilibrarlas. Si miro aquí, veo que este es el punto donde se cruzan ambas líneas. |
| |
Y esto cobra verdadera importancia si tenemos un caso con datos desequilibrados. Veamos otro ejemplo. Voy a concluir esto y |
| |
No guardes esto. Voy a cerrar el repositorio de fórmulas. Por cierto, el repositorio de fórmulas es independiente, así que no está vinculado al conjunto de datos que estábamos usando. Esto facilita mucho tomar un modelo y aplicarlo a nuevos datos. Voy a cerrar esto. |
| |
El escenario para el siguiente conjunto de datos, denominado marketing de tarjetas de crédito, es el siguiente: |
| |
Estamos realizando un estudio de mercado sobre la aceptación de ofertas de tarjetas de crédito. La respuesta es que la oferta es aceptada. Sin embargo, cabe señalar que solo el 5,5% de las ofertas, |
| |
Se han aceptado datos históricos. En realidad, se trata de un experimento diseñado en el que analizamos diferentes recompensas y diferentes tipos de envíos postales. |
| |
La información financiera es diferente, pero el experimento diseñado se centra en el tipo de recompensa y envío postal. Nos vamos a enfocar en este objetivo de modelado específico. Queremos identificar a los clientes con mayor probabilidad de aceptar la oferta de tarjeta de crédito. |
| |
Y al hacer esto vamos a intentar |
| |
Aplicaremos el modelo a los nuevos clientes y, en función de la clasificación de estos nuevos clientes, decidiremos si les enviamos la oferta o no. |
| |
Por lo tanto, si es poco probable que los clientes acepten la oferta, no se la enviaremos. Si es muy probable que la acepten, entonces sí se la enviaremos. |
| |
Ese es el escenario, y volviendo a JMP, tenemos la oferta aceptada. Voy a ejecutar un script guardado mientras hablo de los datos. |
| |
Tenemos 10.000 observaciones, así que esto va a tardar un poco más, y ahora mismo está ejecutando esos modelos, y estoy usando la configuración predeterminada. Así que tengo la oferta aceptada. |
| |
El tipo de recompensa puede ser millas aéreas, reembolso o puntos. El tipo de envío postal puede ser carta o postal. Y el resto son datos bancarios: información bancaria histórica y algunos datos demográficos. |
| |
Como puede ver, está utilizando máquinas de vectores de soporte. Estas máquinas pueden ser algo lentas, sobre todo con grandes conjuntos de datos, y de hecho, por defecto, no se ejecutan si tenemos más de 10 000 observaciones. |
| |
Podemos ver que tenemos un balance promedio. Los datos se dividen en conjuntos de entrenamiento y validación, y JMP reconocerá automáticamente los ceros como entrenamiento y los unos como validación. Bien, entonces ya se ejecutaron todos los modelos. |
| |
Y si selecciono dominante, podemos ver que se seleccionó el ajuste paso a paso y el árbol de decisión. |
| |
Pero quiero destacar esta tasa de clasificación errónea. |
| |
Esto es algo que vemos muy a menudo cuando intentamos encontrar una aguja en un pajar, ¿verdad? Si analizo estos datos, y voy a realizar una distribución de estos datos... |
| |
Voy a ampliarlo un poco para que se vea mejor, ¿de acuerdo? Estoy viendo los datos de validación, fíjense que |
| |
6,25, 6,2, 6,3% |
| |
En los casos en que los valores fueron afirmativos, respondieron a la oferta, y eso es exactamente lo que estamos obteniendo aquí para la tasa de clasificación errónea. |
| |
Y para entender mejor esto, voy a activar el umbral de decisión. |
| |
Y hazlo un poco más grande. |
| |
Observe que el "sí" previsto es todo cero, y esto se debe a que las probabilidades previstas eran todas relativamente bajas. |
| |
Recuerda que en una matriz de confusión clásica, el umbral es 0,5, y si tienes datos desequilibrados, es muy poco probable que clasifiques muchas de las observaciones como sí, en este caso. |
| |
Mientras hago clic y arrastro, |
| |
Y cuando llego a este primer conjunto de puntos, empiezo a ver algunos "sí" previstos. De hecho, voy a activar las métricas. |
| |
Cuando se tienen datos muy desequilibrados, las probabilidades previstas pueden ser muy bajas. |
| |
Así, este control deslizante te permite explorar los puntos de corte. |
| |
eso puede afectar tanto a la sensibilidad como a la especificidad. Así que, en un caso como este, podríamos decir algo como: bueno, si enviáramos... |
| |
Voy a poner 0,05 aquí... si enviáramos una oferta de tarjeta de crédito al 5% superior de las probabilidades predichas de que sí, ¿verdad?, nuestra sensibilidad |
| |
La diferencia entre los dos modelos es de aproximadamente 0,72 y 0,75, y nuestra especificidad sigue siendo bastante alta. Por lo tanto, este umbral, este control deslizante, permite obtener información más útil del modelo. |
| |
Entonces, si... con un valor de 0.5, veo que obtengo algunos verdaderos positivos. También obtengo muchos falsos positivos, así que hay un equilibrio que hay que equilibrar. |
| |
Ahora bien, en un caso como este, también podría haber repercusiones económicas. Así que conviene tenerlo en cuenta... |
| |
Matriz de beneficios. Y hay un botón. |
| |
Hago clic aquí. |
| |
La matriz de beneficios es una propiedad de columna para una columna en particular, y podemos configurarla. |
| |
Ese valor, ese límite del umbral de probabilidad, como propiedad de columna, o también podemos introducir valores. Por ejemplo, en un escenario clásico, podría costar 5 dólares. |
| |
si decidimos enviar una oferta a alguien. |
| |
Y si responden a la oferta, |
| |
Quizás valga 100 dólares. Entonces, si decidimos enviar una oferta a alguien y no responde, perdemos 5 dólares. |
| |
Si decidimos enviar una oferta a alguien y este responde, quizá ganemos un promedio de 100 dólares. Y quizá perdamos alguna oportunidad; quizá digamos que perdemos 100 dólares. |
| |
Si no responden. Y a menudo el coste de esto es que simplemente se deja en blanco, y nosotros solo introducimos valores para los "sí". Si aplico esto y hago clic en Aceptar, |
| |
Luego se añaden nuevos valores, ¿verdad? Así que ahora tenemos una matriz de beneficios y, si miro nuestras métricas, podemos ver los beneficios previstos. |
| |
En promedio, ¿verdad?, para cada cliente en este conjunto de datos, esto significa que ganará 1,50 dólares si aplicamos el modelo de árbol de decisión y un poco menos si aplicamos el modelo paso a paso. |
| |
Así pues, en una situación como esta, con datos desequilibrados y donde existen costes subyacentes, tiene sentido utilizar la matriz de beneficios. Si no tenemos costes subyacentes, |
| |
Este control deslizante nos ayuda a seleccionar un umbral que nos permita alcanzar nuestro objetivo de modelado. Podría ser maximizar la sensibilidad, la especificidad o algún otro criterio. |
| |
Eso es esencialmente la selección de modelos. |
| |
Permítanme cerrar esto y volver a la presentación de diapositivas. |
| |
Ya hemos hablado un poco sobre el modelado predictivo y qué entendemos por modelado predictivo. |
| |
Y hemos visto que se pueden ajustar y comparar fácilmente muchos modelos utilizando la validación, y la selección de modelos se trata precisamente de agilizar este flujo de trabajo. |
| |
Si lo desea, aún puede salir y probarse los modelos individualmente, pero la selección de modelos le permite probarse todos los modelos al mismo tiempo en una sola plataforma y luego compararlos. |
| |
Para obtener más información, existen muchos tipos diferentes de métricas disponibles y muchísimas métricas para datos de clasificación. Hay una muy buena. |
| |
Encontré una página en Wikipedia sobre sensibilidad, especificidad y todas las demás métricas, y me resultó muy útil mientras intentaba profundizar y comprender cómo interpretar las métricas que se proporcionan. |
| |
Existen muchos recursos sobre modelado predictivo en general, y también sobre selección de modelos en JMP Pro. |
| |
En nuestra comunidad de usuarios. De nuevo, haré referencia a STIPS. STIPS es nuestro curso de pensamiento estadístico para la resolución de problemas industriales. |
| |
El séptimo módulo es una introducción al modelado predictivo, así que si eres nuevo en este campo, te recomiendo que le eches un vistazo. También hay un blog que utiliza los datos sobre diabetes publicados en nuestra comunidad. Y, por último, cualquier novedad. |
| |
Suele ir experimentando mejoras iterativas. La selección de modelos se introdujo en JMP Pro 16. Ya estamos trabajando en JMP Pro 17 y hay muchas mejoras en desarrollo. |
| |
Así que, si estás interesado en ver lo que viene, te brinda la oportunidad de dar tu opinión. |
| |
Si te interesa unirte al programa de acceso anticipado, contáctanos y te ayudaremos a configurarlo. Gracias por tu tiempo y esperamos que disfrutes del resto de la conferencia. |