Probabilistic Programs as Spreadsheet Queries

  • Andy Gordon ,
  • Claudio Russo ,
  • Marcin Szymczak ,
  • Johannes Borgström ,
  • Thore Graepel ,
  • Daniel Tarlow

MSR-TR-2014-135 |

Published by Microsoft

We describe the design, semantics, and implementation of a probabilistic programming language where programs are spreadsheet queries. Given an input database consisting of tables held in a spreadsheet, a query constructs a probabilistic model conditioned by the spreadsheet data, and returns an output database determined by inference.

This work extends probabilistic programming systems in three novel aspects: (1) embedding in spreadsheets, (2) dependently-typed functions, and (3) typed distinction between random- and query-variables. It empowers users with knowledge of statistical modelling to do inference simply by editing textual annotations within their spreadsheets, with no other coding.