Emulating expensive decision choices with application to computer

Emulating expensive decision choices with
application to computer models of complex physical
systems
Jonathan A Cumming and Michael Goldstein
Department of Mathematical Sciences, Durham University
July 2012
1 / 33
Outline
1
The decision problem
2
Role of the computer model
3
Methodology
4
Comments
2 / 33
The decision problem
The decision problem
3 / 33
The decision problem
Motivation
Well test analysis
Well test analysis is a technique used to reveal information about the
geometry and geological features of an underground hydrocarbon
reservoir
In practice, a well test involves producing fluid from a reservoir at a known
and controlled rate and observing the change in pressure during and
after this period of production
4 / 33
The decision problem
Motivation
0
Rate
400 800
3800
Pressure
4400
5000
Well test analysis
0
10
20
30
40
50
60
70
Time
4 / 33
The decision problem
Motivation
Well test analysis
4 / 33
The decision problem
Motivation
Well test analysis
Well test analysis is a technique used to reveal information about the
geometry and geological features of an underground hydrocarbon
reservoir
In practice, a well test involves producing fluid from a reservoir at a known
and controlled rate and observing the change in pressure during and
after this period of production
Pressure and rates are linked by a convolution relationship with a third
function, usually called the deconvolved derivative
The behaviour of this derivative function follows common patterns which
are attributed to particular reservoir characteristics
4 / 33
The decision problem
Motivation
−1.0
−1.5
Deconvoled Derivative
−0.5
Well test analysis
Infinite
Fault
Channel
Closed
−2
−1
0
1
2
log10(T)
4 / 33
The decision problem
Motivation
Well test analysis
Well test analysis is a technique used to reveal information about the
geometry and geological features of an underground hydrocarbon
reservoir
In practice, a well test involves producing fluid from a reservoir at a known
and controlled rate and observing the change in pressure during and
after this period of production
Pressure and rates are linked by a convolution relationship with a third
function, usually called the deconvolved derivative
The behaviour of this derivative function follows common patterns which
are attributed to particular reservoir characteristics
The object of the well test is to make an inference about the class of the
reservoir
4 / 33
The decision problem
Motivation
The Problem
We have a reservoir of interest, which can belong to one of four different
classes
We have to make a decision about how to perform the well test – what
rate to produce, how long for, how long to observe pressure
We then enact that decision (under error) and observe the pressures and
rates, and estimate the deconvolved derivative function
We then make an inference about the class of the reservoir using the
observations
On the basis of this inference, we then take a further action about
whether to develop or abandon this reservoir
Depending on the decisions we made and the nature of the reservoir, we
will receive some reward (or penalty)
We have a computer model which simulates the results of the well test
Are there any generally good well test regimes, and if so what are they?
5 / 33
The decision problem
General Problem Description
General Problem
We are interested in some complex physical system
Denote the portion of the system that is observable (and interesting) as y,
and let the state of the complex system be θ
We want to make a decision, δ, that may or may not affect the system
We enact that decision, and take observations of the system z
Using what we learn from z, we take a further decision (or action) α
Depending on δ, α, and the system θ, we receive a reward expressed as
a utility U [δ, α, θ]
We want to find good choices of δ
6 / 33
The decision problem
Decision Tree
The problem as a decision tree
U [δ, α, θ]
θ
System
P[
, z]
θ|δ
α
Action
z
P[
]
z|δ
Observation
δ
Decision
7 / 33
The decision problem
Decision Tree
Solving the tree
To solve the decision tree (and the decision problem) we apply backward
induction:
1
2
3
4
Find U [δ, α, z] = E [U [δ, α, θ]] with respect to P [θ|δ, z]
Find U [δ, z] = U [δ, α∗ , z] where the action α∗ maximises U [δ, α, z]
Find U [δ] = E [U [δ, z]] with respect to P [z|δ]
Find the decision δ∗ which maximises U [δ]
Comments:
1
2
3
The distribution P [θ|δ, z] required for step (1) is the result of a calibration
The maximisation operations can be handled in a variety of ways depending
on whether the variables are discrete, continuous, and high- or
low-dimensioinal
If we can’t get the distributions we need, we can always approximate the
expectations by Monte Carlo
8 / 33
Role of the computer model
Role of the computer model
9 / 33
Role of the computer model
The computer model
The computer model f mimics the behaviour of the system y
By adding observational error and model discrepancy we can use it to
mimic the observations z
The simulator takes two sets of parameters
1
2
x, the input parameters which encode the state of the system
d, the input parameters which represent the decision in the model
We can explore the behaviour of f (or z) over d and x (corresponding to δ,
θ) by making many evaluations of the model
If f is expensive or if δ has a substantial effect on the behaviour of the
system, we may choose to emulate it at this stage.
Alternatively, we could push our model runs through the decision process
and explore U [·] directly
At the end, we get values of the complex utility function U [δ, α, θ] over δ,
α, and θ
10 / 33
Role of the computer model
Influence Diagram Mk. II - Now With More Arcs!
Real World
Observations
Real Decision
θ
δ
y
z
α
U [δ, α, θ]
f (d, x)
z(d, x)
a
U [δ, α, θ]
U [δ]
U∗
d
x
Computer Model
Synthetic Observations
Decision Model
11 / 33
Role of the computer model
Using the computer model
The main use of the computer model will be provide information to
perform the two key calculations in the backward induction
Take expectations over θ
We need P [θ|δ, z] – which is effectively a calibration – and can be expressed
as
P [θ|δ, z] ∝ P [z|δ, θ] P [θ] ,
(1)
We assume we have a prior P [θ], and we can use the computer model to
generate samples of P [z|δ, θ] to build an approximate empirical distribution
Hence we can use the computer model to help us approximate these
probabilities which we can use to find the required expectation
Take expectations over z
Here we need P [z|δ] to find the expectation
We could repeat the above approach
Or we can use the computer model to generate many samples of z|δ, and
throw Monte Carlo at it
12 / 33
Methodology
Methodology
13 / 33
Methodology
Key steps
Our methodology is composed of the following stages:
1
Design
2
Evaluation of the computer model
3
Calibration
4
Generation of utilities
5
Solution of the decision tree
6
Emulation of the utility
7
Optimisation of the utility
8
Validation of the result
14 / 33
Methodology
Key steps
Our methodology is composed of the following stages:
1
Design — we construct two designs of (δ, θ) pairs: the first to explore
the decision space of δ, and the second to provide information required
for the calibration step.
2
Evaluation of the computer model
3
Calibration
4
Generation of utilities
5
Solution of the decision tree
6
Emulation of the utility
7
Optimisation of the utility
8
Validation of the result
14 / 33
Methodology
Key steps
Our methodology is composed of the following stages:
1
Design
2
Evaluation of the computer model — for every (δ, θ) point in the
design, we generate multiple consistent (d, x) pairs, each of which is
evaluated by the computer model, and then combined with noise to
generate and ensemble of synthetic observations.
3
Calibration
4
Generation of utilities
5
Solution of the decision tree
6
Emulation of the utility
7
Optimisation of the utility
8
Validation of the result
14 / 33
Methodology
Key steps
Our methodology is composed of the following stages:
1
Design
2
Evaluation of the computer model
3
Calibration — using information from the calibration runs, for each of our
synthetic observations z(d, x) we assess P [θ|δ, z(d, x)] for each possible
state θ.
4
Generation of utilities
5
Solution of the decision tree
6
Emulation of the utility
7
Optimisation of the utility
8
Validation of the result
14 / 33
Methodology
Key steps
Our methodology is composed of the following stages:
1
Design
2
Evaluation of the computer model
3
Calibration
4
Generation of utilities — for each of our synthetic observations z(d, x)
we calculate the utility U [δ, α, θ] for all possible actions α.
5
Solution of the decision tree
6
Emulation of the utility
7
Optimisation of the utility
8
Validation of the result
14 / 33
Methodology
Key steps
Our methodology is composed of the following stages:
1
Design
2
Evaluation of the computer model
3
Calibration
4
Generation of utilities
5
Solution of the decision tree — by using the distributions and utility
values obtained above, we can now calculate a single U [δ] for every δ in
our original design by collapsing the decision tree.
6
Emulation of the utility
7
Optimisation of the utility
8
Validation of the result
14 / 33
Methodology
Key steps
Our methodology is composed of the following stages:
1
Design
2
Evaluation of the computer model
3
Calibration
4
Generation of utilities
5
Solution of the decision tree
6
Emulation of the utility — given the collection of values of U [δ] for the
values of δ in our original design, we construct an emulator to model the
behaviour of U [·] over the entire decision space.
7
Optimisation of the utility
8
Validation of the result
14 / 33
Methodology
Key steps
Our methodology is composed of the following stages:
1
Design
2
Evaluation of the computer model
3
Calibration
4
Generation of utilities
5
Solution of the decision tree
6
Emulation of the utility
7
8
Optimisation of the utility — we maximise the emulator of U [δ] and
identify regions of good decisions, and possible a unique optimal decision
δ∗ .
Validation of the result
14 / 33
Methodology
Key steps
Our methodology is composed of the following stages:
1
Design
2
Evaluation of the computer model
3
Calibration
4
Generation of utilities
5
Solution of the decision tree
6
Emulation of the utility
7
Optimisation of the utility
8
Validation of the result — assess the quality of the final solution to
determine whether the result is satisfactory or whether additional
evaluations should be performed.
14 / 33
Methodology
Design
We can design for and evaluate the computer model as usual, however
we must be mindful of how we construct the design
We need two sets of design points:
1
2
Points to be used for space exploration to be used to build the final emulator
— no/minimal replication, primarily space-filling
Points to be used to understand P [z|δ, θ] — requires replicates for the same
δ values
How we allocate our runs to each of these two groups under a fixed
budget is an interesting problem
15 / 33
Methodology
Results: Design
For the main design, we constructed a design of 40,000 runs of the
computer model composed of:
Each of 4 possible reservoir classes θ
For each θ, we choose 1000 values of δ in a Latin hypercube over the
3-dimensional decision space
For each (θ, δ), we choose 10 different values of the simulator input x in a
further Latin-hypercube over the 9-dimensional x space
This gave 40,000 runs of the computer model requiring 11.52 hours to
complete.
16 / 33
Methodology
-5
-10
Z
0
Results: Design
-6
-4
-2
0
2
4
6
T
16 / 33
Methodology
Results: Design
For the main design, we constructed a design of 40,000 runs of the
computer model composed of:
Each of 4 possible reservoir classes θ
For each θ, we choose 1000 values of δ in a Latin hypercube over the
3-dimensional decision space
For each (θ, δ), we choose 10 different values of the simulator input x in a
further Latin-hypercube over the 9-dimensional x space
This gave 40,000 runs of the computer model requiring 11.52 hours to
complete.
For the calibration design, we chose 250 values of δ for each of the 4
reservoir classes which was replicated 100 times
16 / 33
Methodology
Evaluation
Given the designs, the next stage is to perform the evaluations of the
computer model and generate the synthetic observations.
Each design point corresponds to a single combination of (δ, θ), but the
input to the computer model is in terms of the parameters (d, x)
Unfortunately, we could associate many possible (d, x) with any given
choice of (δ, θ) due to:
Decision uncertainty — we cannot guarantee δ is performed exactly in the
real world
Representation uncertainty — our general system state θ (or decision δ)
could have a non-unique representation in computer model terms
Therefore to evaluate the model at (δ, θ), we must sample a compatible
(d, x) before we can evaluate the computer model (or many if we need
replicates)
We then evaluate f (d, x) and combine it with some observational error
and model discrepancy to generate a synthetic observation z(d, x)
17 / 33
Methodology
Parameters and Evaluation
θ is a 4-valued categorical variable representing the reservoir classes
x is a 9-dimensional vector of numerical parameters uniquely specifying a
particular deconvolution function
δ are the parameters used to specify our well test:
1
2
3
Dur – the duration of production from the well
Rate – the rate of production during the well test
Buildup – the duration for which we observe pressures in the reservoir after
production has terminated
Rates are notoriously poorly observed and controlled, so we expect
substantial uncertainty on enacting a given decision
For each (x, δ) in our design, we generate the true-but-unknown
deconvolution function and a series of rates. These are then combined
(convolved) to produce the pressures, adding noise at various points. The
pressures and the rates are deconvolved, and this is our model output.
18 / 33
Methodology
Calibration
To collapse the end node of the decision tree, we require for every run of
the model the probabilities P [θ|δ, z]
Being Bayesians, we exploit the relation
P [θ|δ, z] ∝ P [z|δ, θ] P [θ]
Arbitrarily, we use the prior that P [θk ] = 41 for k = 1, . . . , 4
So all we need is P [z|δ, θ] to complete the calculation
We adopt a sampling approach to approximate P [z|δ, θ] and then use that
to approximately find the required probabilities
Using the evaluations of the calibration design and its many replicates,
we can approximate the empirical distribution of P [z|δ, θ]
19 / 33
Methodology
Calibration
If we find that P [z|δ, θ] is independent of (or at worst weakly dependent
on) δ we can choose to ignore the effects of δ on P [z|δ, θ] and calculate
P [z|θ] – which is can be simply represented as a collection of tables of
probabilities
If not, we will have to consider more sophisticated approaches such as
emulating the distribution as a function of δ itself
Another complication in this approach occurs when the dimension of z is
too large that P [z|θ, δ] becomes too complex an object to estimate easily
In which case, we reduce dimensionality by replacing z with a summary
statistic, g(z, θ).
Pragmatically, if we believe that this statistic has similar qualitative
behaviour with respect to the system state θ as the original observations,
i.e.
P [θ|δ, g(z, θ)] ' P [θ|δ, z] ,
(2)
then we can we can then replace z in the calibration by g(z, θ) and expect
to obtain similar results.
Then, given each run of the computer model z(d, x) we can now
approximately find P [θk |δ, z(d, x)] for each θk
20 / 33
Methodology
Results: Classification
*
1.0
0.8
0.0
-3.5
0.2
-3.0
0.4
-2.5
0.6
-1.5
-2.0
500
-6
-4
-2
0
2
4
6
1
2
3
4
t
0.00
0.00
0.15
Model 2 : -1.32
0.15
Model 1 : 0.14
-0.1
-0.05
0
0.05
0.1
0.15
0.2
-0.25 -0.2 -0.15 -0.1 -0.05
0
0.05
0.1
0.00
0.15
Model 4 : -5.11
0.15
Model 3 : -2.56
0.00
z
248,2183,79
-0.3
-0.2
-0.1
0
0.1
-0.3
-0.2
-0.1
0
0.1
0.2
21 / 33
Methodology
Generation of utilities
The last ingredient required to start solving the decision problem is the
utility value for each run of the model z(d, x).
Given any z(d, x), we must evaluate the utility function U [δ, α, θ] for all
possible actions, α, and states, θ, thereby attaching a utility value to
every leaf of the decision tree.
If the dimension of α or θ are large or the utility function is expensive to
evaluate, then it will be infeasible to consider such an exhaustive
evaluation.
Instead, we could sample from α and θ, evaluated the utility function for
this sample, and then use the sample of utilities as a training sample for
an emulator of the utility function
22 / 33
Methodology
Results: Utilities
Our utility for the combination (δ, α, θ) is a combination of the rewards for
taking actions (δ, α) when the system is in state z(d, x) and the cost for
taking the decisions (δ, α)
The reward we receive for taking these actions depends on the true state
of the reservoir
Large Small Abandon
Infinite
100
75
0
Fault
50
75
0
Channel
50
75
0
Closed
-10
-5
100
We use a simple linear cost function over the decisions δ with coefficients
Intercept
50
log(Duration) 0.035
0.03
log(Buildup)
Rate 0.003
23 / 33
Methodology
Solving the tree
U [δ, α, θ]
θ
System
P[
, z]
θ|δ
α
Action
z
P[
]
z|δ
Observation
δ
Decision
24 / 33
Methodology
Solving the tree
The first steps in solving the decision tree via the computer model are
then:
1
2
3
Find U [δ, α, z(d, x)] = E [U [δ, α, θ]] with respect to P [θ|δ, z(d, x)] — this is
why we needed the calibration
Find U [δ, z(d, x)] = U [δ, α∗ , z(d, x)] where the action α∗ maximises
U [δ, α, z(d, x)]
Find U [δ] = E [U [δ, z(d, x)]] with respect to P [z(d, x)|δ]
To perform step (3), we use the collection of evaluations associated with
each δ to make a simple Monte Carlo assessment of the expectation
25 / 33
Methodology
Emulating the utility
We have now reduced the problem to a sample of values of (δ, U [δ])
where U [·] is an expensive and poorly-understood function
Since U [δ] is a complex function about which we only have partial
knowledge over the space of δ, we apply standard emulation techniques
to approximate its behaviour.
Emulation revealed that the Rate decision variable was not active, and so
did not contribute to variation in the U [δ] surface
This left Duration and Buildup as the driving variables for the U [δ] surface
26 / 33
Methodology
Results: U [δ] (costless)
27 / 33
Methodology
Results: U [δ] including costs
28 / 33
Methodology
Optimisation
Since we have emulated the utility it is now substantially more efficient to
investigate a new choice of δ than it is to repeat the decision analysis.
Thus we can probably optimise by brute force for problems of
small-dimension
For problems of higher dimension we will require more sophisticated
optimisation routines (e.g. gradient ascent should be easy given an
emulator with well-explained by its mean function)
Additionally, larger problems would require more fancy methods of
visualisation (e.g. as in implausibility plots)
For the example, we could grid the space to sufficient detail to find the
maximum by brute force
The unique maximum of the emulated utility surface occurs at
Duration= 65.7hrs and Buildup= 139.6hrs.
However there is a region of (almost equally) good decisions when
surrounding this point.
29 / 33
Methodology
Validation
There are many validation questions we should ask of our results:
Are the empirical likelihoods used in the calibration step adequate?
Does our utility emulator capture the behaviour of the utility surface?
Is our Monte Carlo estimate for the expected utility adequate?
Is the ‘best’ decision really the best when accounting for all the
uncertainties?
30 / 33
Comments
Comments
31 / 33
Comments
Comments
There will be a paper soonTM
32 / 33
Comments
FIN
33 / 33