What is fbProphet a forecasting model?
What is fbProphet a forecasting model?
Introduction
Understanding time based patterns is critical for any business. Questions like how much inventory to maintain, how much footfall do you expect in your store to how many people will travel by an airline – all of these are important time series problems to solve.
This is why time series forecasting is one of the must-know techniques for any data scientist. From predicting the weather to the sales of a product, it is integrated into the data science ecosystem and that makes it a mandatory addition to a data scientist’s skillset.
If you are a beginner, time series also provides a good way to start working on real life projects. You can relate to time series very easily and they help you enter the larger world of machine learning.
Prophet is an open source library published by Facebook that is based on decomposable (trend+seasonality+holidays) models. It provides us with the ability to make time series predictions with good accuracy using simple intuitive parameters and has support for including impact of custom seasonality and holidays!
In this article, we shall cover some background on how Prophet fills the existing gaps in generating fast reliable forecasts followed by a demonstration using Python. The final results will surprise you!
What’s new in Prophet?
When a forecasting model doesn’t run as planned, we want to be able to tune the parameters of the method with regards to the specific problem at hand. Tuning these methods requires a thorough understanding of how the underlying time series models work. The first input parameters to automated ARIMA, for instance, are the maximum orders of the differencing, the auto-regressive components, and the moving average components. A typical analyst will not know how to adjust these orders to avoid the behaviour and this is the type of expertise that is hard to acquire and scale.
The Prophet package provides intuitive parameters which are easy to tune. Even someone who lacks expertise in forecasting models can use this to make meaningful predictions for a variety of problems in a business scenario.
Where Prophet shines?
Not all forecasting problems can be solved by the same procedure. Prophet is optimized for the business forecast tasks we have encountered at Facebook, which typically have any of the following characteristics:
· hourly, daily, or weekly observations with at least a few months (preferably a year) of history
· strong multiple “human-scale” seasonalities: day of week and time of year
· important holidays that occur at irregular intervals that are known in advance (e.g. the Super Bowl)
· a reasonable number of missing observations or large outliers
· historical trend changes, for instance due to product launches or logging changes
· trends that are non-linear growth curves, where a trend hits a natural limit or saturates
We have found Prophet’s default settings to produce forecasts that are often accurate as those produced by skilled forecasters, with much less effort. With Prophet, you are not stuck with the results of a completely automatic procedure if the forecast is not satisfactory — an analyst with no training in time series methods can improve or tweak forecasts using a variety of easily-interpretable parameters. We have found that by combining automatic forecasting with analyst-in-the-loop forecasts for special cases, it is possible to cover a wide variety of business use-cases. The following diagram illustrates the forecasting process we have found to work at scale:
We have frequently used Prophet as a replacement for the forecast package in many settings because of two main advantages:
1. Prophet makes it much more straightforward to create a reasonable, accurate forecast. The forecast package includes many different forecasting techniques (ARIMA, exponential smoothing, etc), each with their own strengths, weaknesses, and tuning parameters. We have found that choosing the wrong model or parameters can often yield poor results, and it is unlikely that even experienced analysts can choose the correct model and parameters efficiently given this array of choices.
2. Prophet forecasts are customizable in ways that are intuitive to non-experts. There are smoothing parameters for seasonality that allow you to adjust how closely to fit historical cycles, as well as smoothing parameters for trends that allow you to adjust how aggressively to follow historical trend changes. For growth curves, you can manually specify “capacities” or the upper limit of the growth curve, allowing you to inject your own prior information about how your forecast will grow (or decline). Finally, you can specify irregular holidays to model like the dates of the Super Bowl, Thanksgiving and Black Friday.
Conclusion
Prophet is an open-source time series forecasting library published by Facebook, designed to provide accurate predictions with intuitive parameters.
It excels in solving business forecasting problems with hourly, daily, or weekly observations, multiple seasonalities, irregular holidays, missing data, trend changes, and non-linear growth curves. Prophet simplifies the forecasting process, making it easier to create accurate forecasts and allowing customization by non-experts through adjustable parameters and the inclusion of specific events like holidays.
References
https://www.analyticsvidhya.com/blog/2018/05/generate-accurate-forecasts-facebook-prophet-python-r/
For complete understanding of fbprophet and their usage go through the below mentioned link
#fbprophet #forecast #businessforecast #analytics #nanobi #hunnarvi
Gokul G
ISME Student Doing internship with Hunnarvi under guidance of Nanobi data and analytics. Views are personal.
Comments
Post a Comment