Time series forecasting is one of the most important topics in data science. Almost every business needs to predict the future in order to make better decisions and allocate resources more effectively. This repository provides examples and best practice guidelines for building forecasting solutions. The goal of this repository is to build a comprehensive set of tools and examples that leverage recent advances in forecasting algorithms to build solutions and operationalize them. Rather than creating implementations from scratch, we draw from existing state-of-the-art libraries and build additional utilities around processing and featuring the data, optimizing and evaluating models, and scaling up to the cloud. The examples and best practices are provided as Python Jupyter notebooks and R markdown files and a library of utility functions.
Features
- Simple forecasting method based on historical mean
- Auto Regressive Integrated Moving Average (ARIMA) model that is automatically selected
- Automated forecasting procedure based on an additive model with non-linear trends
- Exponential Smoothing algorithm with additive errors
- Dilated Convolutional Neural Network that captures long-range temporal flow with dilated causal connections
- Gradient boosting decision tree implemented with LightGBM package for high accuracy and fast speed