Modelling and Simulation
For engineers and scientists who model dynamic systems.
What you will be able to do
- Write dynamical models as ordinary differential equations (ODEs) and solve them numerically, and check the results against analytic solutions.
- Find the equilibria of a system and analyse their local stability, by hand and symbolically.
- Model systems in discrete time with recurrence equations, and find their fixed points.
- Simulate discrete-time stochastic processes, and speed the simulations up.
- Simulate continuous-time stochastic systems with the Gillespie algorithm, and compare them with the deterministic model.
- Fit a model to data with maximum likelihood.
Prerequisites
Python experience, including NumPy, and basic calculus.
Outline
Duration: 1–2 days, on-site or remote, with exercises.
Six sessions. The worked examples come from ecology, epidemiology and evolution, and the methods apply to any dynamical system.
- Continuous-time models: ODEs for growth
- Systems of ODEs: equilibria and local stability
- Discrete-time models: recurrence equations and their fixed points
- Discrete-time stochastic simulation, from pure Python to fast code
- Continuous-time stochastic simulation: the Gillespie algorithm
- Fitting models to data: maximum likelihood estimation
Sample materials
- Population growth models
- Predator-prey model: ODEs and stability
- Discrete-time models: haploid selection
- Stochastic discrete-time models: Wright-Fisher
- Continuous-time stochastic model: SIR and the Gillespie algorithm
- Maximum likelihood estimation
More in yoavram/ModelsPopBiol.
Related workshops
Contact
Tell me about your team and what you would like them to be able to do. A few lines are enough to start; I will reply to set up a scoping call.
Email Yoav yoav@yoavram.com