Prophet empowers 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 high accuracy using only a few lines of code.
You'll begin by exploring the evolution of time series forecasting, from basic early models to present-day advanced models. After the initial installation and setup, you'll take a deep dive into the mathematics and theory behind Prophet. You'll then cover advanced features such as visualizing your forecasts, adding holidays and trend changepoints, and handling outliers. You'll use the Fourier series to model seasonality, learn how to choose between an additive and multiplicative model, and understand when to modify each model parameter. This updated edition has a new section on modeling shocks such as COVID. Later on in the book you'll see 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 discover useful features when running Prophet in production environments.
By the end of this book, you'll be able to take a raw time series dataset and build advanced and accurate forecasting models with concise, understandable, and repeatable code.
Author(s): Greg Rafferty
Publisher: Packt Publishing Pvt Ltd
Year: 2023
Language: English
Pages: 330
Forecasting Time Series Data with Prophet
Contributors
About the author
Preface
Who this book is for
What this book covers
To get the most out of this book
Download the example code files
Conventions used
Get in touch
Share your thoughts
Download a free PDF copy of this book
Part 1: Getting Started with Prophet
1
The History and Development of Time Series Forecasting
Understanding time series forecasting
The problem with dependent data
Moving averages and exponential smoothing
ARIMA
ARCH/GARCH
Neural networks
Prophet
Recent developments
NeuralProphet
Google’s “robust time series forecasting at scale”
LinkedIn’s Silverkite/Greykite
Uber’s Orbit
Summary
2
Getting Started with Prophet
Technical requirements
Installing Prophet
Installation on macOS
Installation on Windows
Installation on Linux
Building a simple model in Prophet
Interpreting the forecast DataFrame
Understanding components plots
Summary
3
How Prophet Works
Technical requirements
Facebook’s motivation for building Prophet
Analyst-in-the-loop forecasting
The math behind Prophet
Linear growth
Logistic growth
Seasonality
Holidays
Summary
Part 2: Seasonality, Tuning, and Advanced Features
4
Handling Non-Daily Data
Technical requirements
Using monthly data
Using sub-daily data
Using data with regular gaps
Summary
5
Working with Seasonality
Technical requirements
Understanding additive versus multiplicative seasonality
Controlling seasonality with the Fourier order
Adding custom seasonalities
Adding conditional seasonalities
Regularizing seasonality
Global seasonality regularization
Local seasonality regularization
Summary
6
Forecasting Holiday Effects
Technical requirements
Adding default country holidays
Adding default state/province holidays
Creating custom holidays
Creating multi-day holidays
Regularizing holidays
Global holiday regularization
Individual holiday regularization
Summary
7
Controlling Growth Modes
Technical requirements
Applying linear growth
Understanding the logistic function
Saturating forecasts
Increasing logistic growth
Non-constant cap
Decreasing logistic growth
Applying flat growth
Creating a custom trend
Summary
8
Influencing Trend Changepoints
Technical requirements
Automatic trend changepoint detection
Default changepoint detection
Regularizing changepoints
Specifying custom changepoint locations
Summary
9
Including Additional Regressors
Technical requirements
Adding binary regressors
Adding continuous regressors
Interpreting the regressor coefficients
Summary
10
Accounting for Outliers and Special Events
Technical requirements
Correcting outliers that cause seasonality swings
Correcting outliers that cause wide uncertainty intervals
Detecting outliers automatically
Winsorizing
Standard deviation
The moving average
Error standard deviation
Modeling outliers as special events
Modeling shocks such as COVID-19 lockdowns
Summary
11
Managing Uncertainty Intervals
Technical requirements
Modeling uncertainty in trends
Modeling uncertainty in seasonality
Summary
Part 3: Diagnostics and Evaluation
12
Performing Cross-Validation
Technical requirements
Performing k-fold cross-validation
Performing forward-chaining cross-validation
Creating the Prophet cross-validation DataFrame
Parallelizing cross-validation
Summary
13
Evaluating Performance Metrics
Technical requirements
Understanding Prophet’s metrics
Mean squared error
Root mean squared error
Mean absolute error
Mean absolute percent error
Median absolute percent error
Symmetric mean absolute percent error
Coverage
Choosing the best metric
Creating a Prophet performance metrics DataFrame
Handling irregular cut-offs
Tuning hyperparameters with grid search
Summary
14
Productionalizing Prophet
Technical requirements
Saving a model
Updating a fitted model
Making interactive plots with Plotly
Plotly forecast plot
Plotly components plot
Plotly single component plot
Plotly seasonality plot
Summary
Index
Why subscribe?
Other Books You May Enjoy
Packt is searching for authors like you
Share your thoughts
Download a free PDF copy of this book