This is a (currently draft) syllabus for a workshop on using macpan2
for applied public health modelling.
(Note: I highlight areas that cannot be finalized yet, with notes like this)
Steve Walker – swalk@mcmaster.ca – github.com/stevencarlislewalker
We assume that workshop participants are epidemiological/disease modellers who use, or want to use, compartmental models to address public health issues. The material is specifically tailored to such modellers at the Public Health Agency of Canada.
Participants should be comfortable with the following.
Details on how to prepare for the workshop are covered here.
The macpan2
package is a flexible compartmental modelling tool that has been optimized for fast calibration to data. This package grew out of lessons learned developing the McMasterPandemic COVID-19 model, which was used to support public health during the pandemic.
Applied compartmental modelling is a big topic. The following activities describe the aspects of this topic for which macpan2
is designed.
We stress the importance of data and other factual inputs, including expert opinions, into the modelling process. We are concerned with modelling specific real-world problems, and so none of these activities should be too abstract.
Starting with exploration, and then iterating within the following model refinement cycle, is a good default workflow for applied public health compartmental modelling projects.
graph LR;
Exploration-->Parameterization;
Parameterization-->Inference;
Inference-->Stratification;
Stratification-->Exploration;
In this cycle, exploration often clarifies if our existing parameter values need refinement. In turn, parameterization refines a model so that it can be used to make defensible inferences in a specific context. Such inferences can raise questions about whether a model should be stratified to make it more realistic. Finally, stratification can create new model behaviours that may require further exploration, starting the cycle over again.
We have learned from our experience in applied public health modelling that it is better to complete each iteration of this cycle as quickly as possible, rather than trying to produce the perfect model outright. Keeping the scope of each step as limited as possible, or even skipping steps if they are not a priority, is useful for avoiding analysis paralysis. Every time we get back to the inference step we have another chance of providing valuable inputs to a public health debate, and so we want to do this as often as possible.
The final stratification step will increase model complexity, which has both advantages and disadvantages. Therefore, complexity will tend to increase as a modelling project iterates through the cycle. Starting with a simple model will help ensure that the project converges on an appropriate level of complexity. Sometimes it is worth resetting the cycle by starting again with a simpler model.
We will use this model refinement cycle to provide context when concepts are introduced in the workshop. The instructor will take a modelling example through one cycle during the workshop (Note: The example that we will use needs to be discussed as the contract proceeds). Participants will be given time to try some of these techniques on their own models that they have come prepared with.
The overall goal of the workshop is to train epidemiological modellers to use macpan2
software in their efforts to use compartmental modelling to support public health. Each session will cover techniques associated with one step in the model refinement cycle.
There will not be enough time in the workshop to cover all of macpan2
, so there will be a companion set of online materials that will cover all of the options available to modellers. In the workshop, we will follow one example through one full iteration of the model refinement cycle. Variations on each skill that is covered will be described in the companion material. Where applicable, the lists of workshop objectives link to lists of these variations.
Participants will learn how to do the following types of tasks required for exploring model simulations.
macpan2
library of starter models.macpan2
simulation output, both visually and numerically.Participants will learn how to do the following types of tasks required for parameterizing models for making inferences about a particular population and public health problem.
S
, I
) so that they can be optimized.Participants will learn how to do the following types of tasks that are often necessary when making inferences using realistically parameterized models.
Participants will learn the following stratification strategies.
(Note: This section will not be in the final syllabus, but I’ve put it in the draft to give an idea of what the companion materials will contain once they are produced in a subsequent milestone.)
The companion material will describe each of the following starter models. Although every emerging pathogen has a unique set of characteristics, there typically exist disease models that can serve as starting points in a crisis situation. The macpan2
library of candidate models includes a variety of pathogens that cover the range of likely characteristics for emerging threats (Note: Currently this is a placeholder list, which will be finalized using PHAC input in a subsequent milestone. Still, suggestions as soon as possible would be great).
The companion material will describe how to prepare the following types of data for comparisons with model simulations, either for exploration or parameterization.
The companion material will describe how to make the following modifications, or to quickly find and use instructions for making them.
The companion material will describe how to compute the following epidemiological model summaries.
The companion material will describe how to cast an existing model as one of the following types of dynamical models.
The companion material will describe how to use the following techniques to calibrate observed data using trajectory matching.
The companion material will describe how to calibrate the initial values of the state variables using the following approaches.
N
(e.g., initializing S
as N
minus the initial sum of the infectious and exposed classes).R
, by the time data collection started).The companion material will describe the following types of stratification with Cartesian product models.
The companion material will describe the following types of stratification of infectious compartments.
After participating in the workshop, modellers will be able to do the following.
macpan2
to create a compartmental model for a real public health problem by following the model refinement cycle.macpan2
is able to solve.macpan2
.(Note: This is just a suggested schedule for now. We will likely break this up into several days. We will also explicitly target two types of users in the schedule: (1) those who want to translate a model diagram into simulations and (2) those who want to dig into the details of optimization, ODE solvers, etc.)
Time | Activity |
---|---|
8:00-9:00 | Registration and Breakfast |
9:00-9:15 | Welcome and Introduction |
9:15-10:30 | Session 1: Exploration |
10:30-10:45 | Break |
10:45-12:00 | Session 2: Parameterization |
12:00-1:00 | Lunch |
1:00-2:15 | Session 3: Inference |
2:15-2:30 | Break |
2:30-3:45 | Session 4: Stratification |
3:45-4:00 | Break |
4:00-5:15 | Session 5: Open Discussion |
5:15-5:30 | Wrap-up and Closing Remarks |
Participants must take the following steps to prepare for the workshop.
macpan2
using these instructions.dplyr
, ggplot2
, tidyr
, broom.mixed
).macpan2
hello world programme.If you have any issues with these steps, please contact the instructor as soon as possible.
Participants should take the following steps to prepare for the workshop.
R
with which macpan2
is designed to work.Participants could take the following steps to prepare for the workshop.
Although participants familiar with R will be more comfortable with the material, familiarity will not be assumed. ↩
Deep technical knowledge is not required. We will briefly review some statistical concepts, including prediction intervals, parameter estimates, likelihood functions, and prior distributions, so that everyone is on the same page. ↩