Time Series Forecasting using Custom Modules

Time Series Forecasting with Azure ML R custom modules for Arima and ETS

This experiment has 3 new modules that helps create forecast for time series data
- **Train and Score time series** data using R time series library. This module asks users to provide dataset with historical values, provide number of forecast points, seasonality period, and forecast algorithm (Arima, ETS, STL)
- **Scoring time series** accepts input as serialized model with number of forecast periods. This module forecasts future periods based on the model and requested number of periods
- **Evaluate time series** - this accepts dataset with observed and forecast values to generate performance metrics such as RMSE and plot actual vs. forecast
### Train Score Time Series Module ###
As shown below, this module accepts a single input, a training dataset, used to train the time series data. This module requires user to configure additional settings specifying column to be used for training the model, number of predictions to be generated, user's POV for seasonality of input data, and algorithm to be used for training module.
This module generates forecast data, low/high 80% confidence interval, low/high 95% confidence interval and serialized model to be used for scoring only.
![](http://neerajkh.blob.core.windows.net/images/TrainScoreCapture.PNG)
### Score Time Series Module ###
This module accepts serialized model as an input that is previously trained using Train/Score. This module requires only a single setting that is number of predictions to be generated.
This module generates forecast data, low/high 80% confidence interval, and low/high 95% confidence interval.
![](http://neerajkh.blob.core.windows.net/images/ScoreCapture.PNG)
### Evaluate Time Series Module ###
This module accepts dataset containing actual vs. forecast values. This module expects user to configure column representing actual, column representing forecast, and prediction algorithm
![](http://neerajkh.blob.core.windows.net/images/EvaluateCapture.PNG)
This module generates plot of actual vs. forecast for users to visualize effectiveness of the predictions
![](http://neerajkh.blob.core.windows.net/images/PlotForecastActualCapture.PNG)
This module also produces performance metrics such as root mean square for measuring effectiveness and quality of the model
![](http://neerajkh.blob.core.windows.net/images/perfmetrics.png)
### Overall Experiment ###
![](http://neerajkh.blob.core.windows.net/images/timeseries.png)
### Source code for modules ###
** [Evaluate forecast timeseries][1] **
** [Train Score timeseries data][2]**
[1]: https://gist.github.com/nk773/9cbbc1bd8856ef958451baa1803c5eaf
[2]: https://gist.github.com/nk773/af9bb2caf92bb23b95bac873312a5269