Hierarchical Time Series With Prophet and PyMC3 by Matthijs Brouns

good questions @junpenglao!

I LOL at the title, also, excellent breakdown of the library API design. Could you share the materials during your talk (Streamlit link, etc)?

Thanks! The name was a joint effort together with @koaning. I came up with seers as a plural form of a single prophet, and Vincent then suggested to make it time-seers and added the great pun.

The streamlit dashboard can be found on http://prophet.mbrouns.com/
The full repo is here: GitHub - MBrouns/timeseers: Time should be taken seer-iously
The materials I worked through in the talk are here. The second attachment is actually a ipynb but I’m not allowed to upload those so you’ll have to rename it yourself:
plotting.py (3.7 KB)
pymcon.py (599.6 KB)

One limitation I see in the current API is that the change points in LinearTrend model are arbitrary constant intervals

correct: the current approach is to seed the domain with “enough” changepoints and strongly regularize them. That doesn’t feel like the most elegant way to solve this and I’m eager to work on more elegant solutions. The first version of that will be allowing the users to manually define changepoints, but I’m also interested in figuring out more automatic methods. For the next three weeks I’m up to my neck in work for PyData Global and when that’s done I want to push to a first timeseers release

it might be useful however to allow the trend line being not connected to account for sudden jumps in the time series

Definitely, my thinking there at the moment was to model this as an additional regressor component. Would you prefer it in the trend?

4 Likes