Repository for Classical Forecasting Methods, Machine Learning and Deep Learning Models for Time Series Forecasting.The objective of case study is to compare various models with minimal feature engineering techniques.
Time series data is a series of data points measured at consistent time intervals which may be hourly, daily, weekly, every 10 days, and so on. In a time series data, each data point in the series depends on the previous data points.
In multivariate, Time-Series data, multiple variables will be varying over time. Each variable depends not only on its past values but also has some dependency on other variables. This dependency is used for forecasting future values. In univariate, Time Series data only one variable is varying over time.
Here we will address the problem using Classical Linear Models, Tree based algorithms, Ensemble Methods and Neural Network based Methods.
Your client is global shampoo manufacturer. The client has shared with you the demo data set and a data dictionary. The business is interested in understanding the drivers behind the shampoo consumption and are looking for data-driven recommendations for improving the sales.
This dataset describes the monthly sales of shampoo over a 3 year period. The units are a sales count and there are 36 observations. The original dataset is credited to Makridakis, Wheelwright and Hyndman (1998).
There are three classes of methods that might be interesting to explore on this problem; they are:
- Classical Forecasting Methods.
- Machine Learning Methods.
- Deep Learning Methods.
The solution is split into Exploratory data analysis and Model Building.
Exploratory data analysis results are stored in below notebook.
Exploratory data analysis.ipynb
Below are the notebooks for Models:
Machine Learning - Model 1.ipynb
for Non linear modelsDeep Learning - Model 1.ipyb
for Keras based linear regression- `Classical Linear Models.ipynb' for linear models
You need to have Jupyter Notebook installed to run the file
If you do not have Python installed yet, it is highly recommended that you install the Anaconda distribution of Python, which already has the above packages and more included.
Before running the file, first install all necessary dependencies:
pip3 install -r requirements.txt
To run the notebook, open terminal or command window, navigate to the top-level project directory Multivariate-Time-Series-Forecasting/
(that contains this README) and run one of the following commands:
ipython notebook Exploratory data analysis.ipynb
or
jupyter notebook Exploratory data analysis.ipynb