stochastic_sib_model {NetOrigin} | R Documentation |
Stochastic SIB model for infected cases simulation
Description
stochastic_sib_model
Stochastic SIB model for infected cases simulation
Usage
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
Author(s)
Jun Li
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.
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)