Bayesian Methods For Hackers: Probabilistic Programming And Bayesian Inference by Cameron Davidson-pilon

Bayesian Methods For Hackers: Probabilistic Programming And Bayesian Inference

byCameron Davidson-pilon

Paperback | October 2, 2015

not yet rated|write a review

Pricing and Purchase Info


Earn 240 plum® points

In stock online

Ships free on orders over $25

Not available in stores


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.

About The Author

Cameron Davidson-Pilon has seen many fields of applied mathematics, from evolutionary dynamics of genes and diseases to stochastic modeling of financial prices. His main contributions to the open-source community include Bayesian Methods for Hackers and lifelines. Cameron was raised in Guelph, Ontario, but was educated at the Universi...

Details & Specs

Title:Bayesian Methods For Hackers: Probabilistic Programming And Bayesian InferenceFormat:PaperbackDimensions:256 pages, 9 × 7 × 0.5 inPublished:October 2, 2015Publisher:Pearson EducationLanguage:English

The following ISBNs are associated with this title:

ISBN - 10:0133902838

ISBN - 13:9780133902839

Customer Reviews of Bayesian Methods For Hackers: Probabilistic Programming And Bayesian Inference


Extra Content

Table of Contents

Foreword xiii

Preface xv

Acknowledgments xvii

About the Author xix


Chapter 1: The Philosophy of Bayesian Inference 1

1.1 Introduction 1

1.2 Our Bayesian Framework 5

1.3 Probability Distributions 8

1.4 Using Computers to Perform Bayesian Inference for Us 12

1.5 Conclusion 20

1.6 Appendix 20

1.7 Exercises 24

1.8 References 25


Chapter 2: A Little More on PyMC 27

2.1 Introduction 27

2.2 Modeling Approaches 33

2.3 Is Our Model Appropriate? 61

2.4 Conclusion 68

2.5 Appendix 68

2.6 Exercises 69

2.7 References 69


Chapter 3: Opening the Black Box of MCMC 71

3.1 The Bayesian Landscape 71

3.2 Diagnosing Convergence 92

3.3 Useful Tips for MCMC 98

3.4 Conclusion 99

3.5 Reference 99


Chapter 4: The Greatest Theorem Never Told 101

4.1 Introduction 101

4.2 The Law of Large Numbers 101

4.3 The Disorder of Small Numbers 107

4.4 Conclusion 122

4.5 Appendix 122

4.6 Exercises 123

4.7 References 125


Chapter 5: Would You Rather Lose an Arm or a Leg? 127

5.1 Introduction 127

5.2 Loss Functions 127

5.3 Machine Learning via Bayesian Methods 139

5.4 Conclusion 156

5.5 References 156


Chapter 6: Getting Our Priorities Straight 157

6.1 Introduction 157

6.2 Subjective versus Objective Priors 157

6.3 Useful Priors to Know About 161

6.4 Example: Bayesian Multi-Armed Bandits 164

6.5 Eliciting Prior Distributions from Domain Experts 176

6.6 Conjugate Priors 185

6.7 Jeffreys Priors 185

6.8 Effect of the Prior as N Increases 187

6.9 Conclusion 189

6.10 Appendix 190

6.11 References 193


Chapter 7: Bayesian A/B Testing 195

7.1 Introduction 195

7.2 Conversion Testing Recap 195

7.3 Adding a Linear Loss Function 198

7.4 Going Beyond Conversions: t-test 204

7.5 Estimating the Increase 207

7.6 Conclusion 211

7.7 References 212


Glossary 213

Index 217