Petrophysics-Driven Well Log Quality Control Using Machine Learning-2
Petrophysics-Driven Well Log Quality Control Using Machine Learning-2
Petrophysics-Driven Well Log Quality Control Using Machine Learning-2
BUSINESS PROBLEM
Petrophysicists rely on well log data to derive
valuable information about reservoirs
• Well log data is not always optimal due to
• Poor borehole conditions, SOLUTION
• Acquisition errors, and
• Tool failures Our team developed and
• Accuracy of log interpretation depends on
time spent on data quality control (QC) and implemented a tool that
conditioning integrates insights from
• Reducing time on data QC enables petrophysics with data
petrophysicists to proceed more quickly to
log interpretation science techniques,
significantly reducing the
amount of time dedicated to
log QC and editing.
QC in cross-
plot space Generate a Splice in
Repeat process on
synthetic synthetic
additional curves,
log with a data and
Workflow performed to cover all wells
by the end user regression original
and zones required
technique good data
Advantages Disadvantages
Addresses issues with log data in advance Very manual and time consuming process
Reproducible results, if the workflow is documented User must repeat the same process for each zone,
each well and each curve
Advantages Disadvantages
Automated bad hole detection, flagging and bad hole Each well is reconstructed independently
flag buffer can be applied to multiple curves/wells § Currently working on a multi-well solution
Can execute multiple regressions simultaneously and
ensemble the best results from all the models
ADVANCED ANALYTICS & EMERGING TECHNOLOGIES
Algorithm Selection
Explored:
Selected:
v AdaBoost
v Random Forest
v Gradient Boost Machine (GBM)
v Multilinear Regression (MLR)
Added MLR as a simple, computationally
less intensive benchmark to compare
results against
Source: © 2017 Dataiku, Inc. www.dataiku.com
Includes Gradient Boosting (GBM) Weak learners are trained iteratively, so that
and AdaBoost the goal for each learner is to predict data points
that the previous tree had difficulty predicting
Decision trees, while prone to
overfitting, are essential building Each subsequent learner ‘boosts’ the accuracy
blocks to many machine learning of the previous learners
algorithms
While the Random Forest algorithm
uses a ‘bagging’ approach to train Iterative Process of Boosting Algorithms
many trees on random subsets of the
data, ‘boosting’ algorithms take a more
direct approach when sub-setting data
and training trees
To minimize prediction error, a
boosting algorithm generates a series
of weak learners –decision trees that
perform at least slightly better than
random chance– and combines them Source: Introduction to Boosted Trees, https://blog.bigml.com/2017/03/14/introduction-to-boosted-trees/
to generate a strong learner
Source: Drucker, 1997
Each consecutive decision tree is preferentially Sample weights –the probabilities used to determine
trained on data that was difficult for previous trees to which observations from the training data are
accurately predict sampled– are updated with each iteration
Data subsets are generated by first assigning each The prediction returned for any set of observations is
observation a probability of being sampled the weighted median prediction across all of the
This probability is determined by how difficult it is for a decision decision trees
tree to predict the observation, so that more difficult Medians are weighted by the confidence each decision tree has
observations have higher probabilities of being sampled in the accuracy of its prediction
Decision trees are intentionally trained on points that are
Source: Drucker, 1997
difficult to predict
Train first model Train next model Iterate through n number of bags
• Build first bag of • Build next bag (random selection)
data selecting • Each instance weighted
randomly from according to error from 1st model
training data • Points with significant error from
• Train the model 1st model are more likely to get
picked for this bag
• Take all training
• Train the next model
data and use it to
• Test the system using training
test the model
data on both model instances
• Some points are
• Combine the outputs
not well predicted
• Measure error across all the data
(error)
Trains first tree on the observed data, and Continuing the first example:
trains each remaining tree on the residual Predict whether someone likes computer games
error between the first tree’s predicted
values and the observations in the training Calculate Structure Score
data • Define an Objective
Function (Obj)
Instead of creating multiple decision trees and • Push statistics gi and hi to
training each tree on the observed data (AdaBoost) the leaves they belong to
• Sum statistics together
New trees are parameterized to minimize • Use Obj to calculate how
the residual error using gradient descent good the tree is
• This score is an impurity
Builds a hierarchical model where each measure and takes into
account model complexity
subsequent tree aims to decrease the
residual prediction error Learn Tree Structure
• Split a leaf into two leaves
Instead of building a suite of trees that are able to and the score is given by
make accurate predictions in concert (AdaBoost) the Gain formula
• If the gain is smaller than γ
Since each tree is part of this hierarchical it would be best not to add
model the prediction returned is simply a that branch (tree-based
model pruning technique)
sum of predictions across all trees
• Place all the instances in
Instead of a weighted ‘voting’ system (AdaBoost) sorted order
• Left to right scan is sufficient to calculate the structure score
of all possible split solutions and find the best split efficiently
Source: Friedman, 2001 Source: XGBoost, http://xgboost.readthedocs.io/en/latest/model.html
AdaBoost 1.0 ± 3.13E-04 1.0 ± 3.01E-04 1.0 ± 2.12E-02 1.0 ± 3.40E-03 AdaBoost 0.936 ± 3.66E-04 0.896 ± 4.26E-04 0.918 ± 3.36E-02 0.878 ± 2.85E-03
Gradient Gradient 0.803 ± 2.90E-04 0.776 ± 4.49E-04 0.730 ± 2.58E-02 0.843 ± 3.28E-03
1.0 ± 4.16E-04 1.0 ± 4.57E-04 1.0 ± 5.18E-02 1.0 ± 4.43E-03
Boosting Boosting
Random Random 1.005 ± 3.62E-04 0.998 ± 5.04E-04 0.995 ± 3.29E-02 1.000 ± 4.02E-03
1.0 ± 3.82E-04 1.0 ± 4.65E-04 1.0 ± 2.57E-02 1.0 ± 3.06E-03 Forest
Forest
Ensemble Curve:
May not line up exactly with the
Bad Hole Flag due to
Original Curve where data is good
other criteria for RHOB
Merged Curve:
Merged Ensemble and Original
Original curve value is lower Curves, keeping good data where
than Ensemble predicted value available
MULTI-WELL IMPLEMENTATION
The tool operates on multiple wells simultaneously, training models from partial good data and nearest
neighbors’ normalized data to predict values at bad hole flag areas across all of the wells in the selection
Send
Detect and If BHF > reconstructed
flag bad 75% or well to
holes (BHF) some curves
Final
per zone missing Working Set
Yes
Find nearest Train models Splice and merge
neighbors with from partial good Reconstruct reconstructed
required log data and nearest logs where and partial
and same neighbors’ BHF >75% (original) good
Single Well Solution
resistivity type normalized data data
Multi-Well Solution
L O G Q C M U LT I - W E L L I N A C T I O N A D VA N TA G E S
DTC Reconstructed Reconstructed Original Reconstructed Final
GR Missing Curves DTC Working Set
RDEEP RHOB NPHIL Reconstructed
PE
Caliper RHOB PE RHOB DTC
NPHIL DTC NPHIL PE Legend
ü Uses single well solution when
possible (defaults to multi-well
Bad hole flag
Caused by entire curves only when necessary)
missing (RHOB, NPHIL,
PE) or missing segments
ü Larger dataset to use for
of the curve (DTC) reconstruction
ü Create synthetic data from
Multi-well Flag
Sections that were neighbor wells
reconstructed by multi-
well using partial raw data
from this well (GR,
RDEEP, DTC) and
available good data from
D I S A D VA N TA G E S
neighboring wells
No Correction Flag
Ø Can be slow
Sections that cannot be Ø Reconstruction is entirely
reconstructed by multi-
well due to insufficient
dependent on quality and
data (RDEEP curve distance of offset wells
missing at top)
Ø Requires basin-wide, expert-
derived cutoffs
VA L I D AT I O N SCALING