[Note: This course is still being developed. Any feedback would be greatly appreciated and can be sent to tessler@mit.edu
]
Learning statistics is like learning pottery. With pottery, you can learn how to make different shapes (e.g. a bowl, a vase, a spoon) without understanding general principles. The other way is to learn the basic strokes of forming pottery (e.g. how to mold a curved surface, a flat surface, long pointy things). In this course, we are going to learn the basic strokes of statistics, and compose those strokes to make shapes you’ve seen before (e.g. a t-test), some shapes you’ve probably never seen before, and develop ideas how you would make new shapes if you needed to. We won’t learn what tests apply to what data types but instead foster the ability to reason through data analysis. We will do this through the lens of Bayesian statistics, though the basic ideas will aid your understanding of classical (frequentist) statistics as well.
Chapters
-
Why analyze data
Course overview -
Probabilistic programming
A brief introduction. -
Learning about a hypothesis
Models formalize hypotheses -
Comparing hypotheses
Hypothesis testing is model comparison -
Causal models
Reasoning with structured knowledge -
Elaborating models
A pinch of sophistication and elegance -
Inference Algorithms
The various approximate inference algorithms WebPPL provides and the classes of programs for which they are each best suited. -
Analyzing Bayesian cognitive models
The fully Bayesian treatment
Appendix
-
Coming up with priors
Systematically interrogating one’s knowledge -
Bayesian inference in a probabilistic program
Understanding observe, condition, and factor via rejection sampling
Citation
M. H. Tessler (in prep). Bayesian data analysis: An introduction using probabilistic programs. Retrieved from https://mhtess.github.io/bdappl/
Useful resources
WebPPL support and packages
- webppl.org: An online editor for WebPPL
- WebPPL documentation
- WebPPL dev Google Group: Public forum for discussing issues with WebPPL
- WebPPL-viz: A summary of the vizualization options in WebPPL
- RWebPPL: If you would rather use WebPPL within R
- WebPPL packages (e.g. csv, json, fs).
- A WebPPL package with useful BDA helper functions
Basic WebPPL tutorials
Bayesian Data Analysis (using WebPPL)
- Probabilities and Bayes Rule in WebPPL by Michael Franke
- Comparing methods for computing Bayes Factors by Michael Franke
- BDA of Bayesian language models
- Old BDA course syllabus by MH Tessler
Other WebPPL applications
- Probabilistic Models of Cognition: An introduction to computational cognitive science and the probabilistic programming language WebPPL
- Probabilistic Language Understanding: An introduction to probabilistic models of language (in particular, the Rational Speech Act theory)
- Modeling Agents with Probabilistic Programs: An introduction to formal models of rational agents using WebPPL
- Forest: A Repository for probabilistic models
Great textbooks on Bayesian Data Analysis
- Doing Bayesian Data Analysis (Kruschke)
- Bayesian Data Analysis (Gelman)
- Bayesian Cognitive Modeling (Lee & Wagenmakers)