Mon cours préféré au lycée était Sciences de la Terre. Je me souviens avoir pris des relevés météorologiques quotidiens pendant notre section de météorologie. Chaque matin, nous sortions pour mesurer la température des bulbes humides et secs, la vitesse et la direction du vent et estimer la couverture nuageuse. Une ou deux fois, nous sommes retournés en classe pour nous rendre compte qu'une lecture était erronée ou n'avait pas de sens. Pas de problème, nous sommes retournés dehors et avons refait la mesure – ce n'était pas grave de marcher les 50 pas et de reprendre la mesure.
Le problème
Avance rapide d'environ 18 ans, et je travaille sur le Hélice Q4000 , en essayant d'acquérir des échantillons d'hydrate de méthane à partir de sédiments à plus d'un kilomètre sous mes pieds. Il a fallu plus de 24 heures pour acquérir notre premier noyau. Quand il est revenu à la surface, rien n'avait fonctionné correctement : l'échantillon était dépressurisé, et les 10 % environ de sédiments récupérés n'étaient que de la soupe. Contrairement à mes relevés de température au lycée, nous ne pouvions pas revenir en arrière et réessayer – cet échantillon de sédiment avait disparu à jamais.
C'est le défi auquel les géologues et les ingénieurs sont régulièrement confrontés lorsqu'ils travaillent dans des environnements souterrains difficiles. Les données sont chères à acquérir, et vous n'obtenez qu'une seule photo. Alors, que faites-vous lorsque les données ne reviennent pas comme elles le devraient ? Peut-être que l'outil tombe en panne en profondeur ou pire encore, qu'il se bloque et que tout le puits doit être abandonné ? Comment pouvons-nous prendre le peu d'informations dont nous disposons et leur donner un sens utile ? On peut utiliser JMP Pro les puissants outils prédictifs de, bien sûr !
L'expérience
Paramètres d'entrée du gamma (bleu), de la densité de formation (rouge), de la vitesse de compression (vert) et de la vitesse de cisaillement (violet). L'intervalle un est > 2064 ftkb et est au-dessus de la ligne noire supérieure noire, l'intervalle deux est entre les deux lignes noires (2065-2127 ftkb) et l'intervalle trois est en dessous de la ligne noire (2128-2206 ftkb).
Comparons différentes méthodes de prédiction d'une variable mal acquise à partir de méthodes plus robustes. Dans ce cas, nous essayons de comprendre la saturation en hydrocarbures (hydrate de méthane), qui est peu disponible dans ce puits particulier ( Puits du mont Elbert, versant nord, AK ). Ce que nous avons, ce sont des ensembles complets de quatre variables : rayon gamma, densité de formation, vitesse de compression et vitesse de cisaillement. Dans le sous-sol, il y a trois intervalles de sables porteurs d'hydrates, et nous voulons utiliser le premier intervalle (2003-2064 pieds au-dessous du kelly bushing, ftkb) pour prédire la saturation en hydrates dans les deux intervalles inférieurs, 2065-2127 ftkb et 2128- 2206 ftkb, respectivement. Nous testerons différents modèles prédictifs : moindres carrés standard, régression généralisée, réseau de neurones et XGBoost. Nous utiliserons les valeurs R2 comme première étape de la qualité du modèle, mais évaluerons ensuite qualitativement les diagraphies de puits réelles par rapport aux prévisions pour évaluer la qualité globale de chaque modèle.
Résultats
Saturation en hydrates réelle (bleu) par rapport à la saturation en hydrates prévue pour les moindres carrés standard (rouge), la régression généralisée (vert), le réseau neuronal (violet) et XGBoost (orange brûlé).
Les moindres carrés standard ne suffisent pas. Il modélise de manière robuste l'intervalle 1, mais ne parvient absolument pas à prédire avec précision la saturation en hydrocarbures dans les deux intervalles inférieurs. La régression généralisée (Adaptive ; Elastic Net) est légèrement meilleure mais surprédit généralement les deux intervalles inférieurs de 0,1 à 0,2 unité de saturation. Les modèles d'apprentissage automatique font un travail beaucoup plus robuste, mais je donne l'avantage à XGBoost. Le réseau neuronal produit un signal beaucoup plus "bruit" en ce sens qu'il y a de nombreux kicks qui représentent 10 à 20 % de sur-prévision et de sous-prévision, tandis que XGBoost fournit une prédiction beaucoup plus stable à des saturations d'hydrocarbures faibles et élevées.
C'est un thème commun que j'observe lorsque je travaille avec des données géologiques et/ou de fond : les systèmes naturels sont incroyablement complexes, pleins d'hétérogénéités, et les modèles d'apprentissage automatique (Bootstrap Forest, Neural Network et XGBoost, etc.) ont tendance à fournir une meilleure prévision. modèles dans l'ensemble.

Résultats du modèle pour les ensembles de données de validation de XGBoost (en haut) et Neural Network (en bas).
Avancer
La plupart des gens qui travaillent dans l'industrie auront beaucoup plus de données à portée de main qu'un seul puits. Une pratique forte consiste à utiliser le clustering pour regrouper les puits en utilisant des paramètres géologiques (lithologie, porosité, perméabilité, etc.) et construire des modèles prédictifs par cluster. Cette méthode peut vous permettre d'obtenir de meilleurs résultats car le modèle est spécialement conçu pour un jeu particulier, ou même un bassin particulier au sein d'un jeu particulier. Au-delà de cela, une bonne pratique consiste à faire un tour visuel avec vos données dans Graph Builder - essayez d'avoir une idée de ce qui se passe avec des paramètres individuels pour identifier la meilleure voie à suivre.
Enfin, la démocratisation de l'analyse de données dans votre organisation vous permettra d'atteindre plus rapidement des objectifs plus ambitieux : obtenez des outils puissants entre les mains des utilisateurs, montrez-leur comment créer et interpréter des modèles, puis détendez-vous et profitez-en !
La source de données
Ces données ont été collectées par le biais d'un accord de forage de coopération entre le DOE et BP Exploration Alaska (BPXA), en collaboration avec l'US Geological Survey (USGS) et plusieurs universités et partenaires industriels, pour évaluer si l'hydrate de gaz naturel du versant nord de l'Alaska pourrait être produit de manière viable, soit techniquement, soit commercialement. Le puits Mt. Elbert a été foré en 2007, et les données sont disponibles via le Observatoire de la Terre Lamont Doherty à l'Université de Columbia. J'ai sous-ensemble les données, les ai nettoyées et mises à disposition dans une table JMP sur JMP Publique (Remarque : Sans JMP Pro , les scripts GenReg, Neural avec KFold et XGBoost ne s'exécuteront pas. De plus, le script XGBoost nécessite JMP Pro et le Complément XGBoost ).
Merci pour ce post instructif et bien écrit ! Eh bien, je m'occupe également de chimie en utilisant JMP Pro pour les tâches respectives.
Eh bien, ma question concerne le réseau neuronal (NN). Dans JMP pour les cas de régression, même à la graine aléatoire fixée, les valeurs prédites par NN diffèrent avec toutes leurs métriques (RMSE, R2 etc) si on relance un modèle identique. Pour la classification, tout est répétable en maintenant les métriques. Avez-vous joué à réarranger votre modèle NN en gardant des conditions identiques ?
Merci!
Michael
Merci beaucoup pour la question @Nazarkovsky , c'est un sujet très important que vous avez soulevé. J'ai rencontré des cas où la recherche fondamentale a été finalement annulée parce que l'auteur avait trouvé des corrélations très robustes en utilisant les NN, mais lorsque d'autres utilisateurs ont exécuté les mêmes NN sur les mêmes données mais en utilisant un départ aléatoire différent, des corrélations considérablement plus faibles ont été trouvées. C'est là que les modèles d'ensemble peuvent vraiment aider (par exemple Bootstrap Forest, Boosted NN, etc.). Après avoir dit tout cela et souligné l'importance de le faire, je dois admettre que je ne l'ai pas fait à l'origine. MAIS je n'ai pas pu m'en empêcher et après avoir lu votre commentaire, je suis revenu et j'ai ré-exécuté une série de NN en utilisant des paramètres identiques avec des graines aléatoires différentes. L'ensemble de validation moyen R^2 était de 0,92 +/- 0,01, juste un peu inférieur à ce que j'ai trouvé à l'origine.
Super truc, Peter! Et dites-moi s'il vous plaît, comment étaient les RMSE. Car, pour les régressions, le RMSE est le KPI principal. Espérons que ce paramètre ne change pas radicalement. Maintenant, dites-moi comment vous créez les ensembles sur JMP Pro. Le mien est 15,0, donc le vôtre peut être 16, puisque les ensembles ne sont pas rencontrés dans la 15ème version. Je vous serais très reconnaissant !
Michael, l'erreur quadratique moyenne (deuxième mesure de l'ajustement sur le rapport JMP NN) pour cet ensemble de données particulier change sur six départs aléatoires varie d'environ 0,01, assez mineur. En ce qui concerne les modèles d'ensemble, dans JMP Pro, vous pouvez utiliser la forêt Bootstrap ou utiliser booster dans NN ou arbres de décision. Toutes ces fonctionnalités sont disponibles dans JMP 15 Pro. J'espère que ça aide!
Félicitations, cher collègue ! Vous avez fait un travail brillant. Et s'il vous plaît recevoir un merci spécial pour vos conseils concernant les approches des modèles d'ensemble. Bon week-end!
Sincèrement,
Michael