Releases: 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
.
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 anid
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 aacc_by_id
argument 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_id
argument 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 thethief
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.
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
.
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_bytree
tocolsample_bynode
.prophet_boost()
andarima_boost()
have been updated to reflect this change. tidymodels/parsnip#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.
Modeltime 0.5.1
Modeltime 0.5.1
Recursive Ensemble Predictions
- Add support for
recursive()
for ensembles.
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.name
argument in addition to.fn
, which is needed for tuning.