Changelog
Source:NEWS.md
forecast.vocs 0.9.0
Features
Model
 Switched the “pooled” model to use a vector autoregression set up and renamed the resulting control parameter “correlated”. On test data this performs substantially better than the old model and should be more readily extensible.
 Added the ability (via the
r_step
argument) to set the step width for the AR(1) process on the growth rate. This means that when fitting to daily data, for example, the growth rate can be specified to only change weekly. This increases the tractability of the model hence reducing runtimes and may match the underlying epidemiology better in some settings.  Added increased prior flexibility with users able to alter the prior on the AR(1) process to approximate a random walk (via
beta
) and specify the expected amount of correlation between strains in the “correlated” model (lkj
).  Update the internal model configuration to be nonvectorised so that the case AR(1) process can be easily generalised to an AR(P) process. This functionality has not yet been exposed to users via the control interface.
 Added new functionality to delay case reporting and sequence reporting by some probability mass function. This functionality has not yet been exposed to users via the control interface.
 Made piecewise constant growth rates backwards looking from the last available data rather than forward looking as was previously the case. This means that forecasts are made using a full window of data to estimate the growth rate but also means that the precise dates of steps change as new data is added.
 Add a new argument
r_forecast
which controls if the growth rate is allowed to vary outside the range of the data.  Add optional adjustment for periodic case data based on a random effect. This can be used to account for da*y of the week or month effects.
 Updated to use the new
array
stan notation.  Update initial conditions to work with
cmdtan 2.32.0
.
Evaluation and visualisation
 Added an optional integration with the
scoringutils
package to streamline evaluating forecasts using proper scoring rules.  Added an example of using
fv_score_forecast()
to the README.  Generalise plot labels.
 Updated
plot_cases()
to use a log 2 scaling rather than a log scaling.  Updated the default scaling to be logit for `plot_voc_frac().
 Added a new plotting argument to all plot functions 
central
. This controls whether central estimates (i.e the mean and median) are shown. In a change to the default visualisations these are now not shown automatically but by settingcentral = TRUE
the user can elect to add these estimates to the plot.
Bug fixes
 Fixed a bug in the output of the
forecast()
function where the prior specifications for the initial growth and the variant scaling were only partially included.  Tighten up overly permissive argument passing in the S3 methods that allowed users to pass arguments that didn’t exist. This could lead to bugs in user code that are hard to spot.
 Betabinomial in the output log likelihood (but not during fitting) has been corrected to use the overdispersion for sequences and not cases.
 Fixed a bug where
summary.fv_forecast()
failed to return diagnostics.  Fixed a bug whereby certain combinations of data availability and truncation can lead to attempts to access nonexisting indices. (@sbfnk in #111.
 Fixed a bug in the twostrain model caused by the addition of infrastructure to compute discrete convolutions.
 Updated
fv_score_forecast()
to supportscoringutils 1.0.0
.
forecast.vocs 0.8.0
Features
 Adds
summary
andplot
methods forforecast()
andfv_tidy_posterior()
as interfaces to lower level functions.  Adds a new summary variable for the transmission advantage of the VOC to the output from
fv_tidy_posterior()
.  Adds a new plotting function
plot_voc_advantage()
to extract and plot this.  Adds
plot_voc_advantage()
toplot_posterior
as an additional output.  Added a new
timespan
argument that allows custom date processing. This allows the use of data with nonweekly spaces (though spacing must be constant across both sequences and case counts).  Updates all example data to include this new output.
 Adds tests for all new functionality.
Breaking changes
 The variant fraction label has been renamed
voc_frac
fromvoc
due to the new variant advantage label. 
plot_voc()
has been renamedplot_voc_frac()
due to the newplot_voc_advantage()
function.
Bug fixes
 Spell checks documentation.
 Refactors model description to improve clarity.
 Fixed an issue where
voc_label
was not being passed byforecast()
to lower level methods and hence new labels specifying the VOC were not being assigned.
forecast.vocs 0.7.0
 Further generalised the
forecast
family to accept custom data and forecast extraction functions.  Split generic posterior summary function from specific posterior summary function.
 Catch data passing bugs in
forecast
with new tests  Add argument passing in
fv_posterior
to allow it be used withforecast
.  Added runtime to diagnostic fit output.
 Fixes
generate_obs()
to work with all strain models and adds unit tests for all function functionality.  Fixed package building on
runiverse
.
forecast.vocs 0.6.0
 Add a vignette defining the package models.
 Updated documentation to use preferably.
 Add basic tests for all modelling functions.
 Add tests for all postprocessing functions.
 Add tests for all plotting functions.
 Add tests for all forecasting functions.
 Add a new utility,
fv_example()
which can be used to load built in example output and scripts. This is used for postprocessing and plotting examples as well as for testing plotting on static input.  Model specific functions (i.e
load_model
,summarise_posterior
, and functions prefixed withstan_
have been renamed with thefv_
prefix).  Added the ability to pass model specific functions to the
forecast
function and wrappers enabling users to supply custom models but make use of the remaining package functionality.
forecast.vocs 0.5.0
 Overhaul all package documentation and examples.
 Enforce proper printing of all
data.table
output.  Add structure to documentation website.
forecast.vocs 0.4.0
 Improve the robustness of plotting observations and forecast dates so that they can be faceted using the same variables as used for plotting estimates/forecasts.
 Added the option to scale growth rates and reproduction numbers. This allows crude scaling by the generation time etc increasing the interpretability of these estimates.
 Surfaced more options when plotting to allow for increased generalisability.
forecast.vocs 0.3.0

fv_tidy_posterior
now returns a single data.table and all downstream processing and plotting functions have been updated to use this forma 
forecast
has been updated to use the framework fromforecast_dt
andforecast_dt
has been removed. 
combine_posteriors_dt
has been removed in favour ofunnest_posterior
. This allows for the output offorecast
(and wrappers that produce a data.table) to be easily untested and then used without additional changes in downstream plotting and processing functions.  add
update_voc_label
as part of the workflow inforecast
and exposed a user facing argument to control the label.  Fixes a bug when specifying the number of initial weeks without sequence data. This was resulting in all weeks without sequence data being assumed to at the start and likely causing some model fitting issues.
 Added check functions to make sure input observation and arguments have the correct format.
 Added unit tests for all preprocessing functions.
 Custom VOC labelling is now a feature of
fv_tidy_posterior()
(and henceforecast()
) as well as a standalone option viaupdate_voc_label()
.
forecast.vocs 0.2.0
 Package generalised to all variants of concern beyond Delta.
 Tooling added to forecast across dates and scenarios.
 Tooling added for prior and posterior predictive checks.
 Tooling added for simulating data from the model (useful for simulationbased calibration amongst other things).
 Example data updated to use snapshots of COVID19 notifications and Delta sequences sourced for the RKI (Germany).