Wraps an observation model with a reporting delay, convolving the latent infections with a delay distribution. This is used to model delays between infection and observation (e.g., incubation period, reporting delays).

LatentDelay(model, delay_distribution)

Arguments

model

An observation model object (e.g., from NegativeBinomialError).

delay_distribution

Distribution specification for the delay. Can be any continuous distribution that will be discretized.

Value

An S3 object of class c("epiaware_delay", "epiaware_observation", "epiaware_model") containing:

julia_ref

Reference to the Julia LatentDelay object

base_model

The wrapped observation model

spec

List of model specifications

Examples

if (FALSE) { # \dontrun{
# Add incubation and reporting delays to observation model
negbin <- NegativeBinomialError(halfnorm(0.1))

# Add incubation delay
incubation_model <- LatentDelay(
  negbin,
  delay_distribution = lognorm(1.6, 0.42)
)

# Add reporting delay
full_model <- LatentDelay(
  incubation_model,
  delay_distribution = lognorm(0.58, 0.47)
)
} # }