Demand Forecast of Time Series Data

February 24, 2020
Demand forecast is a common function performed by sales organizations. This experiment shows how a machine learning model can be used to forecast demand for a bike rental company.
# Scenario The company in this experiment rents bicycles to consumers. We are given historical data that shows how many bikes were rented out for each hour of every day for a duration of two years as well as some related information such as weather conditions. <br> The task is to build a machine learning model that will learn from the given historical data and be able to predict demand for the next hour when given the information about the current hour. <br><br> # Data Set ![enter image description here][1] <br><br> The data set given is quite straight forward. Each row represents one hour and in each row we can see how many bikes were rented for that hour. The column Q in the above diagram shows the count or the number of bikes rented for that hour, and the count is further broken into "casual" and "registered" users.<br> The columns such as season, yr, mnth and hr are quite self explanatory. Weekday represents the day of the week. Workingday is a boolean value of whether it's a working day. <br> temp, atemp, hum and windspeed capture the weather conditions of a particular hour. These are numeric values that have been normalized. <br><br> # Content This demo shows how to 1. Build a regression model to do demand forecast <br> 2. Improve performance by changing the ML model <br> 3. Write python scripts to create new features <br> 4. Deploy model to Excel <br> # Tutorial Step by step video tutorial is available from this [youtube playlist][2] Part 1 - [How to Build a Simple Model using Azure ML][3] <br> Part 2 - [How to Change a Model in Azure ML][4] <br> Part 3 - [How to Create New Features using Azure ML][5] <br> Part 4 - [How do Deploy a Machine Learning Model to Excel with Azure ML][6] <br> # Outcome Two regression models were used in this experiment - Linear Regression and Boosted Decision Tree Regression. We started with a RMSE of 192 using linear regression as a baseline model. After changing to the boosted decision tree model as well as some feature engineering, we were able to reduce the RMSE to 89, a reduction of about 64%.<br> [1]: [2]: [3]: [4]: [5]: [6]: