Vocero
|
Transcripción
|
| miguel crotty |
Hola. gracias por sintonizar |
| |
nuestra charla sobre el complemento de clasificación desequilibrada que le permite comparar técnicas de muestreo y modelos en JMP Pro. |
| |
Soy Michael Crotty. Soy uno de estos redactores estadísticos en el equipo de documentación de JMP y mi copresentadora hoy es Colleen McKendry, también en el equipo de documentación estadística. Y este es un trabajo en el que hemos colaborado con Marie Gaudard. |
| |
Así que aquí hay un resumen rápido de nuestra charla de hoy. Veremos el propósito del complemento que creamos, algunos antecedentes sobre el problema de clasificación desequilibrada y cómo se obtiene un modelo de clasificación en esa situación. |
| |
Veremos algunos métodos de muestreo que hemos incluido en el complemento y que son populares para el problema de clasificación desequilibrada. |
| |
Veremos las opciones que están disponibles en el complemento |
| |
y hablar sobre cómo obtener el complemento, y luego Colleen mostrará un ejemplo y una demostración del complemento. |
| |
En las diapositivas que están disponibles en la Comunidad, también hay referencias y un apéndice que tiene información de fondo adicional. |
| |
Entonces, el propósito de nuestro complemento, el complemento de clasificación desequilibrada, le permite aplicar una variedad de técnicas de muestreo que están diseñadas para datos desequilibrados. |
| |
Puede comparar los resultados de aplicar estas técnicas, junto con varios modelos predictivos que están disponibles en JMP Pro. |
| |
Y puede comparar esos modelos y ajustes de técnicas de muestreo utilizando curvas de recuperación de precisión, curvas ROC y curvas de ganancias, así como otras medidas. |
| |
Esto le permite elegir un umbral para la clasificación utilizando las curvas. |
| |
Y también puede aplicar las técnicas de muestreo de Tomek, SMOTE y SMOTE más Tomek directamente a sus datos, lo que le permite utilizar las plataformas JMP existentes y |
| |
en esos datos recién muestreados y ajuste las opciones de modelado, si no le gustan las opciones de método en su mayoría predeterminadas que hemos elegido. |
| |
Y solo una nota, las técnicas de muestreo Tomek, SMOTE y SMOTE plus Tomek se pueden utilizar con variables predictoras nominales y ordinales, así como continuas. |
| |
Algunos antecedentes sobre el problema de los datos desequilibrados. |
| |
Entonces, en general, podría tener una respuesta multinomial, pero nos centraremos en que la variable de respuesta sea binaria, y el punto clave es que la cantidad de observaciones en un nivel de respuesta es mucho mayor que la cantidad de observaciones en el otro nivel de respuesta. |
| |
Y llamaremos a estos niveles de respuesta niveles de clase mayoritarios y minoritarios, respectivamente. Entonces, el nivel minoritario, la mayoría de las veces, es el nivel de interés que le interesa predecir y detectar. Esto podría ser como detectar un fraude o la presencia de una enfermedad o riesgo crediticio. |
| |
Y queremos predecir la pertenencia a una clase en función de las variables de regresión. |
| |
Entonces, para hacer eso, desarrollamos un modelo predictivo que asigna probabilidades de pertenencia a la clase minoritaria y luego elegimos un valor de umbral que optimiza |
| |
varios criterios. Esto podría ser una tasa de clasificación errónea, una tasa de verdaderos positivos, una tasa de falsos positivos, lo que sea. Y luego clasificamos una observación, quién pertenece a la clase minoritaria, si la probabilidad predicha de pertenecer a la clase minoritaria supera el valor umbral elegido. |
| |
Entonces, ¿cómo obtenemos un modelo de clasificación? |
| |
Tenemos muchas plataformas diferentes en JMP que pueden hacer una predicción para una variable binaria, resultado binario |
| |
cuando en presencia de variables de regresión, y necesitamos una forma de comparar esos modelos. Bueno, hay algunas medidas tradicionales, como la precisión de la clasificación, que no son tan apropiadas para los datos desequilibrados. Y solo como un ejemplo extremo, podría considerar el caso de una clase minoritaria del 2%. |
| |
Podría darle un 98% de precisión, simplemente clasificando todas las observaciones como casos mayoritarios. Ahora bien, este no sería un modelo útil y no querrías usarlo, |
| |
porque no está prediciendo... no está prediciendo correctamente ninguno de sus casos objetivo a casos minoritarios, sino solo una precisión general, estaría en 98%, lo que suena bastante bien. |
| |
Entonces, esto llevó a las personas a explorar otras formas de medir la precisión de la clasificación en un modelo de clasificación desequilibrado. Uno de ellos es la curva de recuperación de precisión. |
| |
A menudo se utilizan con datos desequilibrados y trazan el valor predictivo positivo o la precisión frente a la tasa de recuperación positiva real. |
| |
Y debido a que la precisión tiene en cuenta las instancias mayoritarias, la curva PR es más sensible al desequilibrio de clases que una curva ROC. |
| |
Como tal, una curva PR puede resaltar mejor las diferencias en los modelos para los datos desequilibrados. Entonces, la curva de relaciones públicas es lo que aparece primero en nuestro informe para nuestro complemento. |
| |
Otra forma de manejar los datos de clasificación desequilibrados es usar métodos de muestreo que ayuden a modelar la clase minoritaria. |
| |
Y, en general, estas son solo formas diferentes de imponer un mayor equilibrio en la distribución de la respuesta y, a su vez, eso ayuda a delinear mejor los límites entre las observaciones de la clase mayoritaria y minoritaria. Entonces, en nuestro complemento, tenemos siete técnicas de muestreo diferentes. |
| |
No hablaremos demasiado sobre los primeros cuatro y nos centraremos en los últimos tres, pero muy rápidamente, sin ponderación significa lo que parece. No haremos nada... no haremos ningún cambio y eso es |
| |
esencialmente allí para proporcionar una línea de base de lo que haría si no hiciera ningún tipo de método de muestreo para tener en cuenta el desequilibrio. |
| |
La ponderación sobreponderará los casos minoritarios para que la suma de los pesos de la clase mayoritaria y la clase minoritaria sea la misma. |
| |
El submuestreo aleatorio excluirá aleatoriamente los casos mayoritarios para llegar a un caso equilibrado y el sobremuestreo aleatorio se replicará aleatoriamente |
| |
casos minoritarios de nuevo para llegar a un estado de equilibrio. |
| |
Y luego hablaremos más sobre los próximos tres métodos más avanzados en las siguientes diapositivas. |
| |
Entonces, el primero de los métodos avanzados es SMOTE, que significa técnica de sobremuestreo minoritario sintético. |
| |
Y esta es básicamente una forma más sofisticada de sobremuestreo, porque estamos agregando más casos minoritarios a nuestros datos. |
| |
Lo hacemos generando nuevas observaciones que son similares a las observaciones existentes de la clase minoritaria, pero no las replicamos simplemente como en el sobremuestreo. |
| |
Así que usamos la función de distancia de Gower y realizamos K vecinos más cercanos en cada observación de clase minoritaria y luego se generan observaciones para llenar el espacio definido por esos vecinos. |
| |
Y en este gráfico, pueden ver si tenemos este caso minoritario aquí en rojo. Hemos elegido a los tres vecinos más cercanos. |
| |
Y elegiremos al azar uno de esos. Sucede que es este de aquí abajo, y luego generamos un caso, otro caso minoritario que está en algún lugar de este pequeño cuadro sombreado. Y eso es en dos dimensiones. Si tuvieras |
| |
n dimensiones de sus predictores, entonces esa área sombreada sería un espacio n dimensional. |
| |
Pero una cosa clave a señalar es que puede elegir la cantidad de vecinos más cercanos que desea |
| |
elige aleatoriamente entre, y también puedes elegir cuántas veces realizarás esto |
| |
este algoritmo por caso minoritario. |
| |
El siguiente método de muestreo son los enlaces de Tomek. Y lo que hace este método es tratar de definir mejor el límite entre las clases minoritarias y mayoritarias. Para hacer eso, elimina las observaciones de la clase mayoritaria que están cerca de las observaciones de la clase minoritaria. |
| |
Nuevamente, usamos la distancia de Gower para encontrar enlaces de Tomek y el enlace de Tomek es un par de vecinos más cercanos que pertenecen a diferentes clases. Entonces, una mayoría y una minoría que son los vecinos más cercanos entre sí. |
| |
Y para reducir la superposición de estas instancias, uno o ambos miembros del par pueden eliminarse. En la opción principal de nuestro complemento, la opción de evaluar modelos, eliminamos solo la instancia mayoritaria. Sin embargo, en la opción Tomek, puede usar cualquiera de las dos formas de eliminación. |
| |
Y finalmente, el último método de muestreo es SMOTE más Tomek. Combina los dos métodos de muestreo anteriores. |
| |
Y la forma en que los combina es que aplica este algoritmo de modo para generar nuevas observaciones minoritarias y luego, una vez que tiene sus datos originales, además de un montón de nuevos casos minoritarios generados, |
| |
tt se aplica al algoritmo de Tomek para encontrar pares de vecinos más cercanos que pertenecen a diferentes clases. Y en este método se eliminan ambas observaciones en el par de Tomek. |
| |
Por lo tanto, el complemento de clasificación desequilibrada tiene cuatro opciones cuando lo instala que aparecen como elementos de submenú en el menú de complementos. |
| |
La primera es la opción de evaluación de modelos, que le permite ajustar una variedad de modelos usando una variedad de técnicas de muestreo. Los siguientes tres son solo diálogos independientes para hacer esas tres técnicas de muestreo de las que acabamos de hablar. |
| |
Entonces, en la opción de evaluación de modelos del complemento, proporciona un informe de clasificación desequilibrado que facilita la comparación de las combinaciones de modelo y técnica de muestreo. |
| |
Muestra las curvas PR y ROC, así como las curvas de Ganancias, y para las curvas PR y ROC, muestra el área bajo la curva, que generalmente, cuanto más área debajo de cada una de esas curvas, mejor se ajusta el modelo. . |
| |
Proporciona la gráfica de probabilidades pronosticadas por clase que lo ayuda a obtener una imagen de cómo se ajusta cada modelo. |
| |
Y también proporciona una tabla de datos de técnicas y umbrales, y esa tabla contiene un script que le permite reproducir el informe. |
| |
que se produce la primera vez que ejecuta el complemento. Y queremos enfatizar que si ejecuta esto y desea guardar sus resultados sin volver a escribir todo el |
| |
algoritmo de modelado y métodos de muestreo, puede guardar esta tabla de técnicas y umbrales y eso le permitirá guardar sus resultados y reproducir el informe. |
| |
Así que ahora veremos el diálogo para la opción de evaluación de modelos. Le permite elegir entre una serie de modelos y técnicas de muestreo. |
| |
Puede ingresar cuál es su variable de clase binaria y todos sus predictores X, y luego |
| |
Nosotros, con el fin de adaptarse a todos los modelos y y |
| |
evaluarlos en un conjunto de prueba, dividimos aleatoriamente los datos en validación de entrenamiento y conjuntos de prueba. Puede proporcionar... puede establecer las proporciones que entrarán en cada uno de esos conjuntos. |
| |
Hay una opción de semilla aleatoria si desea reproducir los resultados. Y luego están las opciones SMOTE |
| |
que mencioné antes, donde puede elegir la cantidad de vecinos más cercanos, de los cuales selecciona uno para que sea el vecino más cercano utilizado para generar un nuevo caso, y la replicación de cada caso minoritario es cuántas veces repite el algoritmo para cada minoría observación. |
| |
Una vez más, hay otras tres opciones de muestreo |
| |
opciones en el complemento y corresponden a Tomek, SMOTE y SMOTE más Tomek. En la opción de muestreo de Tomek, agregará dos columnas a su tabla de datos que se pueden usar como pesos para la predicción... para cualquier modelo predictivo que desee hacer. |
| |
La primera columna elimina solo la mayoría del vecino más cercano en el enlace y la otra elimina ambos miembros del enlace de Tomek, por lo que tiene esa opción. |
| |
Las observaciones SMOTE agregarán observaciones sintéticas a su tabla de datos. |
| |
Y también proporcionará una columna de origen para que pueda identificar qué |
| |
Se agregaron observaciones. Y SMOTE más Tomek agregan observaciones sintéticas y la columna de ponderación que elimina ambos miembros del enlace de Tomek. |
| |
Y la columna de ponderación del muestreo de Tomek y SMOTE más Tomek, |
| |
es solo una columna indicadora que puede usar como peso en una plataforma de modelado JMP. Es solo un 1 si está incluido y un 0 si debe excluirse. |
| |
La mayoría de los otros tres diálogos de opciones de muestreo se ven básicamente iguales. |
| |
Una opción que está en ellos y no en el diálogo de opciones de evaluación de modelos es mostrar tablas intermedias. Esta opción aparece para SMOTE y SMOTE más Tomek. |
| |
Y básicamente, te permite ver las tablas de datos que se usaron en la construcción de las observaciones SMOTE. En general, no es necesario que lo veas, pero si quieres comprender mejor cómo se generan esas observaciones, puedes echar un vistazo a esas tablas intermedias. |
| |
Y todos están explicados en la documentación. |
| |
Nuevamente, puede obtener el complemento a través de la Comunidad, |
| |
a través de esta la página para esta charla sobre el Discovery Summit Americas 2020 |
| |
parte de la Comunidad. Y como mencioné hace un segundo, hay documentación disponible dentro del complemento. Simplemente haga clic en el botón Ayuda. |
| |
Y ahora es el momento de que Colleen muestre un ejemplo en una demostración del complemento. |
| colleen mckendry |
gracias miguel Voy a hacer una demostración del complemento ahora, y para hacer la demostración, voy a usar estos datos de demostración de mamografía. |
| |
Y así, el conjunto de datos de mamografía se basa en un conjunto de mamografías de película digitalizadas utilizadas en un estudio de microcalcificaciones en imágenes mamográficas. |
| |
Y en estos datos, cada registro se clasifica como 1 o 0. 1 representa que se ve calcificación en la imagen y 0 representa que no la hay. |
| |
En este conjunto de datos, las imágenes en las que ve calcificación son las que le interesa predecir, por lo que el nivel de clase es el nivel de clase que le interesa. |
| |
En el conjunto completo de datos, hay seis predictores continuos y unas 11 000 observaciones. |
| |
Pero para reducir el tiempo de ejecución en esta demostración, solo usaremos un subconjunto del conjunto de datos completo. Y por lo que va a ser alrededor de la mitad de las observaciones. Así que alrededor de 5500 observaciones. |
| |
Y las observaciones que se clasifican como 1, las cosas que le interesan, representan alrededor del 2,31 % del total de observaciones, tanto en el conjunto de datos completo como en el conjunto de datos de demostración que estamos usando. Y así tenemos una proporción minoritaria de alrededor del 2%. |
| |
Y ahora voy a cambiar a JMP |
| |
a |
| |
Así que tengo los datos de demostración de la mamografía. |
| |
Y vamos a abrir y ya instalé el complemento. Así que tengo la clasificación desequilibrada agregada en mi menú desplegable y voy a usar la opción de evaluación de modelos. |
| |
Y aquí tenemos la ventana de inicio, y vamos a especificar la variable de clase binaria, sus variables predictoras, vamos a seleccionar todos los modelos y todas las técnicas y vamos a especificar |
| |
una semilla al azar. |
| |
Y haga clic en Aceptar. |
| |
Y mientras esto se ejecuta, voy a explicar lo que realmente está sucediendo en segundo plano. Entonces, lo primero que hace el complemento es dividir la tabla de datos en un conjunto de datos de entrenamiento y un conjunto de datos de prueba. |
| |
Entonces, tiene dos tablas de datos separadas y luego, dentro de la tabla de datos de entrenamiento, esas observaciones se dividen aún más en observaciones de entrenamiento y validación, y la validación se usa en el ajuste del modelo. |
| |
Entonces, una vez que tenga esos dos conjuntos de datos, |
| |
hay variables indicadoras... columnas indicadoras que se agregan a la tabla de datos de entrenamiento para cada una de las técnicas de muestreo que especifique, excepto aquellas que involucran SMOTE. |
| |
Entonces, esas columnas se agregan y se usan como columnas de ponderación y solo especifican si la observación se incluirá en el análisis o no. |
| |
Si especifica una técnica de muestreo con SMOTE, hay filas adicionales que se agregan a la tabla de datos. Esas son las observaciones generadas. |
| |
Entonces, una vez que se generan sus columnas y sus filas, para cada modelo, cada modelo se ajusta a cada técnica de muestreo. Y así, si seleccionas todos ellos |
| |
como acabamos de hacer aquí, hay un total de 42 modelos diferentes que se están ajustando. Y así, eso es todo lo que está sucediendo en este momento. En |
| |
la demostración actual, tenemos 42 modelos que se ajustan y una vez que los modelos se ajustan, la información relevante se recopila y se reúne en un informe de resultados. Y ese informe, |
| |
que con suerte aparecerá pronto, aquí está, ese informe se muestra aquí. Y también obtiene una tabla de técnicas y umbrales y una tabla de resumen. |
| |
Así que vamos a echar un vistazo a lo que obtienes cuando ejecutas el complemento. Así que primero tenemos el conjunto de entrenamiento. Y pueden ver que aquí están las columnas de ponderación, las columnas de ponderación que se agregan. Y estas son las columnas que se agregan para las probabilidades previstas para esas observaciones. |
| |
Entonces tenemos el conjunto de prueba. Esto no contiene ninguna de esas columnas de ponderación, pero tiene las probabilidades previstas para las observaciones del conjunto de prueba. |
| |
Tenemos el informe de resultados. |
| |
y la tabla de datos de técnicas y umbrales. Y entonces Michael mencionó esto en |
| |
la charla anterior, pero esto es importante porque esto es lo que le gustaría guardar si desea guardar sus resultados y verlos nuevamente |
| |
sin tener que volver a ejecutar todo el script. Entonces, esta tabla de datos es lo que guardaría y contiene scripts que reproducirán |
| |
el informe de resultados y el cuadro resumen, que es lo último que tengo que mostrar. Y entonces, esto solo contiene resúmenes para cada técnica de muestreo y combinación de modelos y sus valores de AUC. |
| |
Ahora, para ver la ventana de resultados real, en la parte superior tenemos especificaciones de diálogo. Y entonces esto contiene la información que especificó en la ventana de inicio. |
| |
Entonces, si olvida algo que especificó, como su semilla aleatoria o las proporciones que asigna, puede abrirlo y echar un vistazo. |
| |
Y también tenemos la distribución de clases binarias. Entonces, la distribución de la variable de clase a través del conjunto de entrenamiento y prueba. Y esto está diseñado para que la proporción sea la misma, que son en este caso de 2,3. |
| |
Y luego también tenemos umbral faltante. Así que esto no es muy importante, pero solo da |
| |
una indicación de si un valor de la variable de clase tiene un valor de predicción faltante, eso se muestra aquí. |
| |
Para los resultados reales, tenemos estos gráficos con pestañas. Y así tenemos las curvas de recuperación de precisión, las curvas ROC y las curvas de ganancias acumulativas. Y para las curvas PR y ROC, también tenemos los valores AUC correspondientes. |
| |
También tenemos estos gráficos de las probabilidades pronosticadas por clase. Y esos son más útiles cuando solo está viendo algunos de ellos a la vez, lo cual veremos más adelante. |
| |
Y luego tenemos un filtro de datos que conecta todos estos gráficos y resultados. |
| |
Entonces, para nuestros resultados reales para el análisis, podemos echar un vistazo ahora. Así que primero voy a ordenar estos. |
| |
Ya pueden ver que la curva ROC y la curva PR, hay mucha más diferenciación entre las curvas en la curva PR que en la curva ROC. |
| |
Y si seleccionamos la parte superior, digamos, cinco, todos estos en realidad tienen un AUC de .97. |
| |
Y puedes ver que todos están muy cerca uno del otro. Básicamente están uno encima del otro. Sería realmente difícil determinar qué modelo es realmente mejor, cuál debería elegir |
| |
Y ahí es donde, particularmente con datos desequilibrados, las curvas de recuperación de precisión son realmente importantes. Entonces, si volvemos a cambiar, podemos ver que estos modelos que tenían los valores de AUC más altos para las curvas ROC, |
| |
están realmente dispersos en la curva de recuperación de precisión. Y en realidad no lo son... no tienen los valores AUC más altos para la curva PR. |
| |
Así que tal vez... tal vez haya un modelo mejor que podamos elegir. |
| |
Así que ahora voy a mirar y centrarme en los dos primeros, que son el árbol potenciado Tomek y SVM Tomek, y lo haré usando el filtro de datos. |
| |
Y luego solo queremos ver los que se van a mostrar e incluir. |
| |
Así que ahora tenemos las curvas solo para estos dos modelos y la curva azul es el árbol potenciado y la curva roja es SVM. |
| |
Y entonces puedes ver en estas curvas que se superponen entre sí en diferentes valores de la tasa positiva verdadera. Y entonces podrías usar estas curvas |
| |
para elegir qué modelo desea usar en su análisis, en función de lo que sería una tasa positiva verdadera aceptable. Entonces podemos ver esto si agrego algunas líneas de referencia. Disculpen mis manos que verán mientras escribo esto. |
| |
Bien, digamos que estas son algunas tasas positivas verdaderas diferentes que podrían interesarle. Entonces, si, por ejemplo, para cualquier conjunto de datos que tenga, desea una tasa positiva verdadera de .55. |
| |
Puede elegir su umbral para que sea la verdadera tasa positiva. Y entonces en este caso, |
| |
para esa tasa positiva verdadera, el modelo de árbol potenciado de Tomek tiene una mayor precisión. Y así podrías elegir ese modelo. |
| |
Sin embargo, si desea que su tasa de verdaderos positivos sea algo así como .85, entonces el modelo SVM podría ser una mejor elección porque tiene una mayor precisión para esa tasa de verdaderos positivos específica. |
| |
Y luego, si tuviera una tasa positiva verdadera más alta de .95, cambiaría de nuevo y tal vez quisiera elegir el modelo de árbol potenciado. |
| |
Así es como puede usar estas curvas para elegir qué modelo es mejor para sus datos. |
| |
Y ahora vamos a ver estos gráficos nuevamente, ahora que solo hay algunos de ellos. Y esto solo muestra la distribución de probabilidades pronosticadas para cada clase para los modelos que seleccionamos. Entonces, en este caso particular, puede ver que en SVM hay una mayoría |
| |
probabilidades en todo el tipo de toda la gama de probabilidades predichas, donde el árbol impulsado hace un mejor trabajo al mantenerlas en el extremo inferior. |
| |
Y eso es todo para esta demostración en particular, pero antes de que terminemos, solo quería mostrar una cosa más. Y ese fue un ejemplo de cómo usarías la evaluación |
| |
opción de modelos. Pero supongamos que solo desea utilizar una técnica de muestreo en particular. Y puedes hacer eso aquí. Entonces, la ventana de lanzamiento se ve muy parecida. Y puede asignar su clase binaria, sus predictores y hacer clic en Aceptar. |
| |
Y esto genera una nueva tabla de datos y tienes tu |
| |
columna indicadora. |
| |
Su columna indicadora, que solo muestra si la observación debe incluirse en el análisis o no. |
| |
Y luego, debido a que era SMOTE más Tomek, también tiene todas estas observaciones generadas por SMOTE. |
| |
Entonces, ahora tiene esta nueva tabla de datos y puede usar cualquier tipo de modelo con cualquier tipo de opciones que desee y simplemente use esta columna como su columna de peso o frecuencia y continúe desde allí. Y ese es el final de nuestra demostración para el complemento de clasificación desequilibrada. Gracias por ver. |