Bayesian statistics has been around for more than 250 years now. During this time
it has enjoyed as much recognition and appreciation as disdain and contempt.
Through the last few decades it has gained more and more attention from people in
statistics and almost all other sciences, engineering, and even outside the walls of the
academic world. This revival has been possible due to theoretical and computational
developments. Modern Bayesian statistics is mostly computational statistics. The
necessity for flexible and transparent models and a more interpretation of statistical
analysis has only contributed to the trend.
Here, we will adopt a pragmatic approach to Bayesian statistics and we will not
care too much about other statistical paradigms and their relationship to Bayesian
statistics. The aim of this book is to learn about Bayesian data analysis with the help
of Python. Philosophical discussions are interesting but they have already been
undertaken elsewhere in a richer way than we can discuss in these pages.
We will take a modeling approach to statistics, we will learn to think in terms of
probabilistic models, and apply Bayes' theorem to derive the logical consequences
of our models and data. The approach will also be computational; models will
be coded using PyMC3—a great library for Bayesian statistics that hides most of
the mathematical details and computations from the user. Bayesian methods are
theoretically grounded in probability theory and hence it's no wonder that many
books about Bayesian statistics are full of mathematical formulas requiring a certain
level of mathematical sophistication. Learning the mathematical foundations of
statistics could certainly help you build better models and gain intuition about
problems, models, and results. Nevertheless, libraries, such as PyMC3 allow us to
learn and do Bayesian statistics with only a modest mathematical knowledge, as you
will be able to verify by yourself throughout this book.