Skip to content

Releases: tidyverts/fabletools

CRAN v0.5.1

26 Nov 09:45

Choose a tag to compare

Compatibility release for upcoming ggplot2 4.0.0 release.

Bug fixes

  • Fixed forecast autoplot() and autolayer() draw key for single-point
    multiple-forecast ribbons (#414).
  • Fixed issue with accuracy(<fbl_ts>) when not all key variables were
    specified in by (#421).

CRAN v0.5.0

26 Nov 09:45

Choose a tag to compare

New features

  • Added the IRF() generic and appropriate mable methods for computing
    impulse response functions from fitted models.
  • It is now possible to generate() bootstrap sample paths for
    multivariate models.

Improvements

  • Added support for multivariate model forecasting with transformation using
    sample paths.
  • Performance improvements relating to forecasting with transformations and
    sample paths.
  • Forecast plots now explicitly use marginal distributions for plotting
    forecast intervals from multivariate distributions.
  • Added optional progress reporting when producing forecasts, it can be
    enabled using progressr::with_progress()

Bug fixes

  • Fixed issue with autoplot() and length 1 forecasts (#400).

CRAN v0.4.1

02 Mar 07:07

Choose a tag to compare

Minor patch for upcoming release of ggdist v3.3.1

Improvements

  • Added (scaled) pinball loss metrics to interval_accuracy_measures (#379).
  • Improved use of random seed in parallel modelling and forecasting (#384).
  • Documentation improvements

CRAN v0.4.0

09 Feb 09:32

Choose a tag to compare

Improvements

  • Improved handling of combination_model() when used with transformed
    component models.
  • autoplot(<fbl_ts>), autolayer(<fbl_ts>) and autoplot(<dcmp_ts>) now use
    the ggdist package visualising uncertainty with distributional vectors.

CRAN v0.3.4

11 Oct 22:56

Choose a tag to compare

fabletools 0.3.4

New features

  • The formula parser now identifies and stores length 1 values in the
    transformation environment. This simplifies common tasks like automatic
    box-cox parameters for each series, which can now be done with
    fable::ARIMA(box_cox(y, feasts::guerrero(y))).

Improvements

  • Added support for visualising different point forecasts (say means and medians)
    when only one forecast is to be plotted for each series.

Bug fixes

  • Resolved issue with autoplot(<fbl_ts>) not identifying multiple point
    forecasts by linetype.
  • Fix for indexing of bottom series in top_down() and middle_out()
    reconciliation methods (#362, #364 @federicogarza)

CRAN v0.3.3

11 Oct 22:56

Choose a tag to compare

fabletools 0.3.3

Improvements

  • Fixed handling of transformed distributions which accept a parameter from the
    dataset.
  • . in a model formula for xreg implemented with special_xreg() will now
    include all measured variables (excluding the index and key variables).
  • Improved handling of transformations with forecast sample distributions.
  • Added support for reconciling sample paths.
  • accuracy(<fbl_ts>) can now summarise accuracy over key variables. This is
    done by specifying the accuracy by argument and not including some (or all)
    of the fable's key variables (#341).
  • Like forecast(), generate() will now keep exogenous regressors in the
    output table.
  • Re-export generics::forecast() for better compatibility with registering
    methods alongside other packages (#375).

CRAN v0.3.2

29 Nov 06:06

Choose a tag to compare

fabletools 0.3.2

New features

  • Added hypothesize() generic for running statistical tests on a trained model.
  • Added combination_weighted() function for producing a combination model with
    arbitrary weights.

Improvements

  • The fallback residuals() method now handles transformations when
    type = "innovation".
  • Improved supported expressions for producing combination models. The
    appropriate response variable is now simplified for all functions that produce
    that original response variable. This notably includes 0.7*mdl1 + 0.3*mdl2 -
    if mdl1 and mdl2 are models with the same response variables, then the
    resulting combination model will also have the same response variable.
  • Documentation improvements.

Bug fixes

  • Fixed issue with exogenous regressors (xreg) in reconciliation methods that
    partially forecast the hierarchy.
  • Fixed issue with keys being dropped when several mdl_df (mable) objects were
    combined.

CRAN v0.3.1

17 Mar 05:56

Choose a tag to compare

New features

  • Added outliers() generic for identifying the outliers of a fitted model.
  • Added special_xreg() special generator, for producing a model matrix of
    exogenous regressors. It supports an argument for controlling the default
    inclusion of an intercept.
  • Migrated common_xregs helper from fable to fabletools for providing a
    common and consistent interface for common time series exogenous regressors.
  • Added experimental support for passing the tsibble index to features()
    functions if the .index argument is used in the function.

Improvements

  • Added transformation support for fallback fitted(h > 1) method (#302).
  • Documentation improvements.

CRAN v0.3.0

19 Jan 11:43

Choose a tag to compare

New features

  • Added scenarios() function for providing multiple scenarios to the
    new_data argument. This allows different sets of future exogenous regressors
    to be provided to functions like forecast(), generate(), and
    interpolate() (#110).
  • Added quantile_score(), which is similar to percentile_score() except it
    allows a set of quantile probs to be provided (#280).
  • Added distribution support for autoplot(<dable>). If the decomposition
    provides distributions for its components, then the uncertainty of the
    components will be plotted with interval ribbons.
  • Added block bootstrap option for bootstrapping innovations in generate().
  • Added multiple step ahead fitted values support via fitted(<mable>, h > 1).
  • Added as_fable(<forecast>) for converting older forecast class objects to
    fable data structures.
  • Added top_down(method = "forecast_proportion") for reconciliation using the
    forecast proportions techniques.
  • Added middle_out() forecast reconciliation method.
  • Added directional accuracy measures, including MDA(), MDV() and MDPV()
    (#273, @davidtedfordholt).
  • Added fill_gaps(<fable>).

Improvements

  • The pinball_loss() and percentile_score() accuracy measures are now scaled
    up by 2x for improved meaning. The loss at 50% equals absolute error and the
    average loss equals CRPS (#280).
  • Automatic transformation functions formals are now named after the response
    variable and not converted to .x, preventing conflicts with values named .x.
  • box_cox() and inv_box_cox() are now vectorised over the transformation
    parameter lambda.
  • RMSSE() accuracy measure is now included in default accuracy() measures.
  • Specifying a different response variable in as_fable() will no longer
    error, it now sets the provided response value as the distribution's new
    response.
  • Minor vctrs support improvements.

Bug fixes

  • Data lines in fable autoplot() are now always grouped by the data's key.
  • Fixed bottom_up() aggregation mismatch for redundant leaf nodes (#266).
  • Fixed min_trace() reconciliation for degenerate hierarchies (#267).
  • Fixed select(<mable>) not keeping required key variables (#297).
  • Fixed ... not being passed through in report().

CRAN v0.2.1

19 Jan 11:43

Choose a tag to compare

New features

  • Added bottom_up() forecast reconciliation method.
  • Added the skill_score() accuracy measure modifier.
  • Added agg_vec() for manually producing aggregation vectors.

Improvements

  • Fixed some inconsistencies in key ordering of model accessors (such as
    augment(), tidy() and glance()) with model methods (such as forecast()
    and generate()).
  • Improved equality comparison of agg_vec classes, aggregated values will now
    always match regardless of the value used.
  • Using summarise() with a fable will now retain the fable class if the
    distribution still exists under the same variable name.
  • Added as_fable.forecast() to convert forecast objects from the forecast
    package to work with fable.
  • Improved CRPS() performance when using sampling distributions (#240).
  • Reconciliation now works with hierarchies containing aggregate leaf nodes,
    allowing unbalanced hierarchies to be reconciled.
  • Produce unique names for unnamed features used with features() (#258).
  • Documentation improvements
  • Performance improvements, including using future.apply() to parallelize
    forecast() when the future package is attached (#268).

Breaking changes

  • The residuals obtained from the augment() function are no longer controlled
    by the type argument. Response residuals (y - yhat) are now always found
    in the .resid column, and innovation residuals (the model's error) are now
    found in the .innov column. Response residuals will differ from innovation
    residuals when transformations are used, and if the model has non-additive
    residuals.
  • dist_*() functions are now removed, and are completely replaced by the
    distributional package. These are removed to prevent masking issues when
    loading packages.
  • fortify(<fable>) will now return a tibble with the same structure as the
    fable, which is more useful for plotting forecast distributions with the
    ggdist package. It can no longer be used to extract intervals from the
    forecasts, this can be done using hilo(), and numerical values from a
    <hilo> can be extracted with unpack_hilo() or interval$lower.

Bug fixes

  • Fixed issue with aggregated date vectors (#230).
  • Fixed display of models in View() panel.
  • Fixed issue with combination models not inheriting vctrs functionality (#237).
  • aggregate_key() can now be used with non-syntactic variable names.
  • Added tsibble cast methods for fable and dable objects, fixing issues with
    tidyverse functionality between datasets of different column orders (#247).
  • Fixed refit() dropping reconciliation attributes (#251).