Valores de Shapley: explicación de las probabilidades predichas individuales¿Alguna vez le han encomendado la tarea de predecir quién cancelará sus servicios con su empresa? ¿O qué pacientes suspenderán su medicación? ¿O quizás qué personas serán las primeras en adoptar su nuevo producto? Puede responder estas preguntas comerciales con el mismo método, preparando datos cuidadosamente y creando diferentes modelos para comparar y elegir el mejor según criterios estadísticos específicos. Pedazo de pastel, ¿verdad? Tal vez.
Pero, ¿qué sucede si necesita identificar el principal factor que contribuye a una predicción de un soltero ¿persona? Algunos algoritmos de modelado no responden fácilmente a esta pregunta. Los modelos de regresión tradicionales son excelentes para responder este tipo de preguntas porque existe una ecuación con coeficientes para la estimación de cada parámetro. ¿Qué pasa con los algoritmos basados en árboles o incluso con modelos más complicados como las redes neuronales? Explicar una predicción individual es más complejo y, a menudo, difícil de explicar. Y aunque uno de estos algoritmos más complejos es más confiable para predecir un resultado en muchos casos, a menudo las partes interesadas desechan su arduo trabajo.
¿Qué pasaría si pudieras obtener lo mejor de ambos mundos? El modelo de mejor rendimiento Y una forma de explicar fácilmente las probabilidades individuales previstas a las partes interesadas para que su trabajo tenga más posibilidades de utilizarse como herramienta empresarial. Conozca los valores de Shapley, una nueva característica de JMP 17.
Shapley Values proporciona la solución que todos hemos estado buscando para resolver este tipo de situación. Estos valores cuantifican la contribución de cada factor en su modelo hasta el nivel de fila. Utilizando la predicción promedio como base, cada fila de datos se puede dividir en una suma de probabilidades por factor. Esto significa que se puede decir que Sean tiene un 79% de posibilidades de suspender su medicación y, en comparación con el paciente promedio, la razón principal de su probable interrupción es su edad.
¿Por qué es esto tan importante? Sin los valores de Shapley, podríamos hablar de manera más general sobre los factores que impulsan un resultado en la población de interés, pero comparar entre individuos con características similares y comprender por qué la predicción difiere entre ellos no es tan sencillo. En los algoritmos basados en árboles, la fórmula de predicción se crea en función de hojas o árboles individuales. Y seamos honestos, pueden resultar bastante complicados. Shapley Values resuelve este problema dividiendo la predicción en contribuciones individuales para cada factor, que analiza todo el modelo en lugar de hoja por hoja, árbol por árbol o nodo por nodo.

¿Cómo puedes empezar a explorar esta nueva función? Es sencillo. Agregue Profiler a los resultados de su modelo y seleccione la opción Guardar valores de Shapley. Esto guardará columnas individuales en su tabla de datos para cada combinación de factor/nivel de respuesta.

Entonces, la próxima vez que las partes interesadas le pregunten si puede identificar qué pacientes tienen más probabilidades de suspender un medicamento basándose en un factor que puede verse influenciado por las acciones de un farmacéutico o una táctica de marketing, puede estar seguro de que puede decir que sí, sin importar lo que pase. tipo de modelo que estás creando.

¿Qué sucede si necesita identificar el principal factor que contribuye a una predicción de un soltero ¿persona? Algunos algoritmos de modelado no responden fácilmente a esta pregunta. Algunos métodos pueden hacerlo. Introduzca los valores de Shapley.
Modelado predictivo y aprendizaje automáticoRe: Valores de Shapley: explicación de las probabilidades individuales previstasEsta es una gran opción y me encanta que esté disponible para muchos modelos (en versiones anteriores, solo el complemento XGBoost tenía la capacidad de crear valores SHAP).
Sin embargo, la opción ahora mismo va muy lenta. Lo he probado incluso en conjuntos de datos más pequeños y muchas veces JMP no responde. Sugiero centrarse en la paralelización optimizando el código que se ejecuta detrás de escena para hacerlo más rápido; ahora mismo, con velocidades tan lentas, es más probable que el software simplemente falle.
Re: Valores de Shapley: explicación de las probabilidades individuales previstas@KristenBradford ¡Maravillosamente hecho, gracias por compartir este ejemplo práctico!
Re: Valores de Shapley: explicación de las probabilidades individuales previstasGracias Kristen por compartir.
BR.
Felipe
Re: Valores de Shapley: explicación de las probabilidades individuales previstas@jpol ¡Ciertamente! Este ejemplo se realizó con datos simulados/de muestra para ilustrar la característica de una manera clara y concisa. La fila 734 en la tabla de datos adjunta corresponde a Sean en mis capturas de pantalla. Avíseme si tiene más preguntas sobre esta función. Es realmente una de las incorporaciones recientes más interesantes al software (¡en mi opinión!).
Atentamente,
kristen
Re: Valores de Shapley: explicación de las probabilidades individuales previstasGracias Kristen por este artículo sobre los valores de Shapley.
¿Podría publicar la tabla de datos utilizada aquí para ejecutar el mismo ejemplo en mi propia computadora portátil?
Gracias,
Felipe
Re: Valores de Shapley: explicación de las probabilidades individuales previstas@dmmdiego Gracias por tus comentarios sobre la actuación. ¿Le importaría compartir esto con el soporte técnico de JMP (envíe un correo electrónico a support@jmp.com ) y proporcionar un ejemplo en el que el rendimiento es lento o no responde? Esto nos impulsará a involucrarnos en el desarrollo para que podamos mejorarlo tangiblemente en futuras versiones. En su correo electrónico, copie esta publicación y mencione que tuvimos algún diálogo al respecto aquí.
Salud,
@PatrickGiuliano (Soporte técnico de JMP)
Título: Valores de Shapley: explicación de las probabilidades individuales previstas¿Puede este ejemplo dar directamente el resultado del análisis final utilizando el modelo de árbol de decisión?
¡Gracias!
Título: Valores de Shapley: explicación de las probabilidades individuales predichasEncontré los pasos de acción resultantes en la imagen.
¿Pero qué pasaría si pudieras hacer esto directamente con JSL?
¡Gracias expertos! 