Validity of Markovian modeling for transient memory-dependent epidemic dynamics

Time Point Number

Time Step

Infection Time Distribution \(\psi_{\mathrm{inf}}(\tau)\)

Removal Time Distribution \(\psi_{\mathrm{rem}}(\tau)\)

Maximum Eigenvalue \(\Lambda_{\mathrm{max}}\)

Tinf: 1, Trem: 1, Tgen: 1

R0: 1

\(g\): 1

Average Generation Time \(T_{\mathrm{gen}}\)

Average Removal Time \(T_{\mathrm{gen}}\)

Basic Reproduction Number \(R_0\)


For comprehensive details about our work, please refer to our paper available at arXiv:2306.16864. The latex version (including Supplementary Information) can be downloaded via Source (note: append the ".zip" extension to the end of the file name in order to transform it into a zip package. Once it's unzipped, you will find the LaTeX files for Maintext in the primary directory and those for Supplementary Information within the "auc" subfolder), while the pdf version (including Supplementary Information) is available for download at Link. And all the code related to our work can be accessed at GitHub repository.

This app demonstrates the diverse generation time distribution patterns resulting from various infection and removal time distributions, each with different parameters.

Furthermore, it provides a user-friendly methodology to assess the potential underestimation or overestimation of memory-dependent epidemic dynamics through the implementation of Markovian modeling.

Here, we offer a detailed description of each input parameter used in the app and further explanation of the results.


In epidemic dynamics, the infectivity of an infected individual can be characterized by the infection time distribution, denoted as \(\psi_{\mathrm{inf}}(\tau)\). Here, \(\tau\) represents the elapsed time between the individual's infection and the current time. The probability of an infection event occurring within the time interval \([\tau, \tau+d\tau)\) is given by \(\psi_{\mathrm{inf}}(\tau)d\tau\).

Similarly, the removal process is described by the removal time distribution, \(\psi_{\mathrm{rem}}(\tau)\). It represents the probability of a removal event happening within the time interval \([\tau, \tau + d\tau)\).

These time distributions for the infection and removal processes incorporate memory effects and are general in nature. The exponential distributions associated with memoryless processes are a special case of the broader class of memory-dependent processes.

In the Distribution tab, we visualize the infection and removal time distributions (\(\psi_{\mathrm{inf}}(\tau)\) and \(\psi_{\mathrm{rem}}(\tau)\)) along with their respective hazard functions (\(\omega_{\mathrm{inf}}(\tau)\) and \(\omega_{\mathrm{rem}}(\tau)\)) and survival functions (\(\Psi_{\mathrm{inf}}(\tau)\) and \(\Psi_{\mathrm{rem}}(\tau)\)). This provides a comprehensive overview of the statistical characteristics of the time durations involved in the epidemic dynamics.

In details, the survival function can be calculated by:

\(\Psi(\tau) = \int_{\tau}^{+\infty}{\psi(\tau')d\tau'}\),

where \(\Psi(\tau)\) can be either \(\Psi_{\mathrm{inf}}(\tau)\) or \(\Psi_{\mathrm{rem}}(\tau)\), while \(\psi(\tau)\) can be either \(\psi_{\mathrm{inf}}(\tau)\) or \(\psi_{\mathrm{rem}}(\tau)\).

The hazard function can be calculated by:

\(\omega(\tau) = \frac{\psi(\tau)}{\Psi(\tau)}\),

where \(\omega(\tau)\) can be either \(\omega_{\mathrm{inf}}(\tau)\) or \(\omega_{\mathrm{rem}}(\tau)\).

Meanwhile, the generation time distribution \(\psi_{\mathrm{gen}}(\tau)\) could be calculated as follows:

\(\psi_{\mathrm{gen}}(\tau) = \frac{\omega_{\mathrm{inf}}(\tau)\Psi_{\mathrm{rem}}(\tau)}{\int_{0}^{+\infty}{\omega_{\mathrm{inf}}(\tau')\Psi_{\mathrm{rem}}(\tau')d\tau'}}\).

\(T_{\mathrm{inf}}\), \(T_{\mathrm{rem}}\) and \(T_{\mathrm{gen}}\) represent the the mean values of \(\psi_{\mathrm{inf}}(\tau)\), \(\psi_{\mathrm{rem}}(\tau)\) and \(\psi_{\mathrm{gen}}(\tau)\), respectively.

The basic reproduction number \(R_0\) can be calculated by:

\(R_0 = \Lambda_{\mathrm{max}}\int_{0}^{+\infty}{\omega_{\mathrm{inf}}(\tau)\Psi_{\mathrm{rem}}(\tau)d\tau}\).

And the growth rate \(g\) satisfies:

\(1 = R_0\int_{0}^{+\infty}{e^{-g\tau}\psi_{\mathrm{gen}}(\tau)d\tau}\).

When \(T_{\mathrm{gen}} = T_{\mathrm{rem}}\), the transient-state equivalence can be achieved. In this case, the infection rate (\(\gamma\)) and the removal rate (\(\mu\)), which are represented by the bar chart, can be calculated using the following expressions:

\(\gamma = \frac{gR_0}{\Lambda_{\mathrm{max}}(R_0 - 1)}\),
\(\mu = \frac{g}{R_0 - 1}\),

where \(\Lambda_{\mathrm{max}}\) is the maximum eigenvalue of \(kA\circ p\), \(k\) is a parameter to adjust the overall contacts, \(A\) denotes the contact matrix, and \(p\) represent the population distribution.

The user has the flexibility to adjust the following input parameters in the app:

  • Time Point Number: this parameter determines the number of time points in each figure. It allows the user to control the level of detail in the visual representation;
  • Time Step: by adjusting the time step, the user can determine the calculation accuracy and define the total time duration covered by the data;
  • Distribution Form: the app offers three distribution forms for modeling infection and removal times: Weibull, gamma, and log-normal;
  • Parameters (\(\alpha_{\mathrm{inf}}\), \(\beta_{\mathrm{inf}}\)) and (\(\alpha_{\mathrm{rem}}\), \(\beta_{\mathrm{rem}}\)): the subscripts "inf" and "rem" correspond to the parameters of the infection and removal time distributions, respectively; \(\alpha\) and \(\beta\) represent different parameters in the time distributions;
  • Maximum Eigenvalue \(\Lambda_{\mathrm{max}}\).

For Weibull distribution, it follows:

\(\psi(\tau) = \frac{\alpha}{\beta}(\frac{\tau}{\beta})^{\alpha-1}e^{(\frac{\tau}{\beta})^{\alpha}}\).

For gamma distribution, it follows:

\(\psi(\tau) = \frac{1}{\Gamma(\alpha)\beta^\alpha}\tau^{\alpha-1}e^{-\frac{\tau}{\beta}}\).

where \(\Gamma(\cdot)\) denotes gamma function.

For log-normal distribution, it follows:

\(\psi(\tau) = \frac{1}{\tau\beta\sqrt{2\pi}}\exp(-\frac{(\ln\tau - \alpha)^2}{2\beta^2})\).


In the "Rectification" tab, we utilize the average generation and removal times from memory-dependent epidemic dynamics to adjust the estimations of various metrics derived from Markovian modeling. These metrics include the basic reproduction number, steady-state infected fraction of each age group, and total steady-state infected fraction. To compute the steady state using \(R_0\), certain inputs are necessary, such as the contact matrix, age distribution, and initial infected fraction.

There are two options available for the input: default and customized. In the "Default Input" selection, the contact matrix and age distribution are derived from data specific to the USA 1, 2. The population is divided into eight groups based on age categories. Additionally, the user is required to input the initial infected fraction using one of three selections:

  • Random: In this option, the initial infected fraction for each age group is assigned a random number between 0 and the input number;
  • Identical: With this choice, the initial infected fraction for each age group is set to the input number;
  • Customized: Users can personalize the initial infected fraction values for each age group.

In the "customized" selection, users have the option to upload an xlsx file to personalize the contact matrix (1st sheet), age distribution (2nd sheet), and initial infected fraction (3rd sheet). It's important to ensure that the contact matrix is symmetrical. Users can also download a template in the desired format (.xlsx) to assist with the customization process.

By utilizing the slider bars, users can make adjustments to the values of the average generation and removal times, \(T_{\mathrm{gen}}\) and \(T_{\mathrm{rem}}\), as well as the value of \(R_0\).

In the figure area, the first row displays the contact matrix, age distribution, and initial infected fraction respectively. The second row illustrates the comparison between the Markovian estimation and the rectification results for \(R_0\), steady-state infected fraction of each age group, and total steady-state infected fraction.

Based on Eq. (15), the rectified \(R_0\) can be calculated by:

\(R_0 = (\hat{R}_0)^{\eta^a}\),

where \(\hat{R}_0\) denotes the Markovian-estimated basic reproduction number, \(\eta = T_{\mathrm{gen}}/T_{\mathrm{rem}}\), \(a\) is a constant equal to 1.55.

Meanwhile, the steady-state infected fraction of each age group \(\tilde{c}_l\) satisfies:

\(1 - \tilde{c}_l = \acute{s}_l e^{-\frac{R_0}{\Lambda_{\mathrm{max}}}\sum_{m=0}^{n}{kA_{lm}p_m[\tilde{r}_m-\acute{r}_m]}}\).

Because \(\Lambda_{\mathrm{max}} / k\) represents the largest eigenvalue of \(A\circ p\), we do not consider the impact of \(k\).

The total cumulative infected fraction at steady state, \(\tilde{c}\), can be calculated by:

\(\tilde{c} = \sum_{l=0}^{n}{\tilde{c}_lp_l}\).


  1. Prem, K., Cook, A. R. & Jit, M. Projecting social contact matrices in 152 countries using contact surveys and demographic data. PLoS Comput. Biol. 13, e1005697 (2017).
  2. United Nations, Department of Economic and Social Affairs, Population Division. World population prospects 2019 (2021). Accessed on 29 June 2021.


This app is created and maintained by Mi Feng. For any questions or bug reports, please contact us via email at

The study authors are Mi Feng1, 2, Liang Tian2, 3*, Ying-Cheng Lai4, 5, and Changsong Zhou1,2,3*


1 Department of Physics, Hong Kong Baptist University, Kowloon Tong, Hong Kong SAR 999077, China

2 Centre for Nonlinear Studies and Beijing-Hong Kong-Singapore Joint Centre for Nonlinear and Complex Systems (Hong Kong), Hong Kong Baptist University, Kowloon Tong, Hong Kong SAR 999077, China

3 Institute of Computational and Theoretical Studies, Hong Kong Baptist University, Kowloon Tong, Hong Kong SAR 999077, China

4 School of Electrical, Computer and Energy Engineering, Arizona State University, Tempe, AZ 85287, USA

4 Department of Physics, Arizona State University, Tempe, Arizona 85287, USA