1 of 24

Orbit

Object Oriented Bayesian Time Series Forecasting

Orbit Development Team

Jul 2021 Uber Meetup

2 of 24

Agenda

Motivation

Introduction

Package Design

Performance

Hands-on

3 of 24

Motivation

Bayesian methods provide an intuitive way to connect prior belief (information) with new data

The Bayesian approach in general and for times series in particular can

  • Parsimoniously resolve complex structures
  • Account for multiple sources of variation
  • Combine multiple types of information
  • Be easily interpreted
  • Recently published “Bayesian Time Varying Coefficient Model with Applications to Marketing Mix Modeling” https://arxiv.org/abs/2106.03322

4 of 24

Motivation

Orbit aims to simplify Bayesian time-series workflow with powerful APIs

Your Business

Problem

Stan

Pyro

5 of 24

Motivation

An overview of Bayesian time-series workflow

6 of 24

Motivation

Compare to other solutions in Bayesian time-series

ABILITY TO GENERALIZE

MODEL IMPLEMENTATION

prophet

bsts

orbit

pymc3

pyro

tensorflow

probability

7 of 24

Introduction

Why Orbit?

  • Ease of use
  • Flexibility
  • Interpretability
  • Object-Oriented Design
  • Workflow support
  • High-performance

8 of 24

Introduction

Time series modeling with ease

Intuitive initialize-fit-predict interface while Orbit doing the heavy lifting under the hood.

Initialize

Fit and Predict

9 of 24

Introduction

Allows user choice of

  • Prior distributions (e.g., uniform between bounds, or informative)
  • Algorithm for sampling the Posterior distribution
  • Some models support multiple APIs e.g. Stan vs. Pyro
  • Returning a point estimate (with choice of aggregation; e.g., mean or map) or the whole posterior distribution

MAP

MCMC

SVI

PPD

Pior

10 of 24

Allow prediction decomposition

Introduction

Orbit predictions can be decomposed in a structural way

11 of 24

Package Design

Use composition and inheritance to build customized model

12 of 24

Package Design

Follow initialize-fit-predict convention along with the object-oriented design

Initialize

Fit

Predict

Explore and Validate

  • default priors
  • estimator type validation
  • initialize values
  • add-your-own-validation
  • add-your-own-initialization
  • data pre-processing
  • data-driven priors
  • data validation
  • posteriors extraction
  • add-your-own-fitter
  • data pre-processing
  • data validation
  • add-your-own-predictor
  • data exploratory analysis
  • posteriors checks
  • backtester
  • hyper-parameters search

from estimation template

from base model

13 of 24

Package Design

Diagnose the fitted models with built-in backtest modules

14 of 24

Performance

Benchmark against other models with built-in backtest modules

15 of 24

Performance

More robust check behind the scene

Meet Michelangelo: Uber’s Machine Learning Platform https://eng.uber.com/michelangelo-machine-learning-platform

16 of 24

A Peek into the Math for Damped Local Trend (DLT)

Hands-on

Forecasting Equations

Update Equations

17 of 24

Hands-on

A couple lines from data to forecast and diagnostics

Initialize

Fit and Predict

Plot

18 of 24

Hands-on

Consistent interface for all models

Exponential Smoothing (ETS)

Local Global Trend (LGT)

Damped Local Trend (DLT)

Kernel Time-based Regression (KTR-Lite)

19 of 24

Hands-on

Support for different types of regression penalties

Regular Regression

Fixed/Auto Ridge

Lasso

20 of 24

Hands-on

Posterior distributions and model convergence check

Integrated with arviz

21 of 24

Available on arxiv and github

Post on Uber Engineering Blog

https://eng.uber.com/orbit/

22 of 24

The Team and Alumni

Team at Uber

Alumni

23 of 24

Roadmap

  • Explore more sampling API (e.g. PyStan3, Numpyro)
  • Allow configuring distribution of some parameters (e.g. noise, regression coefficients)
  • Allow configuring link function (identity, logit, poisson …)
  • Explore multivariate time-series

24 of 24

Q&A

Thanks for joining!

Take a minute and fill out the survey for feedbacks!

Survey Link & QR Code: https://forms.gle/ZXqSqXahRS7G3W157