Skip to contents

Maps a named uncertainty model to the corresponding fit and sample functions for use with baselinenowcast::baselinenowcast().

Usage

get_uncertainty_fns(model_name)

Arguments

model_name

Character. One of "negative_binomial", "normal", or "skellam".

Value

A named list with two elements:

  • uncertainty_model: A function for fitting uncertainty parameters

  • uncertainty_sampler: A function for sampling from the fitted model

Examples

# Get normal distribution functions
fns <- get_uncertainty_fns("normal")
fns$uncertainty_model
#> function (obs, pred) 
#> {
#>     baselinenowcast::fit_by_horizon(obs, pred, fit_model = fit_normal)
#> }
#> <bytecode: 0x55f43d7bbb18>
#> <environment: 0x55f43d7bb220>
fns$uncertainty_sampler
#> function (pred, uncertainty_params) 
#> {
#>     uncertainty_params <- vctrs::vec_recycle(uncertainty_params, 
#>         size = length(pred), x_arg = "uncertainty_params")
#>     sampled_pred <- round(rnorm(n = length(pred), mean = pred, 
#>         sd = sqrt(uncertainty_params)))
#>     return(sampled_pred)
#> }
#> <bytecode: 0x55f43d7bd4f8>
#> <environment: namespace:nowcastNHSN>

# Use with baselinenowcast
if (FALSE) { # \dontrun{
fns <- get_uncertainty_fns("skellam")
nowcast <- baselinenowcast::baselinenowcast(
  reporting_triangle,
  uncertainty_model = fns$uncertainty_model,
  uncertainty_sampler = fns$uncertainty_sampler
)
} # }