Recent Releases of https://github.com/business-science/modeltime

https://github.com/business-science/modeltime - modeltime 1.3.2

modeltime 1.3.2

Highlights

  • Future backend for parallelism. parallel_start() now supports .method = "future" (with doFuture bridge), and internal helpers prefer a future::multisession plan when available. This reduces foreach/future tuning warnings and makes parallel setup more portable.
  • New metric: maape(). Added Mean Arctangent Absolute Percentage Error and included it in extended_forecast_accuracy_metric_set(). Fully compatible with yardstick ≥ 1.2.0 (handles case_weights) and remains backward-compatible with older yardstick.
  • ADAM tuning parameters. New dials helpers ets_model() and loss() for adam_reg() engines, exposing richer model selection and loss options.

New

  • parallel_start(..., .method = "future"): sets a future::multisession plan and registers doFuture if present.
  • Exported metrics: maape(), maape_vec().
  • Dials params: ets_model(), loss().

Improvements

  • Yardstick compatibility: Internal wrappers avoid deprecations and errors under yardstick ≥ 1.2.0 (no more “external vector in selections” or missing case_weights issues).

    • summarize_accuracy_metrics() now uses dplyr::any_of(".estimator") to be robust across yardstick versions.
  • Tuning grid: Tests migrated from dials::grid_latin_hypercube() to dials::grid_space_filling().

  • Parallel control UX: setup_parallel_processing() prefers future when available; parallel_stop() resets to sequential gracefully.

  • Docs polish: Roxygen links standardized (e.g., use backticks for function refs); plotting wrappers explicitly reference timetk::* in docs.

  • Utility reinstated: calc_accuracy_2() added back to fix vignette builds that reference it.

Bug fixes

  • Fixed MAAPE computation with yardstick 1.2+ (case_weights tidyselect handling), eliminating “Must select at least one item.”
  • Resolved vignette build failure (calc_accuracy_2 not found).
  • Reduced spurious foreach RNG warnings in tests by preferring future backend; messaging improved when running sequentially.
  • ADAM engine argument handling stabilized (choose first of multi-choice args defensively).

Maintenance & CI

  • Suggests: added future, doFuture, and kept TSrepr.
  • CI: actions bumped (actions/checkout@v4, actions/upload-artifact@v4), minor path fixes, optional cache scaffolding.
  • Roxygen: updated to 7.3.2.
  • Data docs: M4 competition URL updated.

Breaking changes

  • None.

Deprecations

  • None.

Migration notes

If you use parallel tuning or refitting, prefer the new future backend:

```r

Set up parallelism (portable across OSes)

parallel_start(2, .method = "future") # or omit 2 to use available physical cores

... run tune*(), modeltime*(), etc. ...

parallel_stop() ```

extended_forecast_accuracy_metric_set() now includes maape() by default; if you previously supplied a custom MAAPE, you can remove the duplication or keep overriding as needed.


Full Changelog: https://github.com/business-science/modeltime/compare/v1.3.0...v1.3.2

- R
Published by mdancho84 6 months ago

https://github.com/business-science/modeltime - Modeltime 1.3.0

modeltime 1.3.0

Overview

This version and modeltime 1.2.8 (previous version) include changes to incorporate Conformal Prediction Intervals. There are a number of changes that include new "conformal" confidence methods and Tibble (Data Frame) table display improvements of forecasts aimed at helping the user understand what confidence method is being used and the confidence interval being used throughout the forecasting process in both Standard and Nested Modeltime Forecasting Workflows.

Conformal Predictions:

  • Integrate Conformal Predictions into Nested Forecast Workflow: modeltime_nested_fit() and modeltime_nested_refit(). #173
  • Updated the print display for conformal prediction Conf Method, Conf Interval:
    • modeltime_forecast()
    • extract_nested_test_forecast()
    • extract_nested_future_forecast()
    • modeltime_nested_forecast()

Other Changes:

  • Dials Parameters: Remove deprecated default inside new_qual_param().
  • Fix warning in dev-xregs: Use all_of() inside prepare_xreg_recipe_from_predictors()
  • Fix broken test: test-tune_workflows Unused argument: cores = 2

- R
Published by mdancho84 about 2 years ago

https://github.com/business-science/modeltime - Modeltime 1.2.8

modeltime 1.2.8

  • Integrate Conformal Predictions. #173
  • New Vignette: Conformal Forecast Prediction Intervals in Modeltime

Other Changes:

  • Reduced test times on CRAN
  • CRAN Vignettes & Tests: Enforce no parallel cores Sys.setenv("OMP_THREAD_LIMIT" = 1)
  • Change the default parallel processing to one (1) core from all available cores (-1):
    • control_refit()
    • control_fit_workflowset()
    • control_nested_fit()
    • control_nested_refit()
    • control_nested_forecast()

- R
Published by mdancho84 over 2 years ago

https://github.com/business-science/modeltime - Modeltime 1.2.5

modeltime 1.2.5

  • Fixes for Smooth es() model #221

- R
Published by mdancho84 about 3 years ago

https://github.com/business-science/modeltime - Modeltime 1.2.4

Fix failing tests in test-developer-tools-xregs.R

- R
Published by mdancho84 over 3 years ago

https://github.com/business-science/modeltime - Modeltime 1.2.3

  • Recursive chunk_size (performance improvement) #197 #190
  • Recursive model fixes #194, #188, #187, #174
  • New function, drop_modeltime_model #160
  • Updates for workflows mode = "regression"

- R
Published by mdancho84 over 3 years ago

https://github.com/business-science/modeltime - Modeltime 1.2.2

modeltime 1.2.2

Fixes

  • Updates for hardhat 1.0.0 #182

- R
Published by mdancho84 over 3 years ago

https://github.com/business-science/modeltime - Modeltime 1.2.1

modeltime 1.2.1

Trelliscope Plotting

  • plot_modeltime_forecast(): Expose the facet_trelliscope() plotting parameters.

Fixes

  • Use step_rm() to get rid of date rather than updating its role #181

- R
Published by mdancho84 over 3 years ago

https://github.com/business-science/modeltime - Modeltime 1.2.0

New Features

Many of the plotting functions have been upgraded for use with trelliscopejs for easier visualization of many time series.

  • plot_modeltime_forecast():
    • Gets a new argument trelliscope: Used for visualizing many time series.
    • Gets a new argument .facet_strip_remove to remove facet strips since trelliscope is automatically labeled.
    • Gets a new argument .facet_nrow to adjust grid with trelliscope.
    • The default argument for facet_collapse = TRUE was changed to FALSE for better compatibility with Trelliscope JS. This may cause some plots to have multiple groups take up extra space in the strip.

- R
Published by mdancho84 almost 4 years ago

https://github.com/business-science/modeltime - Modeltime 1.1.1

Fixes

  • Fixes issue of incorrect order of forecasts #142

- R
Published by mdancho84 about 4 years ago

https://github.com/business-science/modeltime - Modeltime 1.1.0

Spark Backend

New Algorithms: Smooth Package Integration

If users install smooth, the following models become available:

  • adam_reg(): Interfaces with the ADAM forecasting algorithm in smooth.

  • exp_smoothing(): A new engine "smooth_es" connects to the Exponential Smoothing algorithm in smooth::es(). This algorithm has several advantages, most importantly that it can use x-regs (unlike "ets" engine).

Nested Modeltime Improvements

  • New extractor: extract_nested_modeltime_table() - Extracts a nested modeltime table by row id.

Breaking Changes (potentially)

  • extract_nested_train_split and extract_nested_test_split: Changed parameter from .data to .object for consistency with other "extract" functions

  • Added a new logged feature to modeltime_nested_fit() to track the attribute "metric_set", which is needed for ensembles. Old nested modeltime objects will need to be re-run to get this new attribute. This will be used in ensembles.

- R
Published by mdancho84 over 4 years ago

https://github.com/business-science/modeltime - Modeltime 1.0.0

modeltime 1.0.0

New Feature: Nested (Iterative) Forecasting

Nested (Iterative) Forecasting is aimed at making it easier to perform forecasting that is traditionally done in a for-loop with models like ARIMA, Prophet, and Exponential Smoothing. Functionality has been added to:

Format data in a Nested Time Series structure

  • Data Preparation Utilities: extend_timeseries(), nest_timeseries(), and split_nested_timeseris().

Nested Model Fitting (Train/Test)

  • modeltime_nested_fit(): Fits many models to nested time series data and organizes in a "Nested Modeltime Table". Logs Accuracy, Errors, and Test Forecasts.

  • control_nested_fit(): Used to control the fitting process including verbosity and parallel processing.

  • Logging Extractors: Functions that retrieve logged information from the initial fitting process. extract_nested_test_accuracy(), extract_nested_error_report(), and extract_nested_test_forecast().

Nested Model Selection

  • modeltime_nested_select_best(): Selects the best model for each time series ID.

  • Logging Extractors: Functions that retrieve logged information from the model selection process. extract_nested_best_model_report()

Nested Model Refitting (Actual Data)

  • modeltime_nested_refit(): Refits to the .future_data. Logs Future Forecasts.

  • control_nested_refit(): Used to control the re-fitting process including verbosity and parallel processing.

  • Logging Extractors: Functions that retrieve logged information from the re-fitting process. extract_nested_future_forecast().

New Vignette

Vignette Improvements

  • Forecasting with Global Models: Added more complete steps in the forecasting process so now user can see how to forecast each step from start to finish including future forecasting.

New Accuracy Metric Set and Yardstick Functions

  • extended_forecast_accuracy_metric_set(): Adds the new MAAPE metric for handling intermittent data when MAPE returns Inf.
  • maape(): New yardstick metric that calculates "Mean Arctangent Absolute Percentage Error" (MAAPE). Used when MAPE returns Inf typically due to intermittent data.

Improvements

  • modeltime_fit_workflowset(): Improved handling of Workflowset Descriptions, which now match the wflow_id.

- R
Published by mdancho84 over 4 years ago

https://github.com/business-science/modeltime - modeltime 0.7.0

Group-Wise Accuracy and Confidence Interval by Time Series ID

We've expanded Panel Data functionality to produce model accuracy and confidence interval estimates by a Time Series ID (#114). This is useful when you have a Global Model that produces forecasts for more than one time series. You can more easily obtain grouped accuracy and confidence interval estimates.

  • modeltime_calibrate(): Gains an id argument that is a quoted column name. This identifies that the residuals should be tracked by an time series identifier feature that indicates the time series groups.

  • modeltime_accuracy(): Gains a acc_by_id argument that is TRUE/FALSE. If the data has been calibrated with id, then the user can return local model accuracy by the identifier column. The accuracy data frame will return a row for each combination of Model ID and Time Series ID.

  • modeltime_forecast(): Gains a conf_by_id argument that is TRUE/FALSE. If the data has been calibrated with id, then the user can return local model confidence by the identifier column. The forecast data frame will return an extra column indicating the identifier column. The confidence intervals will be adjusted based on the local time series ID variance instead of the global model variance.

New Vignette

Forecasting Panel Data

New Algorithms

THIEF: Temporal Hierarchical Forecasting

  • temporal_hierarchy(): Implements the thief package by Rob Hyndman and Nikolaos Kourentzes for "Temporal HIErarchical Forecasting". #117

Bug Fixes

  • Issue #111: Fix bug with modeltime_fit_workflowset() where the workflowset (wflw_id) order was not maintained.

- R
Published by mdancho84 over 4 years ago

https://github.com/business-science/modeltime - Modeltime 0.6.1

Parallel Processing

  • New Vignette: Parallel Processing

  • parallel_start() and parallel_stop(): Helpers for setting up multicore processing.

  • create_model_grid(): Helper to generate model specifications with filled-in parameters from a parameter grid (e.g. dials::grid_regular()).

  • control_refit() and control_fit_workflowset(): Better printing.

Bug Fixes

  • Issue #110: Fix bug with cores > cores_available.

- R
Published by mdancho84 over 4 years ago

https://github.com/business-science/modeltime - Modeltime 0.6.0

Workflowset Integration

modeltime_fit_workflowset() (#85) makes it easy to convert workflow_set objects to Modeltime Tables (mdl_time_tbl). Requires a refitting process that can now be performed in parallel or in sequence.

New Algorithms

  • CROSTON (#5, #98) - This is a new engine that has been added to exp_smoothing().
  • THETA (#5, #93) - This is a new engine that has been added to exp_smoothing().

New Dials Parameters

exp_smoothing() gained 3 new tunable parameters:

  • smooth_level(): This is often called the "alpha" parameter used as the base level smoothing factor for exponential smoothing models.
  • smooth_trend(): This is often called the "beta" parameter used as the trend smoothing factor for exponential smoothing models.
  • smooth_seasonal(): This is often called the "gamma" parameter used as the seasonal smoothing factor for exponential smoothing models.

Parallel Processing

  • modeltime_refit(): supports parallel processing. See control_refit()
  • modeltime_fit_workflowset(): supports parallel processing. See control_workflowset()

Updates for parsnip >= 0.1.6

  • boost_tree(mtry): Mapping switched from colsample_bytree to colsample_bynode. prophet_boost() and arima_boost() have been updated to reflect this change. https://github.com/tidymodels/parsnip/pull/499

General Improvements

  • Improve Model Description of Recursive Models (#96)

Potential Breaking Changes

  • We've added new parameters to Exponential Smoothing Models. exp_smoothing() models produced in prior versions may require refitting with modeltime_refit() to upgrade their internals with the new parameters.

- R
Published by mdancho84 over 4 years ago

https://github.com/business-science/modeltime - Modeltime 0.5.1

Modeltime 0.5.1

Recursive Ensemble Predictions

  • Add support for recursive() for ensembles.

- R
Published by mdancho84 almost 5 years ago

https://github.com/business-science/modeltime - Modeltime 0.5.0

This release includes significant advances in forecasting with recursive panel data.

Recursive Predictions

  • recursive() (#71) - Received a full upgrade to work with Panel Data.
  • New Vignette: "Recursive Forecasting" with Modeltime

Breaking Changes

  • Deprecating modeltime::metric_tweak() for yardstick::metric_tweak(). The yardstick::metric_tweak() has a required .name argument in addition to .fn, which is needed for tuning.

- R
Published by mdancho84 almost 5 years ago