Time Series Model Template Using Exponential Smoothing Version 1

As I work on practicing and solving machine learning (ML) problems, I find myself repeating a set of steps and activities repeatedly.

The purpose of this modeling exercise is to construct an end-to-end template for solving machine learning problems. This Python script will adapt Dr. Jason Brownlee’s blog post on this topic and build a robust template for solving similar problems.

Version 1 of the exponential smoothing template contains structures and features that are like the ARIMA template. I pull together this template to take a machine learning exercise from beginning to end.

You will find the Python templates on the Machine Learning Project Templates page.

Time Series Model for Monthly Car Sales Using Python and ETS

Template Credit: Adapted from a template made available by Dr. Jason Brownlee of Machine Learning Mastery.

SUMMARY: The purpose of this project is to construct a time series prediction model and document the end-to-end steps using a template. The Monthly Car Sales dataset is a time series situation where we are trying to forecast future outcomes based on past data points.

Additional Notes: This is a replication, with some small modifications, of Dr. Jason Brownlee’s blog post, How to Grid Search Triple Exponential Smoothing for Time Series Forecasting in Python (https://machinelearningmastery.com/how-to-grid-search-triple-exponential-smoothing-for-time-series-forecasting-in-python/). I plan to leverage Dr. Brownlee’s exponential smoothing or ETS (Error, Trend and Seasonality) tutorial examples and build an ETS-based notebook template for future uses.

INTRODUCTION: The problem is to forecast the monthly number of car sales in Quebec. The dataset described a time-series of car sales over 9 year from 1960 to 1968, and there are 108 observations. We used the first 96 observations for training the model while using the remaining 12 observations for testing the model.

ANALYSIS: The ETS model, which models additive trend with no trend dampening, additive seasonal component, seasonal periods of 12, no BoxCox transform, and bias removed, appeared to have the lowest RMSE at 1523.

CONCLUSION: For this dataset, the chosen ETS model achieved a satisfactory result and should be considered for further modeling.

Dataset Used: Monthly car sales in Quebec, 1960-1968

Dataset ML Model: Time series forecast with numerical attributes

Dataset Reference: Rob Hyndman and Yangzhuoran Yang (2018). tsdl: Time Series Data Library. v0.1.0. https://pkg.yangzhuoranyang./tsdl/

The HTML formatted report can be found here on GitHub.

Time Series Model for Monthly Mean Temperatures Using Python and ETS

Template Credit: Adapted from a template made available by Dr. Jason Brownlee of Machine Learning Mastery.

SUMMARY: The purpose of this project is to construct a time series prediction model and document the end-to-end steps using a template. The Monthly Mean Temperatures dataset is a time series situation where we are trying to forecast future outcomes based on past data points.

Additional Notes: This is a replication, with some small modifications, of Dr. Jason Brownlee’s blog post, How to Grid Search Triple Exponential Smoothing for Time Series Forecasting in Python (https://machinelearningmastery.com/how-to-grid-search-triple-exponential-smoothing-for-time-series-forecasting-in-python/). I plan to leverage Dr. Brownlee’s exponential smoothing or ETS (Error, Trend and Seasonality) tutorial examples and build an ETS-based notebook template for future uses.

INTRODUCTION: The problem is to forecast the mean monthly temperatures. The dataset described a time-series of the monthly average air temperatures in Nottingham Castle, England, from 1920 to 1939 in degrees Fahrenheit, and there are 240 observations. We will use only the 48 most recent observations for training the model while using the very last 12 observations for testing the model.

ANALYSIS: The ETS model, which models multiplicative trend with no trend dampening, multiplicative seasonal component, seasonal periods of 12, no BoxCox transform, and no bias removal, appeared to have the best RMSE at 1.480.

CONCLUSION: For this dataset, the chosen ETS model achieved a satisfactory result and should be considered for further modeling.

Dataset Used: Mean monthly air temperature at Nottingham Castle, England, 1920-1939

Dataset ML Model: Time series forecast with numerical attributes

Dataset Reference: Rob Hyndman and Yangzhuoran Yang (2018). tsdl: Time Series Data Library. v0.1.0. https://pkg.yangzhuoranyang./tsdl/

The HTML formatted report can be found here on GitHub.

Time Series Model for Monthly Shampoo Sales Using Python and ETS

Template Credit: Adapted from a template made available by Dr. Jason Brownlee of Machine Learning Mastery.

SUMMARY: The purpose of this project is to construct a time series prediction model and document the end-to-end steps using a template. The Monthly Shampoo Sales dataset is a time series situation where we are trying to forecast future outcomes based on past data points.

INTRODUCTION: The problem is to forecast the monthly number of shampoo sales. The dataset described a time-series of monthly shampoo sales for three years, and there are 36 observations. We will use the first 24 observations for training the model while using the remaining 12 observations for testing the model.

ANALYSIS: The ETS model, which models multiplicative trend with no trend dampening, no BoxCox transform, and no bias removal, appeared to have the lowest RMSE at 83.72.

CONCLUSION: For this dataset, the chosen ETS model achieved a satisfactory result and should be considered for further modeling.

Dataset Used: Sales of shampoo over a three-year period

Dataset ML Model: Time series forecast with numerical attributes

Dataset Reference: Rob Hyndman and Yangzhuoran Yang (2018). tsdl: Time Series Data Library. v0.1.0. https://pkg.yangzhuoranyang./tsdl/

The HTML formatted report can be found here on GitHub.

Time Series Model for Female Births in California Using Python and ETS

Template Credit: Adapted from a template made available by Dr. Jason Brownlee of Machine Learning Mastery.

SUMMARY: The purpose of this project is to construct a time series prediction model and document the end-to-end steps using a template. The California Female Births dataset is a time series situation where we are trying to forecast future outcomes based on past data points.

Additional Notes: This is a replication, with some small modifications, of Dr. Jason Brownlee’s blog post, How to Grid Search Triple Exponential Smoothing for Time Series Forecasting in Python (https://machinelearningmastery.com/how-to-grid-search-triple-exponential-smoothing-for-time-series-forecasting-in-python/). I plan to leverage Dr. Brownlee’s exponential smoothing or ETS (Error, Trend and Seasonality) tutorial examples and build an ETS-based notebook template for future uses.

INTRODUCTION: The problem is to forecast the daily number of female births in California. The dataset described a time-series of baby births over 12 months in 1959, and there are 365 observations. We used the first 200 observations for training the model while using the remaining 165 observations for validating the model.

ANALYSIS: The ETS model, which models multiplicative trend with no trend dampening, BoxCox transform, and bias removed, appeared to have the best RMSE at 6.984.

CONCLUSION: For this dataset, the chosen ETS model achieved a satisfactory result and should be considered for further modeling.

Dataset Used: Daily total female births in California, 1959

Dataset ML Model: Time series forecast with numerical attributes

Dataset Reference: Rob Hyndman and Yangzhuoran Yang (2018). tsdl: Time Series Data Library. v0.1.0. https://pkg.yangzhuoranyang./tsdl/

The HTML formatted report can be found here on GitHub.