View source: R/seasonal_burden_levels.R
seasonal_burden_levels | R Documentation |
This function estimates the burden levels of time series observations that are stratified by season. It uses the previous seasons to estimate the levels of the current season. The output is results regarding the current season in the time series observations. NOTE: The data must include data for a complete previous season to make predictions for the current season.
seasonal_burden_levels(
tsd,
family = c("lnorm", "weibull", "exp"),
season_start = 21,
season_end = season_start - 1,
method = c("intensity_levels", "peak_levels"),
conf_levels = 0.95,
decay_factor = 0.8,
disease_threshold = 20,
n_peak = 6,
only_current_season = TRUE,
...
)
tsd |
An object containing time series data with 'time' and 'observation.' |
family |
A character string specifying the family for modeling |
season_start , season_end |
Integers giving the start and end weeks of the seasons to stratify the observations by. |
method |
A character string specifying the model to be used in the level calculations. Both model predict the levels of the current series of observations.
|
conf_levels |
A numeric vector specifying the confidence levels for parameter estimates. The values have
to be unique and in ascending order, (i.e. the lowest level is first and highest level is last).
The
|
decay_factor |
A numeric value between 0 and 1, that specifies the weight applied to previous seasons in level
calculations. It is used as |
disease_threshold |
An integer specifying the threshold for considering a disease outbreak. It defines the per time-step disease threshold that has to be surpassed for the observation to be included in the level calculations. |
n_peak |
A numeric value specifying the number of peak observations to be selected from each season in the
level calculations. The |
only_current_season |
Should the output only include results for the current season? |
... |
Arguments passed to the |
A list containing:
'season': The season that burden levels are calculated for.
'high_conf_level': (only for intensity_level method) The conf_level chosen for the high level.
'conf_levels': (only for peak_level method) The conf_levels chosen to fit the 'low', 'medium', 'high' levels.
'values': A named vector with values for 'very low', 'low', 'medium', 'high' levels.
'par': The fit parameters for the chosen family.
par_1:
For 'weibull': Shape parameter.
For 'lnorm': Mean of the log-transformed observations.
For 'exp': Rate parameter.
'par_2':
For 'weibull': Scale parameter.
For 'lnorm': Standard deviation of the log-transformed observations.
For 'exp': Not applicable (set to NA).
'obj_value': The value of the objective function - (negative log-likelihood), which represent the minimized objective function value from the optimisation. Smaller value equals better optimisation.
'converged': Logical. TRUE if the optimisation converged.
'family': The distribution family used for the optimization.
'weibull': Uses the Weibull distribution for fitting.
'lnorm': Uses the Log-normal distribution for fitting.
'exp': Uses the Exponential distribution for fitting.
'disease_threshold': The input disease threshold, which is also the very low level.
# Generate random flu season
generate_flu_season <- function(start = 1, end = 1000) {
random_increasing_obs <- round(sort(runif(24, min = start, max = end)))
random_decreasing_obs <- round(rev(random_increasing_obs))
# Generate peak numbers
add_to_max <- c(50, 100, 200, 100)
peak <- add_to_max + max(random_increasing_obs)
# Combine into a single observations sequence
observations <- c(random_increasing_obs, peak, random_decreasing_obs)
return(observations)
}
season_1 <- generate_flu_season()
season_2 <- generate_flu_season()
start_date <- as.Date("2022-05-29")
end_date <- as.Date("2024-05-20")
weekly_dates <- seq.Date(from = start_date,
to = end_date,
by = "week")
tsd_data <- tsd(
observation = c(season_1, season_2),
time = as.Date(weekly_dates),
time_interval = "week"
)
# Print seasonal burden results
seasonal_burden_levels(tsd_data, family = "lnorm")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.