# Simulate Point-Source Epidemics

`sim.pointSource.Rd`

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.

## Usage

```
sim.pointSource(p = 0.99, r = 0.01, length = 400, A = 1,
alpha = 1, beta = 0, phi = 0, frequency = 1, state = NULL, K)
```

## Arguments

- 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.

`length`

is ignored if`state`

is given. In this case the length of`state`

is used.- 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 weigth for an outbreak which influences the distribution parameter mu, default = 0.

## Value

a `disProg`

(disease progress) object including a list of the
observed, the state chain and nearly all input parameters.

## Examples

```
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
```