stochastic_sib_model Stochastic SIB model for infected cases simulation

stochastic_sib_model(
  mu,
  beta,
  rho,
  sigma,
  gamma,
  alpha,
  mu_B,
  m = 0.3,
  theta,
  nnodes,
  POP_node,
  fluxes,
  time_sim,
  y0
)

Arguments

mu

population natality and mortality rate (day^-1)

beta

contact rate

rho

immunity loss rate (day^-1)

sigma

symptomatic ratio, i.e., fraction of infected people that develop symptoms and are infective. (The remaining fraction enters directly the recovered compartment.)

gamma

rate at which people recover from cholera (day^-1)

alpha

cholera induced mortality rate (day^-1)

mu_B

death rate of V.cholerae in the aquatic environment (day^-1)

m

parameter for infection force, default value is 0.3

theta

contamination rate

nnodes

number of nodes/cities

POP_node

vector, length represents number of cities/nodes; vector represents population at each node

fluxes

matrix, number of nodes x number of nodes where each row contains the probabilities a person travels from the given city (by Row Index) to another city (by Column Index).

time_sim

time steps for simulation, e.g., seq(0, 100, 0.1)

y0

initial condition for stochastic_sib_model, output of 'initial_condition_sib_model'

Value

a matrix, nnodes x number of time steps, representing number of new cases at each node, each time step

References

Li, J., Manitz, J., Bertuzzo, E. and Kolaczyk, E.D. (2020). Sensor-based localization of epidemic sources on human mobility networks. arXiv preprint Available online: https://arxiv.org/abs/2011.00138.

Author

Jun Li

Examples

set.seed(2020) popu <- rep(20000, 10) sigma <- 0.05 mu_B <- 0.2 theta_max <- 16 theta <- runif(10, 0.1, 0.9) * theta_max y0 <- initial_condition_sib_model(popu, sigma, mu_B, theta, c(3)) time_sim <- seq(0, 1, by=0.1) mu <- 4e-05 beta_max <- 1 rho <- 0 beta <- runif(10, 0.1, 0.9) * beta_max gamma <- 0.2 alpha <- 0 humanmob.mass <- matrix(runif(100, 0.1, 0.9), 10, 10) diag(humanmob.mass) <- 0 for (j in 1:10) { humanmob.mass[j, ] <- humanmob.mass[j, ]/sum(humanmob.mass[j, ]) } simu.list = stochastic_sib_model(mu = mu, beta = beta, rho = rho, sigma = sigma, gamma = gamma, alpha = alpha, mu_B = mu_B, theta = theta, nnodes = 10, POP_node = popu, fluxes = humanmob.mass, time_sim = time_sim, y0 = y0)