Git Product home page Git Product logo

probabilistic-programming-packages's Introduction

probabilistic-programming-packages

Trying out different probabilistic programming languages on the same statistical model.

Current results

These are very preliminary results based on the minimum effective sample size (ESS) across all parameters. All PPLs were run in Colab. More PPLs will be added, models and evaluation metrics will be improved by collaborating with devs, and the hardware will be swapped out for something more consistent.

Please get in touch if you'd like to help with this project, either here, here, or (even better) create a pull request.

PPL compile time (s) CPU ESS/second GPU ESS/second
stan 14.8 181.1
nimble 7.7 46.2
JAGS 5.0 405.9
greta 9.3 12.1 -
PyMC 13.0 56.2
PyMC + blackjax - -
numpyro 7.2 293.8 10.9
tfp 22.9 192.0 2.4
beanmachine - 5.9
Turing 14.9 16.3

Packages

Implemented:

To do:

Model

We fit a hierarchical model to predict football results over a Premier League season. The idea is taken from the Stan's video on Hierarchical Modelling in Stan: Predicting the Premier League, which itself is inspired by the paper Bayesian hierarchical model for the prediction of football results by Baio and Blangiardo in 2010.

The data are the 380 matches of the 2019/20 Premier League season, consisting of the home team, the away team and the scoreline.

The number of goals for the home or away team in a match follows a Poisson distribution. The rate is modelled as a log-linear multilevel random effect model with an attacking parameter for each team, a defending parameter for each team, and a home advantage parameter in the home goals likelihood.

probabilistic-programming-packages's People

Contributors

theorashid avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.