Valeurs de Shapley pour les modèles prédictifsComprendre la contribution des variables indépendantes individuelles dans un modèle prédictif serait inestimable. À l'heure actuelle, nous pouvons déduire la contribution et/ou l'effet d'une variable sur un modèle via le profileur de prédiction, ce qui est formidable, mais pour pouvoir quantifier la contribution - et pouvoir quantifier la contribution sur une ligne par -base de ligne, serait le niveau suivant. Cette fonctionnalité a été spécifiquement demandée par les clients de l'industrie pétrolière et gazière, mais son application est omniprésente. Ces valeurs sont facilement acquises à l'aide d'outils tels que Python et R. Les rendre disponibles dans l'environnement pointer-cliquer de JMP nous séparerait davantage de nos concurrents. Plusieurs clients m'ont demandé comment obtenir des contributions individuelles de variables indépendantes de manière quantifiable, et plusieurs ont demandé spécifiquement des valeurs de Shapley.
Statistiques et analysesRe : Valeurs de Shapley pour les modèles prédictifs@mia_stephens le compte avec lequel j'ai travaillé le plus récemment est Continental Resources (Kendall Sizemore serait plus que disposé à en discuter) mais j'ai reçu des demandes similaires d'autres clients O&G (Murphy, Oxy) qui sont un peu plus discrets . Ils citent de nombreux travaux de Novi Labs, qui est une société de services ML dans l'industrie pétrolière et gazière. La méthode que nous pouvons actuellement exécuter dans JMP a été développée par @kemal_oflus --où vous utilisez les estimations mises à l'échelle d'un modèle linéaire prédisant la divergence d'un modèle ML (la différence entre la réponse moyenne prévue du modèle ML et les réponses réelles) à l'aide de prédicteurs standardisés. Vous pouvez tracer les estimations mises à l'échelle en Go pour vous donner un « poids » d'un facteur donné sur une réponse. Cela vous indique finalement si un facteur donné affecte positivement ou négativement le modèle (ce qui est formidable), mais il ne peut pas être décomposé en un effet ligne par ligne ni être appliqué directement au modèle ML car les estimations mises à l'échelle ne sont pas disponibles dans NN, B.S., etc...
Un excellent explicateur qui inclut les mathématiques : https://christophm.github.io/interpretable-ml-book/shapley.html
Explicateur de Shapley : https://www.youtube.com/watch?v=-taOhqkiuIo&ab_channel=MicrosoftDeveloper
Quelques captures d'écran de la procédure de Kemal :
estimations mises à l'échelle à partir d'un modèle construit sur des facteurs standardisés prédisant la divergence moyenne du modèle ML
divergence d'un seul facteur (un paramètre Frac Fluid)
Re : Valeurs de Shapley pour les modèles prédictifs@Peter_Polito et @nick_shelton , avons-nous des clients/comptes nommés que nous pouvons répertorier, ou des clients avec qui nous pouvons parler (si nécessaire) ?
Peter, pouvez-vous s'il vous plaît partager la méthode que vous avez développée et votre exemple de sortie ? En outre, les références préférées sur le sujet si vous en avez.
Je vais ajouter cette information au Jira.
Merci!
Mia
Re : Valeurs de Shapley pour les modèles prédictifsLes valeurs de Shapley deviennent rapidement la norme pour interpréter l'importance des caractéristiques et la taille de l'effet dans les modèles d'apprentissage automatique (ML). Une tendance émergente en ML consiste à s'éloigner de leur réputation de boîte noire et à créer des modèles interprétables et fiables. Des outils tels que les valeurs de Shapley offrent la possibilité d'être plus transparents et confiants dans les prédictions du modèle. Cette fonctionnalité doit être disponible pour tous les modèles de machine learning de JMP Pro.
Re : Valeurs de Shapley pour les modèles prédictifsExemple d'utilisation : un client utilise le réseau neuronal boosté de JMP Pro pour construire un modèle ML. Là où ils sont limités, c'est leur capacité à quantifier l'effet d'une variable indépendante donnée sur la réponse. Par exemple, si l'on analyse les valeurs de production de trois puits, on peut en trouver un qui fonctionne bien parce qu'il se trouve dans un emplacement de choix et qu'on a construit un excellent puits, un second qui fonctionne pas mal parce qu'il se trouve dans un emplacement médiocre mais qu'on a conçu le puits de manière très efficace, et un tiers s'en sort mal parce qu'il a choisi un mauvais emplacement et n'a pas conçu le puits de manière efficace. Dans un programme comme Python, on pourrait calculer les valeurs de Shapley, qui fournissent ces informations granulaires, mais JMP n'est pas capable de le faire. Un collègue SE et moi avons développé une méthode pour calculer ce que j'appellerai pseudo-Shapley mais cette procédure - bien que fonctionnant très bien - n'est applicable qu'aux modèles linéaires et n'a pas la capacité de décomposer les résultats sur une base de puits unique (ligne par -ligne). Dans l'industrie pétrolière et gazière, cette capacité serait déployable partout et permettrait à JMP de se développer dans cette industrie.
Objet : Valeurs de Shapley pour les modèles prédictifs - Statut modifié en : En développementActuellement en développement et disponible dans le JMP 17 EA.
Re : Valeurs de Shapley pour les modèles prédictifs – Statut modifié en : Oui, restez à l'écoute !Il y a eu un travail important dans ce domaine pour le JMP 17, qui sera expédié en octobre 2022. Marquer comme "Oui, restez à l'écoute" dans l'espoir que quelqu'un marquera cela comme "Livré" lorsque la date d'expédition arrivera.