- Instead of sharing slides I'm transcribing my QCon.AI talk to tweets with lots of GIFs :)
- Thanks to @_bletham_ for all his help.
- there are many forecasting tasks at companies
- they are not glamorous problems and most people aren't trained well to tackle them
- 80% of these applications can be handled by a relatively simple model that is easy to use
- curves are easy to reason about and you can decompose them
- the parameters you fit have straightforward interpretations
- curve fitting is very fast so you can iterate quickly
- knots are introduced where they are needed
- the extrapolation is stable as we vary knots
- irreducible noise (🤷♂️)
- parameter uncertainty
- trend forecast uncertainty
- This creates tube-shaped uncertainty in the forecast.
- Large uncertainty indicates the model has fit the historical data poorly.
- This includes all seasonalities, trends, and changepoints.
- As an option, can use Stan’s built in HMC implementation to sample draws from posterior.
(credit @twiecki for the animation)
- at each date in the forecast we allow the trend to change
- rate is based on how many changepoints were selected
- distribution is selected based on the magnitudes
- seasonality prior scale (SPS)
- capacities
SPS controls how flexibly we fit the different seasonalities. You can also just turn seasonalities off if you have a prior they don't exist.
- Piecewise logistic growth curves have a capacity parameter that we do not fit from data.
- use obvious constraints as upper and lower bounds on forecasts.
- capacity can be a constant or as a time series.
- Prophet is a simple model but covers many important use-cases at FB and elsewhere.
- Simple is good! Prophet works robustly and fails in understandable ways.
- Using curve-fitting w/ interpretable parameters allows users to input domain knowledge into forecasts.