View source: R/train_functions.R

ts_grid | R Documentation |

Tuning time series models with grid search approach using backtesting method. If set to "auto" (default), will use all available cores in the system minus 1

```
ts_grid(ts.obj, model, optim = "MAPE", periods, window_length = NULL,
window_space, window_test, hyper_params, parallel = TRUE,
n.cores = "auto")
```

`ts.obj` |
A univariate time series object of a class "ts" |

`model` |
A string, defines the model c("HoltWinters"), currently support only Holt-Winters model |

`optim` |
A string, set the optimization method - c("MAPE", "RMSE") |

`periods` |
A string, set the number backtesting periods |

`window_length` |
An integer, defines the length of the backtesting training window. If set to NULL (default) will use an expending window starting the from the first observation, otherwise will use a sliding window. |

`window_space` |
An integer, set the space length between each of the backtesting training partition |

`window_test` |
An integer, set the length of the backtesting testing partition |

`hyper_params` |
A list, defines the tuning parameters and their range |

`parallel` |
Logical, if TRUE use multiple cores in parallel |

`n.cores` |
Set the number of cores to use if the parallel argument is set to TRUE. If set to "auto" (default), will use n-1 of the available cores |

A list

```
## Not run:
data(USgas)
# Starting with a shallow search (sequence between 0 and 1 with jumps of 0.1)
# To speed up the process, will set the parallel option to TRUE
# to run the search in parallel using 8 cores
hw_grid_shallow <- ts_grid(ts.obj = USgas,
periods = 6,
model = "HoltWinters",
optim = "MAPE",
window_space = 6,
window_test = 12,
hyper_params = list(alpha = seq(0.01, 1,0.1),
beta = seq(0.01, 1,0.1),
gamma = seq(0.01, 1,0.1)),
parallel = TRUE,
n.cores = 8)
# Use the parameter range of the top 20 models
# to set a narrow but more agressive search
a_min <- min(hw_grid_shallow$grid_df$alpha[1:20])
a_max <- max(hw_grid_shallow$grid_df$alpha[1:20])
b_min <- min(hw_grid_shallow$grid_df$beta[1:20])
b_max <- max(hw_grid_shallow$grid_df$beta[1:20])
g_min <- min(hw_grid_shallow$grid_df$gamma[1:20])
g_max <- max(hw_grid_shallow$grid_df$gamma[1:20])
hw_grid_second <- ts_grid(ts.obj = USgas,
periods = 6,
model = "HoltWinters",
optim = "MAPE",
window_space = 6,
window_test = 12,
hyper_params = list(alpha = seq(a_min, a_max,0.05),
beta = seq(b_min, b_max,0.05),
gamma = seq(g_min, g_max,0.05)),
parallel = TRUE,
n.cores = 8)
md <- HoltWinters(USgas,
alpha = hw_grid_second$alpha,
beta = hw_grid_second$beta,
gamma = hw_grid_second$gamma)
library(forecast)
fc <- forecast(md, h = 60)
plot_forecast(fc)
## End(Not run)
```

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.