Book Image

Forecasting Time Series Data with Facebook Prophet

By : Greg Rafferty
Book Image

Forecasting Time Series Data with Facebook Prophet

By: Greg Rafferty

Overview of this book

Prophet enables Python and R developers to build scalable time series forecasts. This book will help you to implement Prophet’s cutting-edge forecasting techniques to model future data with higher accuracy and with very few lines of code. You will begin by exploring the evolution of time series forecasting, from the basic early models to the advanced models of the present day. The book will demonstrate how to install and set up Prophet on your machine and build your first model with only a few lines of code. You'll then cover advanced features such as visualizing your forecasts, adding holidays, seasonality, and trend changepoints, handling outliers, and more, along with understanding why and how to modify each of the default parameters. Later chapters will show you how to optimize more complicated models with hyperparameter tuning and by adding additional regressors to the model. Finally, you'll learn how to run diagnostics to evaluate the performance of your models and see some useful features when running Prophet in production environments. By the end of this Prophet book, you will be able to take a raw time series dataset and build advanced and accurate forecast models with concise, understandable, and repeatable code.
Table of Contents (18 chapters)
1
Section 1: Getting Started
4
Section 2: Seasonality, Tuning, and Advanced Features
13
Section 3: Diagnostics and Evaluation

Conventions used

There are a number of text conventions used throughout this book.

Code in text: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: "The make_future_dataframe method requires us to specify the number of days we intend to forecast out."

A block of code is set as follows:

model = Prophet()
model.fit(df)
future = model.make_future_dataframe(periods=365)
forecast = model.predict(future)
fig = model.plot(forecast)
plt.show()

When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:

model = Prophet()
model.fit(df)
future = model.make_future_dataframe(periods=60, freq='MS')
forecast = model.predict(future)
fig = model.plot(forecast)
plt.show()

Any command-line input or output is written as follows:

pip install pystan
pip install fbprophet

Bold: Indicates a new term, an important word, or words that you see on screen. For example, words in menus or dialog boxes appear in the text like this. Here is an example: "In the following seasonality plot, I've used the Toggle Spike Lines and Compare Data buttons from this toolbar to add further information to the hover tooltip, seen here:"

Tips or important notes

Appear like this.