Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
A domain theory for statistical probabilistic programming
Vákár M., Kammar O., Staton S.  Proceedings of the ACM on Programming Languages 3 (POPL): 1-29, 2019. Type: Article
Date Reviewed: Aug 6 2020

On the one hand, a statistical programming language is similar to a traditional programming language, but with libraries providing statistical functions. Examples are Mathematica, MATLAB, and the omnipresent R. On the other hand, probabilistic programming aims at providing a model of a probabilistic function or distribution as a program written in a programming language. As an example, WebPPL is a probabilistic extension of JavaScript. Essentially, we define a probabilistic function not mathematically, but as a program that computes an output using a sample from a specific given distribution function. Statistical probabilistic programming aims at their seamless combination.

When writing a program in a traditional programming language, each one of its executions must provide an output for each given input. However, when reasoning about programs, we usually cannot compute all the possible executions and use other techniques. A very common one is compositionality. That is, we obtain properties of a given program by composing properties of its inner parts.

But when writing a probabilistic program, there is no given input--we are not interested in specific data, but in input distribution functions. That is, the notion of an execution in a traditional program is related not to a concrete execution of the probabilistic program, but to executing the program many times using specific input data taken from an uncertainty distribution and extrapolating the probability associated to the output generated from each input. But reasoning about probabilistic programs becomes much more difficult, and compositionality is a must.

This paper explores how the commutativity property of compositionality fails in statistical probabilistic programming and provides a denotational semantics for statistical probabilistic programming with recursive types. The authors use quasi-Borel predomains, which are “a mixture of chain-complete partial orders (CPOs) and quasi-Borel spaces.”

The main language is statistical FPC (SFPC), a statistical variant of fixed-point calculus (FPC), including sum, product, function, and recursive types; real numbers and measurable functions from reals into reals; a construct for testing real numbers for zero; a construct for random numbers; and a construct for soft constraints.

Reviewer:  Santiago Escobar Review #: CR147032 (2010-0243)
Bookmark and Share
  Editor Recommended
Featured Reviewer
Statistical Computing (G.3 ... )
Denotational Semantics (F.3.2 ... )
Probabilistic Computation (F.1.2 ... )
Learning (I.2.6 )
Models Of Computation (F.1.1 )
Programming Languages And Software (I.2.5 )
Would you recommend this review?
Other reviews under "Statistical Computing": Date
 Data exploration using example-based methods
Lissandrini M., Mottin D., Palpanas T., Velegrakis Y.,  Morgan&Claypool Publishers, San Rafael, CA, 2019. 164 pp. Type: Book (978-1-681734-55-2)
Nov 18 2019
Introductory biostatistics (2nd ed.)
Le C., Eberly L.,  Wiley Publishing, Hoboken, NJ, 2016. 616 pp. Type: Book (978-0-470905-40-1)
Apr 19 2019
Basic elements of computational statistics
Härdle W., Okhrin O., Okhrin Y.,  Springer International Publishing, New York, NY, 2017. 305 pp. Type: Book (978-3-319553-35-1)
Jan 24 2019

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright © 2000-2021 ThinkLoud, Inc.
Terms of Use
| Privacy Policy