109
views
0
recommends
+1 Recommend
1 collections
    0
    shares
      • Record: found
      • Abstract: found
      • Article: found
      Is Open Access

      Probabilistic programming in Python using PyMC3

      research-article

      Read this article at

      ScienceOpenPublisher
      Bookmark
          There is no author summary for this article yet. Authors can add summaries to their articles on ScienceOpen to make them more accessible to a non-specialist audience.

          Abstract

          Probabilistic programming allows for automatic Bayesian inference on user-defined probabilistic models. Recent advances in Markov chain Monte Carlo (MCMC) sampling allow inference on increasingly complex models. This class of MCMC, known as Hamiltonian Monte Carlo, requires gradient information which is often not readily available. PyMC3 is a new open source probabilistic programming framework written in Python that uses Theano to compute gradients via automatic differentiation as well as compile probabilistic programs on-the-fly to C for increased speed. Contrary to other probabilistic programming languages, PyMC3 allows model specification directly in Python code. The lack of a domain specific language allows for great flexibility and direct interaction with the model. This paper is a tutorial-style introduction to this software package.

          Most cited references16

          • Record: found
          • Abstract: not found
          • Article: not found

          Hybrid Monte Carlo

            Bookmark
            • Record: found
            • Abstract: found
            • Article: found
            Is Open Access

            The NumPy array: a structure for efficient numerical computation

            In the Python world, NumPy arrays are the standard representation for numerical data. Here, we show how these arrays enable efficient implementation of numerical computations in a high-level language. Overall, three techniques are applied to improve performance: vectorizing calculations, avoiding copying data in memory, and minimizing operation counts. We first present the NumPy array structure, then show how to use it for efficient computation, and finally how to share array data with other libraries.
              Bookmark
              • Record: found
              • Abstract: not found
              • Article: not found

              Cython: The Best of Both Worlds

                Bookmark

                Author and article information

                Contributors
                Journal
                peerj-cs
                PeerJ Computer Science
                PeerJ Comput. Sci.
                PeerJ Inc. (San Francisco, USA )
                2376-5992
                6 April 2016
                : 2
                : e55
                Affiliations
                [1 ]AI Impacts , Berkeley, CA, United States
                [2 ]Quantopian Inc , Boston, MA, United States
                [3 ]Department of Biostatistics, Vanderbilt University , Nashville, TN, United States
                Article
                cs-55
                10.7717/peerj-cs.55
                f6a3c89b-1de9-4014-beb0-445524028a41
                ©2016 Salvatier et al.

                This is an open access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, reproduction and adaptation in any medium and for any purpose provided that it is properly attributed. For attribution, the original author(s), title, publication source (PeerJ Computer Science) and either DOI or URL of the article must be cited.

                This is an open access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, reproduction and adaptation in any medium and for any purpose provided that it is properly attributed. For attribution, the original author(s), title, publication source (PeerJ Computer Science) and either DOI or URL of the article must be cited.

                History
                : 9 September 2015
                : 8 March 2016
                Funding
                The authors received no funding for this work.
                Categories
                Data Mining and Machine Learning
                Data Science
                Scientific Computing and Simulation

                Computer science
                Bayesian statistic,Probabilistic Programming,Python,Markov chain Monte Carlo,Statistical modeling

                Comments

                Comment on this article