Probabilistic Data Analysis with Probabilistic Programming Feras Saad
[email protected] Computer Science & Artificial Intelligence Laboratory Massachusetts Institute of Technology Cambridge, MA 02139, USA Vikash Mansinghka
[email protected] Department of Brain & Cognitive Sciences Massachusetts Institute of Technology Cambridge, MA 02139, USA Abstract Probabilistic techniques are central to data analysis, but different approaches can be difficult to apply, combine, and compare. This paper introduces composable generative population models (CGPMs), a computational abstraction that extends directed graphical models and can be used to describe and compose a broad class of probabilistic data analysis techniques. Examples include hierarchical Bayesian models, multivariate kernel methods, discriminative machine learning, clus- tering algorithms, dimensionality reduction, and arbitrary probabilistic programs. We also demon- strate the integration of CGPMs into BayesDB, a probabilistic programming platform that can ex- press data analysis tasks using a modeling language and a structured query language. The practical value is illustrated in two ways. First, CGPMs are used in an analysis that identifies satellite data records which probably violate Kepler’s Third Law, by composing causal probabilistic programs with non-parametric Bayes in under 50 lines of probabilistic code. Second, for several representa- tive data analysis tasks, we report on lines of code and accuracy measurements of various CGPMs, plus comparisons with standard baseline solutions from Python and MATLAB libraries. Keywords: probabilistic programming, non-parametric Bayesian inference, probabilistic databases, hybrid modeling, multivariate statistics Acknowledgments The authors thank Taylor Campbell, Gregory Marton, and Alexey Radul for engineering support, and Anthony Lu, Richard Tibbetts, and Marco Cusumano-Towner for helpful contributions, feed- back and discussions.