Valores de Shapley para modelos predictivosComprender la contribución de las variables independientes individuales en un modelo predictivo sería invaluable. En la actualidad, podemos inferir la contribución y/o el efecto de una variable en un modelo a través del generador de perfiles de predicción, lo cual es excelente, pero para poder cuantificar la contribución, y para poder cuantificar la contribución en una fila por -base de fila, sería el siguiente nivel. Esta función ha sido solicitada específicamente por los clientes de la industria de petróleo y gas, pero su aplicación es omnipresente. Estos valores se adquieren fácilmente usando herramientas como Python y R. Ponerlos a disposición en el entorno de apuntar y hacer clic de JMP nos diferenciaría aún más de nuestros competidores. Varios clientes me han preguntado cómo obtener contribuciones individuales de variables independientes de manera cuantificable, y varios preguntan específicamente por los valores de Shapley.
Estadísticas y AnalíticaRe: Valores de Shapley para modelos predictivos@mia_stephens la cuenta con la que he estado trabajando más recientemente es Continental Resources (Kendall Sizemore estaría más que dispuesta a conversar sobre esto), pero he recibido solicitudes similares de otros clientes de O&G (Murphy, Oxy) que son un poco más discretos. . Citan mucho trabajo de Novi Labs, que es una empresa de servicios de ML en la industria de petróleo y gas. El método que podemos ejecutar actualmente en JMP fue desarrollado por @kemal_oflus --donde usa las estimaciones escaladas de un modelo lineal que predice la divergencia de un modelo ML (la diferencia de la respuesta pronosticada promedio del modelo ML de las respuestas reales) usando predictores estandarizados. Puede trazar las estimaciones escaladas en GB para obtener un "peso" de un factor dado en una respuesta. En última instancia, esto le dice si un factor dado afecta positiva o negativamente al modelo (lo cual es excelente), pero no se puede desglosar en un efecto fila por fila ni se puede aplicar directamente al modelo ML porque las estimaciones escaladas no están disponibles en NN, BS, etc
Un gran explicador que incluye las matemáticas: https://christophm.github.io/interpretable-ml-book/shapley.html
Explicación de Shapley: https://www.youtube.com/watch?v=-taOhqkiuIo&ab_channel=MicrosoftDeveloper
Algunas capturas de pantalla del procedimiento de Kemal:
estimaciones escaladas de un modelo basado en factores estandarizados que predicen la divergencia promedio del modelo ML
divergencia de un solo factor (un parámetro de Frac Fluid)
Re: Valores de Shapley para modelos predictivos@Peter_Polito y @nick_shelton , ¿tenemos algún cliente/cuenta con nombre que podamos enumerar o clientes con los que podamos hablar (si es necesario)?
Peter, ¿puedes compartir el método que desarrollaste y el resultado de tu ejemplo? Además, referencias favoritas sobre el tema si tienes alguna.
Agregaré esta información a Jira.
¡Gracias!
Desaparecido en combate
Re: Valores de Shapley para modelos predictivosLos valores de Shapley se están convirtiendo rápidamente en el estándar para interpretar la importancia de las características y el tamaño del efecto en los modelos de aprendizaje automático (ML). Una tendencia emergente en ML es alejarse de su reputación de caja negra y crear modelos que sean interpretables y confiables. Herramientas como los valores de Shapley ofrecen la capacidad de ser más transparentes y seguros en las predicciones del modelo. Esta capacidad debería estar disponible para todos los modelos de aprendizaje automático de JMP Pro.
Re: Valores de Shapley para modelos predictivosUn ejemplo de cómo se usaría esto: un cliente está usando la red neuronal impulsada de JMP Pro para construir un modelo ML. Donde están limitadas es su capacidad para cuantificar el efecto de una variable independiente dada en la respuesta. Por ejemplo, si uno analiza los valores de producción de tres pozos, puede encontrar que uno está funcionando bien porque está en una ubicación privilegiada y construyeron un gran pozo, un segundo tiene un rendimiento regular porque está en una ubicación mediocre pero diseñaron el pozo de manera muy eficiente, y un tercero lo está haciendo mal porque escogieron una mala ubicación y no diseñaron el pozo de manera eficiente. En un programa como Python, uno podría calcular los valores de Shapley, que proporcionan esta información granular, pero JMP no puede hacerlo. Un compañero SE y yo desarrollamos un método para calcular lo que llamaré pseudo-Shapley pero este procedimiento, aunque funciona muy bien, solo es aplicable a modelos lineales y carece de la capacidad de desglosar los resultados en una sola base de pozo (fila por -hilera). En la industria de petróleo y gas, esta capacidad sería de implementación ubicua y abriría JMP para la expansión en esta industria.
Re: Valores de Shapley para modelos predictivos - Estado cambiado a: En desarrolloActualmente en desarrollo y disponible en JMP 17 EA.
Re: Valores de Shapley para modelos predictivos - El estado cambió a: Sí, ¡estén atentos!Hubo un trabajo significativo en esta área para JMP 17, que se enviará en octubre de 2022. Marcar como "Sí, manténgase sintonizado" con la expectativa de que alguien marque esto como "Entregado" cuando llegue la fecha de envío.