View source: R/sim_pointSource.R
sim.pointSource | R Documentation |
Simulation of epidemics which were introduced by point sources.
The basis of this programme is a combination of a Hidden Markov Model
(to get random timepoints for outbreaks) and a simple model
(compare sim.seasonalNoise
) to simulate the baseline.
sim.pointSource(p = 0.99, r = 0.01, length = 400, A = 1,
alpha = 1, beta = 0, phi = 0, frequency = 1, state = NULL, K)
p |
probability to get a new outbreak at time i if there was one at time i-1, default 0.99. |
r |
probability to get no new outbreak at time i if there was none at time i-1, default 0.01. |
length |
number of weeks to model, default 400. |
A |
amplitude (range of sinus), default = 1. |
alpha |
parameter to move along the y-axis (negative values not allowed) with alpha > = A, default = 1. |
beta |
regression coefficient, default = 0. |
phi |
factor to create seasonal moves (moves the curve along the x-axis), default = 0. |
frequency |
factor to determine the oscillation-frequency, default = 1. |
state |
use a state chain to define the status at this timepoint (outbreak or not). If not given a Markov chain is generated by the programme, default NULL. |
K |
additional weight for an outbreak which influences the distribution parameter mu, default = 0. |
a disProg
(disease progress) object including a list of the
observed, the state chain and nearly all input parameters.
M. Höhle, A. Riebler, C. Lang
sim.seasonalNoise
set.seed(123)
disProgObj <- sim.pointSource(p = 0.99, r = 0.5, length = 208,
A = 1, alpha = 1, beta = 0, phi = 0,
frequency = 1, state = NULL, K = 2)
plot(disProgObj)
## with predefined state chain
state <- rep(c(0,0,0,0,0,0,0,0,1,1), 20)
disProgObj <- sim.pointSource(state = state, K = 1.2)
plot(disProgObj)
## simulate epidemic, send to RKI 1 system, plot, and compute quality values
testSim <- function (..., K = 0, range = 200:400) {
disProgObj <- sim.pointSource(..., K = K)
survResults <- algo.call(disProgObj,
control = list(list(funcName = "rki1", range = range)))
plot(survResults[[1]], "RKI 1", "Simulation")
algo.compare(survResults)
}
testSim(K = 2)
testSim(r = 0.5, K = 5) # larger and more frequent outbreaks
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.