Description Usage Arguments Value Author(s) See Also Examples
This function simulates TSIR models using both the basic gravity model and the gravity model with duration for
each stochastic realization of the estimated model parameters (lambda, pi, rho, tau). The function runs the N.sim1
level
simulations in parallel and the N.sim2
level simulations sequentially.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
N |
Vector giving the population size of each district |
D |
Distance matrix |
B |
Estimated parameters from basic gravity model |
R |
Estimated parameters from gravity model with duration |
lambda |
Estimated parameters from trip duration decay model (lambda), processed by the |
prop.leave |
Observed proportion individuals leaving origin at time t in trip duration data |
prop.remain |
Observed proportion of individuals remaining in destination j |
beta |
Transmission rate |
gamma |
Recovery rate |
I.0 |
Vector giving number of infected individuals in each district at time 0 |
N.sim1 |
Number of times to simulate matrices of model parameters (lambda, pi, tau, rho) |
N.sim2 |
Number of times to simulate epidemic outcomes under each realization of model parameters (lambda, pi, tau, rho; default = 100) |
max.t |
Maximum number of generations (default = 100) |
freq.dep |
Logical indicating frequency ( |
parallel |
Logical indicating whether to initiate the cluster within |
n.cores |
Number of cores to use when running in parallel |
gen.t |
Pathogen generation time (days) |
a list containing simulations using the basic gravity model and the gravity model with duration
John Giles
Other simulation:
calc.hpd()
,
calc.prop.inf()
,
calc.prop.remain()
,
calc.timing.magnitude()
,
calc.wait.time()
,
decay.func()
,
get.age.beta()
,
get.beta.params()
,
sim.TSIR()
,
sim.combine.dual()
,
sim.combine()
,
sim.gravity.duration()
,
sim.gravity()
,
sim.lambda()
,
sim.pi()
,
sim.rho()
,
sim.tau()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | # Duration data for the purpose of subsetting districts
y.route <- load.obj(3, './data/duration_data_arrays_1day_full.Rdata') # y.month, y.route
y.route <- get.subsamp(y.route, min.locations=30, min.samp=20)
D <- load.obj(1, './data/distance_matrix_named.rdata') # distance.matrix
N <- load.obj(1, './data/N_pop.rdata')
B <- load.obj(2, './output/gravity_model_basic_nogamma.Rdata')
R <- load.obj(2, './output/gravity_model_duration_multialpha_nogamma_meanbasic.Rdata')
load('./output/decay_1day_62dists_summary.Rdata') # mod.decay # Decay model parameters (Lambda)
load('./output/prop_remain_6pathogens_62dists_subsamp100.Rdata') # prop.remain # proportion individuals remaining for full generation for each pathogen generation
load('./data/prop_leave.rdata') # prop.leave # observed proportion individuals leaving origin at time t in trip duration data
districts.all <- dimnames(D)[[1]] # full set of district names
districts <- attributes(y.route)$dimnames$origin # subset of 62 districts
n.districts <- length(districts)
tmp <- districts.all %in% districts
D <- D[tmp, tmp]
N <- N[names(N) %in% districts]
prop.leave <- prop.leave[,dimnames(prop.leave)$origin %in% districts]
lambda <- get.param.vals(n.districts=n.districts, name='lambda', level='route', stats=mod.decay)
params <- list(
influenza=data.frame(pathogen='influenza', beta=1.5, gamma=0.75, gen=3, yrs=0.6)
)
pathogen <- 'influenza'
intro.district <- 42
I.0 <- rep(0, n.districts)
I.0[which(districts == intro.district)] <- 1 # introduction
t <- Sys.time()
sim <- sim.TSIR.full(
N=N, # Vector giving the population size of each district
D=D, # Distance matrix
lambda=lambda, # Decay model parameters (Lambda)
B=B, # Gravity model with duration
R=R, # Basic gravity model
prop.leave=prop.leave, # observed proportion individuals leaving origin at time t in trip duration data
prop.remain=prop.remain[[which(names(prop.remain) == pathogen)]], # bserved proportion of individuals remaining in destination j
beta=params[[pathogen]]$beta, # Transmission rate
gamma=params[[pathogen]]$gamma, # Recovery rate
gen=params[[pathogen]]$gen, # Pathogen generation time
I.0=I.0, # Vector giving number of infected individuals in each district at time 0
N.sim1=5, # Number of times to simulate matrices of model parameters (lambda, pi, tau, rho)
N.sim2=5, # Number of times to simulate epidemic outcomes under each realization of model parameters
max.t=ceiling((365*params[[pathogen]]$yrs)/params[[pathogen]]$gen), # Maximum number of generations
parallel=TRUE,
n.cores=n.cores
)
Sys.time() - t
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.