Date post: | 23-Jun-2015 |
Category: |
Science |
Upload: | colin-gillespie |
View: | 222 times |
Download: | 2 times |
Bayesian Experimental Design for Stochastic KineticModels
Colin Gillespie, Richard Boys, Nina Wilkinson
Newcastle University, UK
April 1, 2014
Overview
Stochastic kinetic models
Simulation and inference
Optimal design problem
Future directions
Stochastic kinetic models
A biochemical network is represented as a set of pseudo-biochemicalreactions: for i = 1, . . . , v
Ri : pi1X1 + pi2X2 + · · ·+ piuXuθi−→ qi1X1 + qi2X2 + · · ·+ qiuXu
Stochastic rate constant θi
Hazard/instantaneous rate: hi(Xt , θi) where Xt = (X1,t , . . . ,Xu,t) is thecurrent state of the system
Under mass-action stochastic kinetics, the hazard function is proportionalto a product of binomial coefficients, with
hi(Xt , θi) = θi
u∏j=1
(Xj,t
pij
)
Stochastic kinetic models
Describe the SKM by a Markov jump process (MJP)
The effect of reaction Rk is to change the value of each species Xi byqki − pki
The time to the next reaction is
t ∼ Exp{h0(Xt ,θ)}
where h0(Xt ,θ) =∑v
i=1 hi(Xi , θi)
The reaction is of type i with probability hi(Xt , θi)/h0(Xt ,θ)
The process is easily simulated using the Direct method (Gillespiealgorithm)
The direct method
1 Initialisation: initial conditions, reactions constants, and random numbergenerators
2 Propensities update: Update each of the v hazard functions, hi(Xt , θi)
3 Propensities total: Calculate the total hazard h0 =∑v
i=1 hi(Xt , θi)
4 Reaction time: τ = −ln{U(0, 1)}/h0 and t = t + τ
5 Reaction selection: A reaction is chosen proportional to its hazard6 Reaction execution: Update species7 Iteration: If the simulation time is exceeded stop, otherwise go back to
step 2
Typically a simulated experiment has many simulated reactions
The direct method
1 Initialisation: initial conditions, reactions constants, and random numbergenerators
2 Propensities update: Update each of the v hazard functions, hi(Xt , θi)
3 Propensities total: Calculate the total hazard h0 =∑v
i=1 hi(Xt , θi)
4 Reaction time: τ = −ln{U(0, 1)}/h0 and t = t + τ
5 Reaction selection: A reaction is chosen proportional to its hazard6 Reaction execution: Update species7 Iteration: If the simulation time is exceeded stop, otherwise go back to
step 2
Typically a simulated experiment has many simulated reactions
The direct method
1 Initialisation: initial conditions, reactions constants, and random numbergenerators
2 Propensities update: Update each of the v hazard functions, hi(Xt , θi)
3 Propensities total: Calculate the total hazard h0 =∑v
i=1 hi(Xt , θi)
4 Reaction time: τ = −ln{U(0, 1)}/h0 and t = t + τ
5 Reaction selection: A reaction is chosen proportional to its hazard6 Reaction execution: Update species7 Iteration: If the simulation time is exceeded stop, otherwise go back to
step 2
Typically a simulated experiment has many simulated reactions
The direct method
1 Initialisation: initial conditions, reactions constants, and random numbergenerators
2 Propensities update: Update each of the v hazard functions, hi(Xt , θi)
3 Propensities total: Calculate the total hazard h0 =∑v
i=1 hi(Xt , θi)
4 Reaction time: τ = −ln{U(0, 1)}/h0 and t = t + τ
5 Reaction selection: A reaction is chosen proportional to its hazard6 Reaction execution: Update species7 Iteration: If the simulation time is exceeded stop, otherwise go back to
step 2
Typically a simulated experiment has many simulated reactions
Parameter estimation: the inverse problem
Given observations on the chemical species, can we infer the rateconstants, θ?
Typically we only partially observe species, at discrete times
0 5 10 15 20 25 30
0
100
200
300
400
Time
Pop
ulat
ion
Parameter estimation: the inverse problem
Given observations on the chemical species, can we infer the rateconstants, θ?
Typically we only partially observe species, at discrete times
0 5 10 15 20 25 30
0
100
200
300
400
Time
Pop
ulat
ion
●●
●●
●●
●●
●
●
●● ● ● ● ● ● ●
●
●
●
●
●●
● ●
●
●
●●
●●
●● ●
●
●
●
●
●
●
●
●●
●
●
●
●
●
● ● ● ● ●
●
●
●
●
●
●
●
●
●
●
●● ●● ● ● ● ●
●●
● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ●
Parameter estimation: the inverse problem
Given observations on the chemical species, can we infer the rateconstants, θ?
Typically we only partially observe species, at discrete times
0 5 10 15 20 25 30
0
100
200
300
400
Time
Pop
ulat
ion
●●
●●
●●
●●
●
●
●● ● ● ● ● ● ●
●
●
●
●
●●
● ●
●
●
●●
●●
Parameter estimation: the inverse problem
Given observations on the chemical species, can we infer the rateconstants, θ?
Typically we only partially observe species, at discrete times
0 5 10 15 20 25 30
0
100
200
300
400
Time
Pop
ulat
ion
●●
●
● ●●
● ●
●
●●
●
●
●
●
● ●
●●
●
●
●●
●
●●
●
●
● ● ●
●
Parameter inference
Forward simulation approachesApproximate Bayesian computation (ABC)
Particle MCMC
Simulator approximationsMoment closure (2MA)
Linear noise approximation (LNA)
Langevin equation (SDE)
Gaussian processes (GP)
Example: The death model
A single reaction
Nθ−→ ∅
This model is sufficiently simple that we canobtain the probability of n individuals at timet analytically
Initialising with N(0) = n0 individuals at timet = 0, we have, for n = n0, n0 − 1, . . . , 0
pn(t) =
(n0
n
)e−θnt(1− e−θt)n0−n
0
10
20
30
40
50
0.0 2.5 5.0 7.5 10.0Time
Pop
ulat
ion
What would an optimal design look like?
Suppose we want to observe the process at k time points. What time pointsshould we use?
●
● ●0
10
20
30
40
50
0.0 2.5 5.0 7.5 10.0Time
Pop
ulat
ion
Time = 1 Time = 3 Time = 5
0.00
0.01
0.02
0.03
0 1 2 3 0 1 2 3 0 1 2 3θ
π(θ|
d)
What would an optimal design look like?
Suppose we want to observe the process at k time points. What time pointsshould we use?
●
● ●0
10
20
30
40
50
0.0 2.5 5.0 7.5 10.0Time
Pop
ulat
ion
Time = 1 Time = 3 Time = 5
0.00
0.01
0.02
0.03
0 1 2 3 0 1 2 3 0 1 2 3θ
π(θ|
d)
What would an optimal design look like?
Suppose we want to observe the process at k time points. What time pointsshould we use?
●
● ●0
10
20
30
40
50
0.0 2.5 5.0 7.5 10.0Time
Pop
ulat
ion
Time = 1 Time = 3 Time = 5
0.00
0.01
0.02
0.03
0 1 2 3 0 1 2 3 0 1 2 3θ
π(θ|
d)
Choosing the best design
A typical design is d = (t1, t2, . . . , tk)
Since the design parameter has to be chosen before doing theexperiment we need to maximise
u(d) = Eθ,y [u(d, y ,θ)] =∫
y
∫θ
u(d, y ,θ)π(y |d,θ)π(θ)dθdy
The best design d∗ maximises u(d)
Typically u(d) is analytically intractable
The utility we choose is
u(d, y ,θ) ≡ u(d, y) =1
det{Var(θ|d, y)}
which does not depend on θ
Choosing the best design
The utility of a design d = (t1, t2, . . . , tk) is
u(d) = Eθ,y [u(d, y ,θ)] = · · · =∫θπ(θ)u(d,θ)dθ
which can be approximated by
u(d) = Eθ [u(d,θ)] '1m
m∑i=1
u(d,θi)
where the θi are a random sample of size m from the prior π(θ)
Typically, u(d,θ) is computationally expensive to evaluate
Fast approximation u(d ,θ)
1 Using a Latin hyper-cube design, estimate u(d,θ) at multiple (d,θ)points
2 Fit a GP emulator to u(d,θ), with mean function
m(d,θ) = β0 +∑
i
βiθi +∑
j
βjdj
and a squared exponential covariance function
K (x i , x j |a, r) = a exp{(x i − x j)
T diag(r)−2(x i − x j)}
where x = (d,θ)3 Use the GP emulators within an MCMC scheme to estimate
d∗ = argmax u(d)
Toy model: Pure death process
Prior: θ ∼ LN(−0.005, 0.01)
Minimax Latin hypercube design using400 training points
Since we can solve the Master equation,we can calculate the utility functionexactly
For a 1-d design, our approximation isexcellent
For multiple design points, theapproximation is very close to the exact
How many design points should we use:what value for k?
0 2 4 6 8 10
100
110
120
130
140
Time
Exp
ecte
d U
tility
#Design points
Exp
ecte
d U
tility
1 2 3 4
130
135
140
145
150
Results: 2-point design d = (t1, t2), t1 < t2
Exact GP
0.0
2.5
5.0
7.5
0.0 2.5 5.0 7.5 0.0 2.5 5.0 7.5Design Point 1
Des
ign
Poi
nt 2
0 50 100u(t1, t2)
Exact GP
0
1
2
3
0 1 2 3 0 1 2 3Design Point 1
Des
ign
Poi
nt 2
Future directions
Current approaches for estimating u(d) of SKM do not scale
We need to be able to handle larger, more complex models
Surface of the utility function is very flat. May need to implement asequential strategy to gradually zoom into a region around the optimaldesign d∗
May be useful to use approximations of the stochastic kinetic model tofocus into the region around the optimal design quickly
Source code (R and LATEX of these slides):https://github.com/csgillespie/talks/