Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
Próxima SlideShare
Cargando en…5
×

# Bayesian Experimental Design for Stochastic Kinetic Models

878 visualizaciones

In recent years, the use of the Bayesian paradigm for estimating the optimal experimental design has increased. However, standard techniques are
computationally intensive for even relatively small stochastic kinetic models. One solution to this problem is to couple cloud computing with a model emulator.
By running simulations simultaneously in the cloud, the large design space can be explored. A Gaussian process is then fitted to this output, enabling the
optimal design parameters to be estimated.

• Full Name
Comment goes here.

Are you sure you want to Yes No
• Sé el primero en comentar

• Sé el primero en recomendar esto

### Bayesian Experimental Design for Stochastic Kinetic Models

1. 1. Bayesian Experimental Design for Stochastic Kinetic Models Colin Gillespie, Richard Boys, Nina Wilkinson Newcastle University, UK April 1, 2014
2. 2. Overview Stochastic kinetic models Simulation and inference Optimal design problem Future directions
3. 3. Stochastic kinetic models A biochemical network is represented as a set of pseudo-biochemical reactions: 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 the current state of the system Under mass-action stochastic kinetics, the hazard function is proportional to a product of binomial coefﬁcients, with hi (Xt , θi ) = θi u j=1 Xj,t pij
4. 4. 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 by qki − 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 (Gillespie algorithm)
5. 5. The direct method 1 Initialisation: initial conditions, reactions constants, and random number generators 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 hazard 6 Reaction execution: Update species 7 Iteration: If the simulation time is exceeded stop, otherwise go back to step 2 Typically a simulated experiment has many simulated reactions
6. 6. The direct method 1 Initialisation: initial conditions, reactions constants, and random number generators 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 hazard 6 Reaction execution: Update species 7 Iteration: If the simulation time is exceeded stop, otherwise go back to step 2 Typically a simulated experiment has many simulated reactions
7. 7. The direct method 1 Initialisation: initial conditions, reactions constants, and random number generators 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 hazard 6 Reaction execution: Update species 7 Iteration: If the simulation time is exceeded stop, otherwise go back to step 2 Typically a simulated experiment has many simulated reactions
8. 8. The direct method 1 Initialisation: initial conditions, reactions constants, and random number generators 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 hazard 6 Reaction execution: Update species 7 Iteration: If the simulation time is exceeded stop, otherwise go back to step 2 Typically a simulated experiment has many simulated reactions
9. 9. Parameter estimation: the inverse problem Given observations on the chemical species, can we infer the rate constants, θ? Typically we only partially observe species, at discrete times 0 5 10 15 20 25 30 0 100 200 300 400 Time Population
10. 10. Parameter estimation: the inverse problem Given observations on the chemical species, can we infer the rate constants, θ? Typically we only partially observe species, at discrete times 0 5 10 15 20 25 30 0 100 200 300 400 Time Population qq q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q qq q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q qq q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q
11. 11. Parameter estimation: the inverse problem Given observations on the chemical species, can we infer the rate constants, θ? Typically we only partially observe species, at discrete times 0 5 10 15 20 25 30 0 100 200 300 400 Time Population qq q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q
12. 12. Parameter estimation: the inverse problem Given observations on the chemical species, can we infer the rate constants, θ? Typically we only partially observe species, at discrete times 0 5 10 15 20 25 30 0 100 200 300 400 Time Population q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q
13. 13. Parameter inference Forward simulation approaches Approximate Bayesian computation (ABC) Particle MCMC Simulator approximations Moment closure (2MA) Linear noise approximation (LNA) Langevin equation (SDE) Gaussian processes (GP)
14. 14. Example: The death model A single reaction N θ −→ ∅ This model is sufﬁciently simple that we can obtain the probability of n individuals at time t analytically Initialising with N(0) = n0 individuals at time t = 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.0 Time Population
15. 15. What would an optimal design look like? Suppose we want to observe the process at k time points. What time points should we use? q q q0 10 20 30 40 50 0.0 2.5 5.0 7.5 10.0 Time Population 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)
16. 16. What would an optimal design look like? Suppose we want to observe the process at k time points. What time points should we use? q q q0 10 20 30 40 50 0.0 2.5 5.0 7.5 10.0 Time Population 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)
17. 17. What would an optimal design look like? Suppose we want to observe the process at k time points. What time points should we use? q q q0 10 20 30 40 50 0.0 2.5 5.0 7.5 10.0 Time Population 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)
18. 18. Choosing the best design A typical design is d = (t1, t2, . . . , tk ) Since the design parameter has to be chosen before doing the experiment 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 θ
19. 19. 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, θ)] 1 m 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
20. 20. 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 βj dj and a squared exponential covariance function K(xi , xj |a, r) = a exp (xi − xj )T diag(r)−2 (xi − xj ) where x = (d, θ) 3 Use the GP emulators within an MCMC scheme to estimate d∗ = argmax u(d)
21. 21. Toy model: Pure death process Prior: θ ∼ LN(−0.005, 0.01) Minimax Latin hypercube design using 400 training points Since we can solve the Master equation, we can calculate the utility function exactly For a 1-d design, our approximation is excellent For multiple design points, the approximation 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 ExpectedUtility #Design points ExpectedUtility 1 2 3 4 130 135 140 145 150
22. 22. 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.5 Design Point 1 DesignPoint2 0 50 100 u(t1, t2) Exact GP 0 1 2 3 0 1 2 3 0 1 2 3 Design Point 1 DesignPoint2
23. 23. 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 ﬂat. May need to implement a sequential strategy to gradually zoom into a region around the optimal design d∗ May be useful to use approximations of the stochastic kinetic model to focus into the region around the optimal design quickly Source code (R and LATEX of these slides): https://github.com/csgillespie/talks/