EMULSION Manual¶
Framework EMULSION is intended for modellers in epidemiology, to help them design, simulate, and revise complex mechanistic stochastic models, without having to write or rewrite huge amounts of code.
It comes with a Domain-Specific Language to represent all components of epidemiological models (assumptions, model structure, parameters…) in an explicit, intelligible and revisable way, and thus facilitate interactions with other scientists (biologists, veterinarians, economists…) throughout the modelling process. EMULSION models are automatically processed by a modular simulation engine, which, if needed, can also incorporate small code add-ons for representing very specific features of a model (Fig. 1).
Models can use classical modelling paradigms (compartments, individual-based models, metapopulations) and multiple scales (from individuals to metapopulations), thanks to recent research in Artificial Intelligence (see Information).
Table of contents¶
- 1. Information
- 2. Installation
- 3. Getting started with EMULSION
- 4. Modelling principles
- 5. Modelling language (basics)
- 6. Modelling language (advanced)
- 6.1. Compartments, IBM or hybrid models?
- 6.2. Master state machines
- 6.3. Design prototypes for typical individuals or populations
- 6.4. Regulate time
- 6.5. Complexify grouping
- 6.6. Aggregate variables
- 6.7. Automatic variables
- 6.8. Built-in functions
- 6.9. Built-in actions
- 6.10. Changing scale: metapopulations
- 6.11. Connecting to Python code add-ons
- 6.12. Using pre-processors
- 7. Feature examples
- 7.1. SIR model
- 7.2. SEIRS model
- 7.3. SIRS model with periodic external risk
- 7.4. Custom state durations
- 7.5. SIR model with basic demography (births/deaths)
- 7.6. SIR model with age groups
- 7.7. SIR model with age groups and random initialization
- 7.8. SIR model with age groups and data-based prototypes
- 7.9. SIR model with cumulative incidence
- 7.10. SIR model with individual actions and variable aggregation
- 7.11. SIR model with age groups and explicit age
- 7.12. SIR model with explicit gestation
- 7.13. SIR model with structured population
- 7.14. SIR model with metapopulation
- 7.15. SIR model with metapopulation, data-driven movements and data pre-processing
- 8. Release notes
- 9. License
- 10. High-level functions for model designers
- 10.1. Functions Available for Models
AND()
DIV()
Eq()
GreaterThan()
IfThenElse()
LessThan()
MAX()
MIN()
OR()
ROUND()
StrictGreaterThan()
StrictLessThan()
random_beta()
random_bool()
random_choice()
random_choice_weighted()
random_exponential()
random_gamma()
random_integers()
random_multinomial()
random_normal()
random_poisson()
random_uniform()
- 10.2. Rates / probabilities
- 10.3. Computations
- 10.4. Selecting agents
- 10.5. Durations
- 10.6. Agent State and Variable Changes
- 10.7. Introspection
- 10.1. Functions Available for Models
- 11. emulsion package