Constructs a renewal process model for infections, where new infections arise from previous infections weighted by a generation time distribution. This implements the renewal equation I_t = R_t * sum(g_s * I_{t-s}).

Renewal(gen_distribution, initialisation_prior = NULL)

Arguments

gen_distribution

Distribution specification for the generation time (or serial interval). Can be any continuous distribution that will be discretized using double interval censoring.

initialisation_prior

Optional distribution specification for the initial infection level (on log scale). If NULL, uses a default prior.

Value

An S3 object of class c("epiaware_renewal", "epiaware_epi", "epiaware_model") containing:

julia_ref

Reference to the Julia Renewal object

spec

List of model specifications

See also

epiaware_call for accessing other infection models

Examples

if (FALSE) { # \dontrun{
# Renewal model with Gamma generation time (Mishra et al. 2020)
renewal <- Renewal(
  gen_distribution = gamma_dist(6.5, 0.62),
  initialisation_prior = norm(log(1.0), 0.1)
)
print(renewal)

# For advanced features, use the generic wrapper
# to access newer EpiAware infection models
custom_model <- epiaware_call("NewInfectionModel", param1 = ...)
} # }