Litcius/Paper detail

PyAutoFit: A Classy Probabilistic Programming Language for Model Composition and Fitting

James. Nightingale, Richard Hayes, Matthew Griffiths

2021The Journal of Open Source Software36 citationsDOIOpen Access PDF

Abstract

A major trend in academia and data science is the rapid adoption of Bayesian statistics for data analysis and modeling, leading to the development of probabilistic programming languages (PPL). A PPL provides a framework that allows users to easily specify a probabilistic model and perform inference automatically. PyAutoFit is a Python-based PPL which interfaces with all aspects of the modeling (e.g., the model, data, fitting procedure, visualization, results) and therefore provides complete management of every aspect of modeling. This includes composing high-dimensionality models from individual model components, customizing the fitting procedure and performing data augmentation before a model-fit. Advanced features include database tools for analysing large suites of modeling results and exploiting domainspecific knowledge of a problem via non-linear search chaining. Accompanying PyAutoFit is the autofit workspace, which includes example scripts and the HowToFit lecture series which introduces non-experts to model-fitting and provides a guide on how to begin a project using PyAutoFit. Readers can try PyAutoFit right now by going to the introduction Jupyter notebook on Binder or checkout our readthedocs for a complete overview of PyAutoFit's features.

Topics & Concepts

Computer scienceScripting languageProbabilistic logicInferenceStatistical modelProgramming languageBayesian inferenceBayesian probabilityArtificial intelligenceMachine learningData miningBayesian networkGraphical modelData modelingTheoretical computer scienceData structureLanguage modelStatistical inferenceSeries (stratigraphy)Data typeProbabilistic relevance modelModeling languageBayesian statisticsProgramming paradigmSoftware engineeringBayesian Modeling and Causal InferenceGaussian Processes and Bayesian InferenceStatistics Education and Methodologies
PyAutoFit: A Classy Probabilistic Programming Language for Model Composition and Fitting | Litcius