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.