## With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

No credit card required

## Book Description

Master Bayesian Inference through Practical Examples and Computation–Without Advanced Mathematical Analysis

Bayesian methods of inference are deeply natural and extremely powerful. However, most discussions of Bayesian inference rely on intensely complex mathematical analyses and artificial examples, making it inaccessible to anyone without a strong mathematical background. Now, though, Cameron Davidson-Pilon introduces Bayesian inference from a computational perspective, bridging theory to practice–freeing you to get results using computing power.

Bayesian Methods for Hackers illuminates Bayesian inference through probabilistic programming with the powerful PyMC language and the closely related Python tools NumPy, SciPy, and Matplotlib. Using this approach, you can reach effective solutions in small increments, without extensive mathematical intervention.

Davidson-Pilon begins by introducing the concepts underlying Bayesian inference, comparing it with other techniques and guiding you through building and training your first Bayesian model. Next, he introduces PyMC through a series of detailed examples and intuitive explanations that have been refined after extensive user feedback. You’ll learn how to use the Markov Chain Monte Carlo algorithm, choose appropriate sample sizes and priors, work with loss functions, and apply Bayesian inference in domains ranging from finance to marketing. Once you’ve mastered these techniques, you’ll constantly turn to this guide for the working PyMC code you need to jumpstart future projects.

Coverage includes

• Learning the Bayesian “state of mind” and its practical implications

• Understanding how computers perform Bayesian inference

• Using the PyMC Python library to program Bayesian analyses

• Building and debugging models with PyMC

• Testing your model’s “goodness of fit”

• Opening the “black box” of the Markov Chain Monte Carlo algorithm to see how and why it works

• Leveraging the power of the “Law of Large Numbers”

• Mastering key concepts, such as clustering, convergence, autocorrelation, and thinning

• Using loss functions to measure an estimate’s weaknesses based on your goals and desired outcomes

• Selecting appropriate priors and understanding how their influence changes with dataset size

• Overcoming the “exploration versus exploitation” dilemma: deciding when “pretty good” is good enough

• Using Bayesian inference to improve A/B testing

• Solving data science problems when only small amounts of data are available

Cameron Davidson-Pilon has worked in many areas of applied mathematics, from the evolutionary dynamics of genes and diseases to stochastic modeling of financial prices. His contributions to the open source community include lifelines, an implementation of survival analysis in Python. Educated at the University of Waterloo and at the Independent University of Moscow, he currently works with the online commerce leader Shopify.

## Table of Contents

1. About This eBook
2. Title Page
3. Copyright Page
4. Dedication Page
5. Contents
6. Foreword
7. Preface
8. Acknowledgments
9. About the Author
10. 1. The Philosophy of Bayesian Inference
1. 1.1 Introduction
2. 1.2 Our Bayesian Framework
3. 1.3 Probability Distributions
4. 1.4 Using Computers to Perform Bayesian Inference for Us
5. 1.5 Conclusion
6. 1.6 Appendix
7. 1.7 Exercises
8. 1.8 References
11. 2. A Little More on PyMC
1. 2.1 Introduction
2. 2.2 Modeling Approaches
3. 2.3 Is Our Model Appropriate?
4. 2.4 Conclusion
5. 2.5 Appendix
6. 2.6 Exercises
7. 2.7 References
12. 3. Opening the Black Box of MCMC
1. 3.1 The Bayesian Landscape
2. 3.2 Diagnosing Convergence
3. 3.3 Useful Tips for MCMC
4. 3.4 Conclusion
5. 3.5 References
13. 4. The Greatest Theorem Never Told
1. 4.1 Introduction
2. 4.2 The Law of Large Numbers
3. 4.3 The Disorder of Small Numbers
4. 4.4 Conclusion
5. 4.5 Appendix
6. 4.6 Exercises
7. 4.7 References
14. 5. Would You Rather Lose an Arm or a Leg?
1. 5.1 Introduction
2. 5.2 Loss Functions
3. 5.3 Machine Learning via Bayesian Methods
4. 5.4 Conclusion
5. 5.5 References
15. 6. Getting Our Priorities Straight
1. 6.1 Introduction
2. 6.2 Subjective versus Objective Priors
3. 6.3 Useful Priors to Know About
4. 6.4 Example: Bayesian Multi-Armed Bandits
5. 6.5 Eliciting Prior Distributions from Domain Experts
6. 6.6 Conjugate Priors
7. 6.7 Jeffreys Priors
8. 6.8 Effect of the Prior as N Increases
9. 6.9 Conclusion
10. 6.10 Appendix
11. 6.11 References
16. 7. Bayesian A/B Testing
1. 7.1 Introduction
2. 7.2 Conversion Testing Recap
3. 7.3 Adding a Linear Loss Function
4. 7.4 Going Beyond Conversions: t-test
5. 7.5 Estimating the Increase
6. 7.6 Conclusion
7. 7.7 References
17. Glossary
18. Index
19. Code Snippets