Register your product to gain access to bonus material or receive a coupon.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
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.
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