一句话:提出概率程序的贝叶斯合成框架,从观测数据自动构造数据建模 DSL 程序并保证其可靠性。
论文研究如何自动构造用于数据分析、解释与预测的概率程序。作者在刻画一大类数据生成过程关键性质的概率领域特定建模语言上,用贝叶斯推断从观测数据合成概率程序,并给出贝叶斯合成用于自动数据建模的精确定义,识别出使合成过程可靠(sound)的充分条件。针对由概率上下文无关文法(PCFG)指定的领域特定语言,作者推导出一类通用合成算法并证明其可靠性。方法上,一方面分析合成程序的结构,计算底层数据生成过程具备各关键定性性质的概率;另一方面将 DSL 程序翻译为通用概率编程系统 Venture 中的程序并执行,以预测新的时间序列与多变量表格数据记录。实验表明,该技术能准确推断多个真实数据集中的定性结构,并在预测新数据上优于标准数据分析方法。
We present new techniques for automatically constructing probabilistic programs for data analysis, interpretation, and prediction. These techniques work with probabilistic domain-specific data modeling languages that capture key properties of a broad class of data generating processes, using Bayesian inference to synthesize probabilistic programs in these modeling languages given observed data. We provide a precise formulation of Bayesian synthesis for automatic data modeling that identifies sufficient conditions for the resulting synthesis procedure to be sound. We also derive a general class of synthesis algorithms for domain-specific languages specified by probabilistic context-free grammars and establish the soundness of our approach for these languages. We apply the techniques to automatically synthesize probabilistic programs for time series data and multivariate tabular data. We show how to analyze the structure of the synthesized programs to compute, for key qualitative properties of interest, the probability that the underlying data generating process exhibits each of these properties. Second, we translate probabilistic programs in the domain-specific language into probabilistic programs in Venture, a general-purpose probabilistic programming system. The translated Venture programs are then executed to obtain predictions of new time series data and new multivariate data records. Experimental results show that our techniques can accurately infer qualitative structure in multiple real-world data sets and outperform standard data analysis methods in forecasting and predicting new data.
@article{paperbot629,
title = {Bayesian synthesis of probabilistic programs for automatic data modeling},
author = {Feras A. Saad and Marco F. Cusumano-Towner and Ulrich Schaechtle and Martin C. Rinard and Vikash K. Mansinghka},
journal = {Proceedings of the ACM on Programming Languages},
volume = {3},
number = {POPL},
year = {2019},
doi = {10.1145/3290350}
}