Skip to contents

[Stable] Fits an integer adjusted distribution to a subsampled bootstrap of data and then integrates the posterior samples into a single set of summary statistics. Can be used to generate a robust reporting delay that accounts for the fact the underlying delay likely varies over time or that the size of the available reporting delay sample may not be representative of the current case load.

Usage

bootstrapped_dist_fit(
  values,
  dist = "lognormal",
  samples = 2000,
  bootstraps = 10,
  bootstrap_samples = 250,
  max_value,
  verbose = FALSE
)

Arguments

values

Integer vector of values.

dist

Character string, which distribution to fit. Defaults to lognormal ("lognormal") but gamma ("gamma") is also supported.

samples

Numeric, number of samples to take overall from the bootstrapped posteriors.

bootstraps

Numeric, defaults to 1. The number of bootstrap samples (with replacement) of the delay distribution to take.

bootstrap_samples

Numeric, defaults to 100. The number of samples to take in each bootstrap. When the sample size of the supplied delay distribution is less than 100 this is used instead.

max_value

Numeric, defaults to the maximum value in the observed data. Maximum delay to allow (added to output but does impact fitting).

verbose

Logical, defaults to FALSE. Should progress messages be printed.

Value

A <dist_spec> object summarising the bootstrapped distribution

Author

Sam Abbott

Examples

# \donttest{
# lognormal
delays <- rlnorm(500, log(5), 1)
out <- bootstrapped_dist_fit(delays,
  samples = 1000, bootstraps = 10,
  dist = "lognormal"
)
#> Warning: `samples` must be at least 1000. Now setting it to 1000 internally.
#> Warning: `backend` option will be ignored as a stan model object has been passed.
#> Warning: `samples` must be at least 1000. Now setting it to 1000 internally.
#> Warning: `backend` option will be ignored as a stan model object has been passed.
#> Warning: `samples` must be at least 1000. Now setting it to 1000 internally.
#> Warning: `backend` option will be ignored as a stan model object has been passed.
#> Warning: `samples` must be at least 1000. Now setting it to 1000 internally.
#> Warning: `backend` option will be ignored as a stan model object has been passed.
#> Warning: `samples` must be at least 1000. Now setting it to 1000 internally.
#> Warning: `backend` option will be ignored as a stan model object has been passed.
#> Warning: `samples` must be at least 1000. Now setting it to 1000 internally.
#> Warning: `backend` option will be ignored as a stan model object has been passed.
#> Warning: `samples` must be at least 1000. Now setting it to 1000 internally.
#> Warning: `backend` option will be ignored as a stan model object has been passed.
#> Warning: `samples` must be at least 1000. Now setting it to 1000 internally.
#> Warning: `backend` option will be ignored as a stan model object has been passed.
#> Warning: `samples` must be at least 1000. Now setting it to 1000 internally.
#> Warning: `backend` option will be ignored as a stan model object has been passed.
#> Warning: `samples` must be at least 1000. Now setting it to 1000 internally.
#> Warning: `backend` option will be ignored as a stan model object has been passed.
#> Warning: The meaning of the 'max' argument has changed compared to previous versions. It now indicates the maximum of a distribution rather than the length of the probability mass function (including 0) that it represented previously. To replicate previous behaviour reduce max by 1.
#> This warning is displayed once every 8 hours.
out
#> 
#>   Uncertain lognormal distribution with (untruncated) logmean 1.4 (SD 0.1) and logSD 1.2 (SD 0.079)
#> 
# }