In probability theory, tau-leaping, or τ-leaping, is an approximate method for the simulation of a stochastic system. It is based on the Gillespie algorithm, performing all reactions for an interval of length tau before updating the propensity functions. By updating the rates less often this sometimes allows for more efficient simulation and thus the consideration of larger systems. Many variants of the basic algorithm have been considered.
Algorithm The algorithm is analogous to the Euler method for deterministic systems, but instead of making a fixed change
x ( t + τ ) = x ( t ) + τ x ′ ( t ) {\displaystyle x(t+\tau )=x(t)+\tau x'(t)}
the change is
x ( t + τ ) = x ( t ) + P ( τ x ′ ( t ) ) {\displaystyle x(t+\tau )=x(t)+P(\tau x'(t))}
where P ( τ x ′ ( t ) ) {\displaystyle P(\tau x'(t))} is a Poisson distributed random variable with mean τ x ′ ( t ) {\displaystyle \tau x'(t)} . Given a state x ( t ) = { X i ( t ) } {\displaystyle \mathbf {x} (t)=\{X_{i}(t)\}} with events E j {\displaystyle E_{j}} occurring at rate R j ( x ( t ) ) {\displaystyle R_{j}(\mathbf {x} (t))} and with state change vectors v i j {\displaystyle \mathbf {v} _{ij}} (where i {\displaystyle i} indexes the state variables, and j {\displaystyle j} indexes the events), the method is as follows:
Initialise the model with initial conditions x ( t 0 ) = { X i ( t 0 ) } {\displaystyle \mathbf {x} (t_{0})=\{X_{i}(t_{0})\}} . Calculate the event rates R j ( x ( t ) ) {\displaystyle R_{j}(\mathbf {x} (t))} . Choose a time step τ {\displaystyle \tau } . This may be fixed, or by some algorithm dependent on the various event rates. For each event E j {\displaystyle E_{j}} generate K j ∼ Poisson ( R j τ ) {\displaystyle K_{j}\sim {\text{Poisson}}(R_{j}\tau )} , which is the number of times each event occurs during the time interval [ t , t + τ ) {\displaystyle [t,t+\tau )} . Update the state by
x ( t + τ ) = x ( t ) + ∑ j K j v i j {\displaystyle \mathbf {x} (t+\tau )=\mathbf {x} (t)+\sum _{j}K_{j}v_{ij}}
where v i j {\displaystyle v_{ij}} is the change on state variable X i {\displaystyle X_{i}} due to event E j {\displaystyle E_{j}} . At this point it may be necessary to check that no populations have reached unrealistic values (such as a population becoming negative due to the unbounded nature of the Poisson variable K j {\displaystyle K_{j}} ). Repeat from Step 2 onwards until some desired condition is met (e.g. a particular state variable reaches 0, or time t 1 {\displaystyle t_{1}} is reached).
… excerpt ends here. Continue reading the full article.
