This app allows you to explore a model that tracks the same compartments as the Characteristics of ID model. If you haven’t yet explored the Characteristics of ID model, I suggest you try out that one first. The model for this app adds a few more processes. It includes natural births and deaths of hosts, seasonal variation in transmission, and waning immunity.
Read about the model in the “Model” tab. Then do the tasks described in the “What to do” tab.
This model has the same compartments as the Characteristics of ID model:
We include the following processes in this model:
Note that we only track people that die due to the disease in our \(D\) compartment. All hosts dying due to other causes just “exit the system” and we don’t further keep track of them (though we could add another compartment to “collect” and track all individuals who died from non-disease-related causes.)
The flow diagram and equations describe the model implemented in this app:
Flow diagram for this model.
\[b_P^s = b_P(1+s \sin(2\pi t / T))\] \[b_A^s = b_A(1+s \sin(2\pi t /T))\] \[b_I^s = b_I(1+s \sin(2\pi t /T))\] \[\dot S = m - S (b_P^s P + b_A^s A + b_I^s I) + wR - n S \] \[\dot P = S (b_P^s P + b_A^s A + b_I^s I) - g_P P - n P\] \[\dot A = f g_P P - g_A A - n A\] \[\dot I = (1-f) g_P P - g_I I - n I \] \[\dot R = g_A A + (1-d) g_I I - wR - n R\] \[\dot D = d g_I I \]
Since we do not track people dying due to non-disease causes, all the “n - arrows” are not pointing to another compartment, instead of those individuals just “leave the system”. Similarly new susceptibles enter the system (are born) from “outside the system”.
Also note that the transmission rates, bI, can be time varying as described above. The parameter T is set depending on the time units chosen for the model. For example if you want to run the model in units of days, the underlying simulation code will set T=365, similarly, for weeks it will be T=52. This ensures that the seasonal variation always has a period of a year.
The tasks below are described in a way that assumes everything is in units of MONTHS (rate parameters, therefore, have units of inverse months). If any quantity is not given in those units, you need to convert it first (e.g. if it says a year, you need to convert it to 12 months).
Some of the simulations might take a few seconds to run. Be patient.
\[\dot S = m - b_I IS - n S \] \[\dot I = b_I SI - g_I I - n I \] \[\dot R = g_I I - n R\]
Let’s compare the model simulations with the equations you found. Substitute the parameter values from the task above into the equations and confirm that you get the approximately the same results as you get from running the model to steady state.
simulate_idpatterns_ode
. You can call them directly, without going through the shiny app. Use the help()
command for more information on how to use the functions directly. If you go that route, you need to use the results returned from this function and produce useful output (such as a plot) yourself.vignette('DSAIDE')
into the R console.Altizer, Sonia, Andrew Dobson, Parviez Hosseini, Peter Hudson, Mercedes Pascual, and Pejman Rohani. 2006. “Seasonality and the Dynamics of Infectious Diseases.” Ecology Letters 9 (4): 467–84. https://doi.org/10.1111/j.1461-0248.2005.00879.x.
Dowell, S F. 2001. “Seasonal Variation in Host Susceptibility and Cycles of Certain Infectious Diseases.” Emerging Infectious Diseases 7 (3): 369–74. https://doi.org/10.3201/eid0703.010301.
Keeling, Matt J, and Pejman Rohani. 2008. Modeling Infectious Diseases in Humans and Animals. Princeton University Press.
Vynnycky, Emilia, and Richard White. 2010. An Introduction to Infectious Disease Modelling. Oxford University Press.