Models for the unobserved infection process. Each carries its own latent process: the log reproduction number for Renewal(), the log growth rate for ExpGrowthRate(), and log infections for DirectInfections(). Each wraps the constructor of the same name in ComposableTuringIDModels.jl. NULL arguments use the Julia default, and delta_d is the discretisation width Julia spells with a Greek delta.

Renewal(
  generation_time,
  rt = NULL,
  initialisation = NULL,
  transformation = NULL,
  D_gen = NULL,
  delta_d = NULL
)

DirectInfections(Z = NULL, initialisation = NULL, transformation = NULL)

ExpGrowthRate(rt = NULL, initialisation = NULL, transformation = NULL)

Arguments

generation_time

The generation interval: a continuous distribution (discretised in Julia with double interval censoring), or a numeric probability vector whose first entry is a delay of one day. A NonParametric() or Fixed() distribution is discretised in R, and its zero-day mass is dropped and the rest renormalised, as Julia does when it discretises a continuous distribution. Uncertain parameters give an inferred generation interval.

rt

Latent model for the log reproduction number (Renewal()) or the growth rate (ExpGrowthRate()). A distribution gives a constant value.

initialisation

Prior for initial infections on the log scale.

transformation

A julia() function mapping the latent scale to infections.

D_gen

Numeric. Maximum generation interval used when discretising a distribution, taken from the distribution's max when it has one.

delta_d

Numeric. Discretisation interval width.

Z

Latent model for log infections.

Value

An object of class julia_infection.

Examples

Renewal(
  generation_time = Gamma(shape = 6.5, scale = 0.62),
  rt = AR(),
  initialisation = Normal(log(1), 0.1)
)
#> <julia infection spec>
#> Renewal(;
#>     generation_time = Gamma(6.5, 0.62),
#>     rt = AR(),
#>     initialisation = Normal(0.0, 0.1)
#> )

DirectInfections(Z = RandomWalk(), initialisation = Normal(log(100), 1))
#> <julia infection spec>
#> DirectInfections(;
#>     Z = RandomWalk(),
#>     initialisation = Normal(4.6051701859880918, 1.0)
#> )