modeltime 1.1.0

Spark Backend

New Algorithms: Smooth Package Integration

If users install smooth, the following models become available:

Nested Modeltime Improvements

(potentially) Breaking Changes

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

Nested Model Fitting (Train/Test)

Nested Model Selection

Nested Model Refitting (Actual Data)

New Vignette

Vignette Improvements

New Accuracy Metric Set and Yardstick Functions

Improvements

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.

New Vignette

Forecasting Panel Data

New Algorithms

THIEF: Temporal Hierarchical Forecasting

Bug Fixes

modeltime 0.6.1

Parallel Processing

Bug Fixes

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

New Dials Parameters

exp_smoothing() gained 3 new tunable parameters:

Parallel Processing

Updates for parsnip >= 0.1.6

General Improvements

Potential Breaking Changes

modeltime 0.5.1

Recursive Ensemble Predictions

modeltime 0.5.0

Recursive Panel Predictions

Breaking Changes

modeltime 0.4.2

New Algorithms

Baseline algorithms (#5, #37) have been created for comparing high-performance methods with simple forecasting methods.

Yardstick Helpers

Modeltime Residual Tests

A new function is added modeltime_residuals_test() (#62, #68). Tests are implemented:

Fixes

modeltime 0.4.1

Fixes

modeltime 0.4.0

New Functions

Breaking Changes

modeltime 0.3.1

as_modeltime_table(): New function to convert one or more fitted models stored in a list to a Modeltime Table.

Bug Fixes

modeltime 0.3.0

Panel Data

modeltime_forecast() upgrades:

modeltime_calibrate(): Can now handle panel data.

modeltime_accuracy(): Can now handle panel data.

plot_modeltime_forecast(): Can handle panel data provided the data is grouped by an ID column prior to plotting.

Error Messaging

Compatibility

modeltime 0.2.1

Ensembles

modeltime 0.2.0

Ensembles

New Workflow Helper Functions

Improvements

Data Sets

Modeltime now includes 4 new data sets:

Bug Fix

modeltime 0.1.0

New Features

Forecast without Calibration/Refitting

Sometimes it’s important to make fast forecasts without calculating out-of-sample accuracy and refitting (which requires 2 rounds of model training). You can now bypass the modeltime_calibrate() and modeltime_refit() steps and jump straight into forecasting the future. Here’s an example with h = "3 years". Note that you will not get confidence intervals with this approach because calibration data is needed for this.

# Make forecasts without calibration/refitting (No Confidence Intervals)
# - This assumes the models have been trained on m750
modeltime_table(
    model_fit_prophet,
    model_fit_lm
) %>%
    modeltime_forecast(
        h = "3 years",
        actual_data = m750
    ) %>%
    plot_modeltime_forecast(.conf_interval_show = F)

Residual Analysis & Diagonstics

A common tool when forecasting and analyzing residuals, where residuals are .resid = .actual - .prediction. The residuals may have autocorrelation or nonzero mean, which can indicate model improvement opportunities. In addition, users may which to inspect in-sample and out-of-sample residuals, which can display different results.

New Models

TBATS Model

Use seasonal_reg() and set engine to “tbats”.

seasonal_reg(
    seasonal_period_1 = "1 day",
    seasonal_period_2 = "1 week"
) %>% 
    set_engine("tbats")

NNETAR Model

Use nnetar_reg() and set engine to “nnetar”.

model_fit_nnetar <- nnetar_reg() %>%
    set_engine("nnetar") 

Prophet Model - Logistic Growth Support

New Workflow Helper Functions

Improvements

Bug Fixes

Breaking Changes

modeltime 0.0.2

Confidence Interval Estimation

Fixes

modeltime 0.0.1