Internal computation no longer relies on xts/zoo. Series used during
estimation and filtering are now represented with a new, dependency-free
idx_series class, with calendar handling provided by a companion
idx_calendar class. Bundled datasets are unaffected and remain xts
objects; xts_to_idx() is provided to convert user-supplied xts/zoo
data to idx_series where needed. Code that relied on the internal
(non-exported) representation of series may need to be updated.
SSModelDynGompertzReinit has been deprecated. Its functionality is now
provided directly by SSModelDynamicGompertz via the reinit.idx,
original.results, and use.presample.info fields, so a single class
now covers both the standard and reinitialised model. SSModelBase has
also been deprecated, with its logic folded into SSModelDynamicGompertz.
In FilterResults, the confidence_level argument to predict_all()
and get_gy_ci() has been renamed to confidence.level, for
consistency with naming elsewhere in the package. Calls that pass this
argument by name will need to be updated. The default value of
sea.on in predict_all() has also changed, from FALSE to TRUE.
forecast_peak(), forecast.peak(), and plot_new_cases() have been
deprecated. plot_new_cases() has been renamed to plot_forecast() as
the growth curve theory extends beyond epidemiological settings.
Added a leading indicator model, via the new SSModelLeadingIndicator
and FilterResultsLI reference classes, for modelling a target series
using a leading series (see Harvey, A. (2021). "Time Series Modelling
of Epidemics: Leading Indicators, Control Groups and Policy
Assessment." National Institute Economic Review, 257, 83-100).
FilterResultsLI provides predict_level(), predict_all(),
get_growth_y(), get_gy_ci(), print(), summary(), and mapes()
methods, paralleling FilterResults for the standard model.
Added five new example datasets: ukitaly, gauteng_weather_2021,
england_weather_2021, nintendo_sales, and etrading_apps, including
weather data to support leading indicator examples.
Added idx_series() and supporting methods (idx_cbind(), idx_rbind(),
idx_diff(), idx_lag(), idx_range(), idx_values(),
idx_positions(), and standard methods including length(), head(),
tail(), as.matrix(), as.numeric(), as.double(), and print())
as a dependency-free representation of time series for internal
computation.
Added idx_calendar() and supporting helpers (idx_step(),
idx_to_date(), idx_calendar_offset(), idx_calendar_step(),
idx_calendar_multi_step(), and related utilities) providing a
consistent translation layer between integer positions and calendar
dates for daily, weekly, monthly, quarterly, and annual data.
Added get_timeframe(), idx_to_pos(), idx_offset_to_pos(), and
idx_detect_calendar_pattern() to support the new indexing system.
Added print_model_diagnostics() to surface model diagnostics more clearly.
Added xts_to_idx() to convert xts/zoo objects to the internal
idx_series representation, for users supplying their own xts data.
Added cross_val() for cross-validating one or more models over a
series of rolling estimation windows, and mapes() for computing mean
absolute percentage errors from forecast results.
Added df2ldl_lead() for handling two-column data for leading
indicator models.
Added print() and summary() S3 methods for SSModelDynamicGompertz,
SSModelLeadingIndicator, FilterResults, and FilterResultsLI.
Added new plotting functions plot_compare_forecast() (compare
forecasts across models), plot_log_forecast() (forecasts on the log
scale), and plot_r0() (plot estimated reproduction numbers from
estimate_r0()). Also added plotting functionality for models
(plot() takes in a model object)
Added a new set of accessor functions (accessorFns.R) for extracting
components from fitted model and KFS objects, including output(),
modelKFS(), seasonalComp(), att(), Ptt(), get_V(), gety(),
alphahat(), and a standalone estimate() wrapper around a model's
estimate() method.
Substantially expanded plotting internals with helper functions
(idx_series_df(), idx_resolve_axis(), idx_axis_opts(),
idx_x_scale(), idx_x_lab(), idx_add_info_box(), and related
helpers) to give more consistent, better-labelled axes across all plot
types, including support for non-daily frequencies.
Reduced the package's dependency footprint by removing reliance on
xts/zoo from internal computation.
NEWS.md file to track changes to the package.