Class material for "Bayesian Data Analysis & Cognitive Modeling" 2018
The main programming language we use is R. The slides and notes that accompany the lecture will use it, and whenever homeworks require programming, you will use it too.
There will be a number of R packages that we will need. Most importantly, we will work in the tidyverse. More necessary packages will be mentioned as we go along.
There are quite a number of tools that help with Bayesian computation already. Bayesian computation is a vibrant and active field of current research. This course will use a programming languages specialized for the formulation and computation of probabilistic inference, namely Stan, which is specifically powerful for estimating hierarchical models (such as mixed effects generalized linear models - a major current workhorse of statistical inference).
Other tools exist, and here are a few links to explore. All tools have their particular weaknesses and strengths.
JAGS is a specialized programming language to describe probabilistic models and perform Bayesian inference for these. It efficiently computes samples from the posterior distribution. We will communicate with JAGS from within R, using packages
rjags. We will use JAGS as a starting point and explore some simple cognitive models with it.
Stan is, like JAGS, a specialized programming language to describe probabilistic models and perform Bayesian inference for these. It efficiently computes samples from the posterior distribution and performs some additional magic (variational Bayes, MLE, …). Stan is particularly powerful for the computation of hierarchical models and we will use it to explore Bayesian approaches to regression modeling. We will communicate with Stan from within R, using packages
WebPPL is a general purpose probabilistic programming language. We will use it for the exploration of some more complex cognitive models. We will communicate with WebPPL from within R, using package
RWebPPL. WebPPL also has a browser-based interface, making it easy to explore simple probabilistic models very quickly.