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"(withdoFuturebridge), and internal helpers prefer afuture::multisessionplan 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 inextended_forecast_accuracy_metric_set(). Fully compatible with yardstick ≥ 1.2.0 (handlescase_weights) and remains backward-compatible with older yardstick. - ADAM tuning parameters. New dials helpers
ets_model()andloss()foradam_reg()engines, exposing richer model selection and loss options.
New
parallel_start(..., .method = "future"): sets afuture::multisessionplan and registersdoFutureif 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_weightsissues).summarize_accuracy_metrics()now usesdplyr::any_of(".estimator")to be robust across yardstick versions.
Tuning grid: Tests migrated from
dials::grid_latin_hypercube()todials::grid_space_filling().Parallel control UX:
setup_parallel_processing()prefersfuturewhen 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_weightstidyselect handling), eliminating “Must select at least one item.” - Resolved vignette build failure (
calc_accuracy_2not found). - Reduced spurious foreach RNG warnings in tests by preferring
futurebackend; messaging improved when running sequentially. - ADAM engine argument handling stabilized (choose first of multi-choice args defensively).
Maintenance & CI
- Suggests: added
future,doFuture, and keptTSrepr. - 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()andmodeltime_nested_refit(). #173 - Updated the
printdisplay 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
defaultinsidenew_qual_param(). - Fix warning in dev-xregs: Use
all_of()insideprepare_xreg_recipe_from_predictors() - Fix broken test:
test-tune_workflowsUnused 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
workflowsmode = "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 thefacet_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_removeto remove facet strips since trelliscope is automatically labeled. - Gets a new argument
.facet_nrowto adjust grid with trelliscope. - The default argument for
facet_collapse = TRUEwas changed toFALSEfor better compatibility with Trelliscope JS. This may cause some plots to have multiple groups take up extra space in the strip.
- Gets a new argument
- 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
Modeltime now has a Spark Backend
NEW Vignette - Modeltime Spark Backend describing how to set up Modeltime with the Spark Backend.
New Algorithms: Smooth Package Integration
If users install smooth, the following models become available:
adam_reg(): Interfaces with the ADAM forecasting algorithm insmooth.exp_smoothing(): A new engine "smooth_es" connects to the Exponential Smoothing algorithm insmooth::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_splitandextract_nested_test_split: Changed parameter from.datato.objectfor consistency with other "extract" functionsAdded 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(), andsplit_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(), andextract_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 thewflow_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 anidargument 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 aacc_by_idargument that isTRUE/FALSE. If the data has been calibrated withid, 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 aconf_by_idargument that isTRUE/FALSE. If the data has been calibrated withid, 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
New Algorithms
THIEF: Temporal Hierarchical Forecasting
temporal_hierarchy(): Implements thethiefpackage 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()andparallel_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()andcontrol_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. Seecontrol_refit()modeltime_fit_workflowset(): supports parallel processing. Seecontrol_workflowset()
Updates for parsnip >= 0.1.6
boost_tree(mtry): Mapping switched fromcolsample_bytreetocolsample_bynode.prophet_boost()andarima_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 withmodeltime_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()foryardstick::metric_tweak(). Theyardstick::metric_tweak()has a required.nameargument in addition to.fn, which is needed for tuning.
- R
Published by mdancho84 almost 5 years ago