-
Notifications
You must be signed in to change notification settings - Fork 4
/
README.Rmd
145 lines (93 loc) · 6.78 KB
/
README.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
---
output: github_document
---
<!-- README.md is generated from README.Rmd. Please edit that file -->
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
message = F,
warning = F,
paged.print = FALSE,
fig.path = "man/figures/README-",
# out.width = "100%"
fig.align = 'center'
)
library(modeltime)
library(modeltime.resample)
```
# modeltime.resample <a href="https://business-science.github.io/modeltime.resample/"><img src="man/figures/logo.png" align="right" height="138" alt="modeltime.resample website" /></a>
<!-- badges: start -->
[![CRAN status](https://www.r-pkg.org/badges/version/modeltime.resample)](https://CRAN.R-project.org/package=modeltime.resample)
![](http://cranlogs.r-pkg.org/badges/modeltime.resample?color=brightgreen)
![](http://cranlogs.r-pkg.org/badges/grand-total/modeltime.resample?color=brightgreen)
[![R-CMD-check](https://github.com/business-science/modeltime.resample/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/business-science/modeltime.resample/actions/workflows/R-CMD-check.yaml)
[![Codecov test coverage](https://codecov.io/gh/business-science/modeltime.resample/branch/master/graph/badge.svg)](https://app.codecov.io/gh/business-science/modeltime.resample?branch=master)
<!-- badges: end -->
> __Model Performance and Stability Assessment Tools__ for Single Time Series, Panel Data, & Cross-Sectional Time Series Analysis
A `modeltime` extension that implements ___forecast resampling tools___ that assess __time-based model performance and stability__ for a single time series, panel data, and cross-sectional time series analysis.
```{r, echo=F, out.width='100%'}
knitr::include_graphics("man/figures/cross_validation_plan.jpg")
```
## Installation
CRAN version:
``` r
install.packages("modeltime.resample")
```
Development version (latest features):
``` r
remotes::install_github("business-science/modeltime.resample")
```
## Why Modeltime Resample?
Resampling time series is an important strategy to __evaluate the stability of models over time.__ However, it's a pain to do this because it requires multiple for-loops to generate the predictions for multiple models and potentially multiple time series groups. __Modeltime Resample simplifies the iterative forecasting process taking the pain away.__
Modeltime Resample makes it easy to:
1. __Iteratively generate predictions__ from time series cross-validation plans.
2. __Evaluate the resample predictions__ to compare many time series models across multiple time-series windows.
Here is an example from [_Resampling Panel Data_](https://business-science.github.io/modeltime.resample/articles/panel-data.html), where we can see that Prophet Boost and XGBoost Models outperform Prophet with Regressors for the Walmart Time Series Panel Dataset using the 6-Slice Time Series Cross Validation plan shown above.
```{r, echo=F, out.width='100%', fig.cap="Model Accuracy for 6 Time Series Resamples"}
knitr::include_graphics("man/figures/plotly_resample_error_plot.jpg")
```
```{r, echo=F, out.width='80%', fig.cap="Resampled Model Accuracy (3 Models, 6 Resamples, 7 Time Series Groups)"}
knitr::include_graphics("man/figures/gt_accuracy_table.jpg")
```
## Getting Started
1. [Getting Started with Modeltime](https://business-science.github.io/modeltime/articles/getting-started-with-modeltime.html): Learn the basics of forecasting with Modeltime.
2. [Resampling a Single Time Series](https://business-science.github.io/modeltime.resample/articles/getting-started.html): Learn the basics of time series resample evaluation.
3. [Resampling Panel Data](https://business-science.github.io/modeltime.resample/articles/panel-data.html): An advanced tutorial on resample evaluation with __multiple time series groups (Panel Data)__
## Meet the modeltime ecosystem
> Learn a growing ecosystem of forecasting packages
```{r, echo=F, out.width='100%', fig.align='center', fig.cap="The modeltime ecosystem is growing"}
knitr::include_graphics("man/figures/modeltime_ecosystem.jpg")
```
Modeltime is part of a __growing ecosystem__ of Modeltime forecasting packages.
- [Modeltime (Machine Learning)](https://business-science.github.io/modeltime/)
- [Modeltime H2O (AutoML)](https://business-science.github.io/modeltime.h2o/)
- [Modeltime GluonTS (Deep Learning)](https://business-science.github.io/modeltime.gluonts/)
- [Modeltime Ensemble (Blending Forecasts)](https://business-science.github.io/modeltime.ensemble/)
- [Modeltime Resample (Backtesting)](https://business-science.github.io/modeltime.resample/)
- [Timetk (Feature Engineering, Data Wrangling, Time Series Visualization)](https://business-science.github.io/timetk/)
## Take the High-Performance Forecasting Course
> Become the forecasting expert for your organization
<a href="https://university.business-science.io/p/ds4b-203-r-high-performance-time-series-forecasting/" target="_blank"><img src="https://www.filepicker.io/api/file/bKyqVAi5Qi64sS05QYLk" alt="High-Performance Time Series Forecasting Course" width="100%" style="box-shadow: 0 0 5px 2px rgba(0, 0, 0, .5);"/></a>
[_High-Performance Time Series Course_](https://university.business-science.io/p/ds4b-203-r-high-performance-time-series-forecasting/)
### Time Series is Changing
Time series is changing. __Businesses now need 10,000+ time series forecasts every day.__ This is what I call a _High-Performance Time Series Forecasting System (HPTSF)_ - Accurate, Robust, and Scalable Forecasting.
__High-Performance Forecasting Systems will save companies by improving accuracy and scalability.__ Imagine what will happen to your career if you can provide your organization a "High-Performance Time Series Forecasting System" (HPTSF System).
### How to Learn High-Performance Time Series Forecasting
I teach how to build a HPTFS System in my [__High-Performance Time Series Forecasting Course__](https://university.business-science.io/p/ds4b-203-r-high-performance-time-series-forecasting). You will learn:
- __Time Series Machine Learning__ (cutting-edge) with `Modeltime` - 30+ Models (Prophet, ARIMA, XGBoost, Random Forest, & many more)
- __Deep Learning__ with `GluonTS` (Competition Winners)
- __Time Series Preprocessing__, Noise Reduction, & Anomaly Detection
- __Feature engineering__ using lagged variables & external regressors
- __Hyperparameter Tuning__
- __Time series cross-validation__
- __Ensembling__ Multiple Machine Learning & Univariate Modeling Techniques (Competition Winner)
- __Scalable Forecasting__ - Forecast 1000+ time series in parallel
- and more.
<p class="text-center" style="font-size:24px;">
Become the Time Series Expert for your organization.
</p>
<br>
<p class="text-center" style="font-size:30px;">
<a href="https://university.business-science.io/p/ds4b-203-r-high-performance-time-series-forecasting">Take the High-Performance Time Series Forecasting Course</a>
</p>