{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Probabilistic Programming 0: Introduction to Bayesian inference\n", "\n", "#### Goal \n", " - Familiarize yourself with basic concepts from Bayesian inference such as prior and posterior distributions.\n", " - Familiarize yourself with Jupyter notebooks and the basics of the Julia programming language.\n", "\n", "#### Materials \n", " - Mandatory\n", " - This notebook\n", " - Lecture notes on Probability Theory\n", " - Lecture notes on Bayesian Machine Learning\n", " - Optional\n", " - [Course installation guide](https://github.com/bertdv/BMLIP/blob/master/lessons/notebooks/files/WKouw-Mar2020-JuliaJupyterInstallGuide.pdf)\n", " - [Jupyter notebook tutorial](https://www.datacamp.com/community/tutorials/tutorial-jupyter-notebook)\n", " - [Intro to programming in Julia](https://youtu.be/8h8rQyEpiZA?t=233).\n", " - [Differences between Julia and Matlab / Python](https://docs.julialang.org/en/v1/manual/noteworthy-differences/index.html).\n", " - [Beer Tasting Experiment](https://journals.sagepub.com/doi/pdf/10.1177/1475725719848574)\n", " - [Savage-Dickey ratios](https://www.sciencedirect.com/science/article/pii/S0010028509000826?casa_token=AhA2bAAbOygAAAAA:3quBBzBv5PqTl0zdFo-_AKh2SmH_pH68FdXHMGGw0328wA1h0YGTdsOYkKwWBrwx84WVhselJA)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "In 1937, one of the founders of the field of statistics, [Ronald Fisher](https://en.wikipedia.org/wiki/Ronald_Fisher), published a story of how he explained _inference_ to a friend. This story, called the \"Lady Tasting Tea\", has been re-told many times in different forms. In this notebook, we will re-tell one of its modern variants and introduce you to some important concepts along the way. Note that none of the material used below is new; you have all heard this in the theory lectures. The point of the Probabilistic Programming sessions is to solve practical problems so that concepts from theory become less abstract and you develop an intuition for them." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "\n", "First, let's get started with activating a Julia workspace and importing some modules." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "using Pkg; Pkg.activate(\"../../.\"); Pkg.instantiate();\n", "using IJulia; try IJulia.clear_output(); catch _ end" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "Every once in a while, a cell with \"code notes\" is added to explain Julia-specific commands, symbols or procedures. We expect students to be proficient in at least one programming language, preferably Python, C(++) or MATLAB (most closely related to Julia), and we will not expain generic programming constructs such as control flows and data structures.\n", "\n", "Code notes:\n", "- The code cell above activates a specific Julia workspace (a virtual environment) that lists all packages you will need for the Probabilistic Programming sessions. The first time you run this cell, it will download and install all packages automatically." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "using Distributions\n", "using Plots" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "Code notes:\n", "- `using` is how you import libraries and modules in Julia. Here we have imported a library of probability distributions called [Distributions.jl](https://github.com/JuliaStats/Distributions.jl) and a library of plotting utilities called [Plots.jl](https://github.com/JuliaPlots/Plots.jl)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Beer Tasting Experiment\n", "\n", "In the summer of 2017, students of the University of Amsterdam participated in a \"Beer Tasting Experiment\" ([Doorn et al., 2019](https://journals.sagepub.com/doi/pdf/10.1177/1475725719848574)). Each participant was given two cups and were told that the cups contained [Hefeweissbier](https://www.bierenco.nl/product/weihenstephaner-hefeweissbier/), one with alcohol and one without. The participants had to taste each beer and guess which of the two contained alcohol.\n", "\n", "We are going to do a statistical analysis of the tasting experiment. We want to know to what degree participants are able to discriminate between the alcoholic and alcohol-free beers. The Bayesian approach is about 3 core steps: (1) specifying a model, (2) absorbing the data through inference (parameter estimation), and (3) evaluating the model. We are going to walk through these steps in detail below." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1. Model Specification\n", "\n", "Model specification consists of two parts: a likelihood function and a prior distribution.\n", "\n", "#### Likelihood\n", "\n", "A [likelihood function](https://en.wikipedia.org/wiki/Likelihood_function) is a function of parameters given observed data. \n", "\n", "Here, we have an event variable $X$ that indicates that the choice was either \"correct\", which we will assign the number $1$, or \"incorrect\", which we will assign the number $0$. We can model this choice with what's known as a [_Bernoulli_ distribution](https://en.wikipedia.org/wiki/Bernoulli_distribution). The Bernoulli distribution is a formula to compute the probability of a binary event. It has a \"rate parameter\" $\\theta$, a number between $0$ and $1$, which governs the probability of the two events. If $\\theta = 1$, then the participant will always choose the right cup (\"always\" = \"with probability $1$\") and if $\\theta = 0$, then the participant will never choose the right cup (\"never\" = \"with probability $0$\"). Choosing at random, i.e. getting as many correct choices as incorrect choices, corresponds to $\\theta = 0.5$.\n", "\n", "As stated above, we are using the Bernoulli distribution in our tasting experiment. As the Bernoulli distribution's rate parameter $\\theta$ increases, the event $X=1$, i.e. the participant correctly guesses the alcoholic beverage, becomes more probable. The formula for the Bernoulli distribution is:\n", "\n", "$$\\begin{aligned} p(X = x \\mid \\theta) =&\\ \\text{Bernoulli}(x \\mid \\theta) \\\\ =&\\ \\theta^x (1-\\theta)^{1-x} \\end{aligned}$$\n", "\n", "If $X=1$, then the formula simplifies to $p(X = 1 \\mid \\theta) = \\theta^1 (1-\\theta)^{1-1} = \\theta$. For $X=0$, it simplifies to $p(X = 0 \\mid \\theta) = \\theta^0 (1-\\theta)^{1-0} = 1-\\theta$. If you have multiple _independent_ observations, e.g. a data set $\\mathcal{D} = \\{X_1, X_2, X_3\\}$, you can get the probability of all observations by taking the product of individual probabilities:\n", "\n", "$$p(\\mathcal{D} \\mid \\theta) = \\prod_{i=1}^{N} p(X_i \\mid \\theta)$$\n", "\n", "As an example, suppose the first two participants have correctly guessed the beverage and a third one incorrectly guessed it. Then, the probability under $\\theta = 0.8$ is $$p(\\mathcal{D} = \\{1,1,0\\} \\mid \\theta = 0.8) = 0.8 \\cdot 0.8 \\cdot 0.2 = 0.128 \\, .$$ \n", "\n", "That is larger than the probability under $\\theta = 0.4$, which is \n", "\n", "$$p(\\mathcal{D} = \\{1,1,0\\} \\mid \\theta = 0.4) = 0.4 \\cdot 0.4 \\cdot 0.6 = 0.096 \\, .$$ \n", "\n", "But it is not as large as the probability under $\\theta = 0.6$, which is \n", "\n", "$$p(\\mathcal{D} = \\{1,1,0\\} \\mid \\theta = 0.6) = 0.6 \\cdot 0.6 \\cdot 0.4 = 0.144 \\, .$$ \n", "\n", "As you can see, the likelihood function tells us how well each value of the parameter fits the observed data. In short, how \"likely\" each parameter value is." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Prior Distribution\n", "\n", "In Bayesian inference, it is important to think about what kind of _prior knowledge_ you have about your problem. In our tasting experiment, this corresponds to what you think the probability is that a participant will correctly choose the cup. In other words, you have some thoughts about what value $\\theta$ is in this scenario. You might think that the participants' choices are all going to be roughly random. Or, given that you have tasted other types of alcohol-free beers before, you might think that the participants are going to choose the right cup most of the time. This intuition, this \"prior knowledge\", needs to be quantified. We do that by specifying another probability distribution for it, in this case the [_Beta_ distribution](https://en.wikipedia.org/wiki/Beta_distribution):\n", "\n", "$$\\begin{aligned} p(\\theta) =&\\ \\text{Beta}(\\theta \\mid \\alpha, \\beta) \\\\ =&\\ \\frac{\\Gamma(\\alpha + \\beta)}{\\Gamma(\\alpha) \\Gamma(\\beta)} \\theta^{\\alpha-1} (1-\\theta)^{\\beta-1} \\, . \\end{aligned}$$\n", "\n", "We use a Beta distribution to describe our state of knowledge about appropriate values for $\\theta$. \n", "\n", "The Beta distribution computes the probability of an outcome in the interval $[0,1]$. Like any other other distribution, it has parameters: $\\alpha$ and $\\beta$. Both are \"shape parameters\", meaning the distribution has a different shape for each value of the parameters. Let's visualise this!" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2×3 Matrix{Int64}:\n", " 1 2 3\n", " 4 5 6" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = [1 2 3;\n", " 4 5 6]" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Define shape parameters\n", "α = 2.0\n", "β = 2.0\n", "\n", "# Define probability distribution\n", "pθ = Beta(α, β)\n", "\n", "# Define range of values for θ\n", "θ = range(0.0, step=0.01, stop=1.0)\n", "\n", "# Visualize probability distribution function\n", "plot(θ, pdf.(pθ, θ), \n", " linewidth=3, \n", " color=\"red\", \n", " label=\"α = \"*string(α)*\", β = \"*string(β), \n", " xlabel=\"θ\", \n", " ylabel=\"p(θ)\",\n", " size=(800,300))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Code notes:\n", "- You can use greek letters as variables (write them like in latex, e.g. \\alpha, and press `tab`)\n", "- Ranges of numbers work just like they do in Matlab (e.g. `0.0:0.1:1.0`) and Python (e.g. `range(0.0, stop=100., length=100)`). Note that Julia is strict about types, e.g. using integers vs floats.\n", "- There is a `.` after the command `pdf`. This refers to [\"broadcasting\"](https://julia.guide/broadcasting): the function is applied to each element of a list or array. Here we use the `pdf` command to compute the probability for each value of $\\theta$ in the array.\n", "- Many of the keyword arguments in the `plot` command should be familiar to you if you've worked with [Matplotlib](https://matplotlib.org/) (Python's plotting library).\n", "- In the `label=` argument to plots, we have performed \"string concatenation\". In Julia, you write a string with double-quote characters and concatenate two strings by \"multiplying\", i.e. using `*`.\n", "\n", "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note for the keen observers among you: since this is a continuous distribution, we are not actually plotting \"probability\", but rather [\"probability density\"](https://en.wikipedia.org/wiki/Probability_density_function#Link_between_discrete_and_continuous_distributions) (probability densities can be larger than $1$)." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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O336dI3fhoWFBQcHnzt3jlldePbs2ZUrV9Yenk6nYz7QNO2YsQmFwuDgYMezHF/C3bt3b+zYsV988cUzzzxT44369et39uzZN954AyF05syZp556ynFEEgAAgIfJ+q1YdatqVm705CCfGC/XxtNIzkywysvLDx482K9fv44dOzrxsq3Ha6+9tmrVKhaL9f33348ePXrjxo3R0dF273gcm9jUaPfu3e+///5LL720adMmZs9HH32EYdjKlSszMjIOHjzIZrP/9a9/LVy4cN26dYmJiQaDYfLkyQih/Pz80NDQvLy8kJAQu2u+8MILy5cvZ5o9b9u2ze7b2NjY+jQ+MhgMgwcPDg4OTk5OTk5ORghNmDChb9++2dnZUVFRRUVFgYGB8+fP79Sp07vvvhseHr527dodO3bU50cGAADQchX/XVFwtmrsImSov7yvr2vjaTxnJlhvvfXWoUOH/v3vf0OC1TBz58718/M7ffr0gAED3n777d9++41phNwA0dHRH3/8cfU9zJukUaNG2SbOv/nmm0FBQSdOnGCaPTMTubKystq2bSuXyx2vuXTp0oKCAg6H88svv/Tr169hgbFYLLuaEcx9pVLphg0bmJqiQUFBly5d+vbbb69cufLTTz8NHz68YfcCAADQIlTc090/WMh8lnUWR4xteC1r9+G0Zs+///77V199ZbVax40bxwzu1A6aPbunr7/+OjAwcMqUKXb7odkzaFmguS+oDp4Hd6YvMN34byZpphBColBB59ciWdymnRbSkpo9azSa5cuX//nnn/PmzXPKBYGrLFq0qMb9YrEYxz12xh4AAACXsFRa72zPYbIrvi83dn54U2dXzcY5vzKXLVu2aNGi0NDQ+p+iUqnWrl1rm3/drl27xYsX1/90k8mEYRjMfW42165dc3UINWOqSzBvsBwn1INWy2QyOS5fBa0WPA/uiTRRqd8VVBVl4LOjng+kOITJZF+KyOmYN1iNGcHjcDhsdh31I5yQYJ05c+bmzZvffPPNE53F4/E6duxoKw2gUCie6OnncDgcDgcSrMchCCIlJcW2GRQUpFAoHA8rLCy8dOlSYGBg//79a89OCILYtm1bUlKSv7//woULHafAPxGTyZSamiqRSMLDw2s8wGq1nj17Vq/XDx48uPaq8cxjw2KxaJqG/4ACG+Y/Ea6OArgLeB7cEE3S6T/l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", "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Define shape parameters\n", "α = [2.0, 5.0]\n", "β = [1.0, 2.0]\n", "\n", "# Define initial distribution\n", "pθ = Beta(1.0, 1.0)\n", "\n", "# Start initial plot\n", "plot(θ, pdf.(pθ, θ), linewidth=3, label=\"α = 1.0, β = 1.0\", xlabel=\"θ\", ylabel=\"p(θ)\", legend=:topleft)\n", "\n", "# Loop over shape parameters\n", "for a in α\n", " for b in β\n", " plot!(θ, pdf.(Beta(a, b), θ), linewidth=3, label=\"α = \"*string(a)*\", β = \"*string(b))\n", " end\n", "end\n", "plot!(size=(800,300))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Code notes:\n", "- Square brackets around numbers automatically creates an Array (in Python, they create lists).\n", "- The `:` in `:topleft` indicates a `Symbol` type. It has many uses, but here it is used synonymously with a string option (e.g. legend=\"topleft\").\n", "- `for` loops can be done by using a range, such as `for i = 1:10` (like in Matlab), or using a variable that iteratively takes a value in an array, such as `for i in [1,2.3]` (like in Python). More [here](https://www.tutorialkart.com/julia/julia-for-loop/).\n", "- The `!` at the end of the plot command means the function is performed [\"in-place\"](https://docs.julialang.org/en/v1/manual/style-guide/#bang-convention-1). In other words, it changes its input arguments. Here, we change the plot by adding lines.\n", "- The final `plot!` is there to ensure Jupyter actually plots the figure. If you end a cell on an `end` command, Jupyter will remain silent.\n", "\n", "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As you can see, the Beta distribution is quite flexible and can capture your belief about how often participants will correctly detect the alcoholic beverage. For example, the purple line indicates that you believe that it is very probable that participants will always get it right (peak lies on $\\theta=1.0$), but you still think there is some probability that the participants will guess at random ($p(\\theta = 1/2) \\approx 0.3$). The yellow-brown line indicates you believe that it is nearly impossible that the participants will always get it right ($p(\\theta = 1) \\approx 0.0$), but you still believe that they will get it right more often than not (peak lies around $\\theta \\approx 0.8$).\n", "\n", "In summary: a prior distribution $p(\\theta)$ reflects our beliefs about good values for parameter $\\theta$ _before_ data is observed." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "\n", "#### Exercise\n", "\n", "Choose values for the shape parameters $\\alpha$ and $\\beta$ that reflect how often you think the participants will get it right.\n", "\n", "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2. Parameter estimation\n", "\n", "Now that we have specified our generative model, it is time to estimate unknown variables. We'll first look at the data and then the inference part.\n", "\n", "#### Data\n", "\n", "The data of the participants in Amsterdam is available online at the [Open Science Foundation](https://osf.io/428pb/?view_only=e3dc67dab9c54d23a92fb2e88465f428). We'll start by reading it in." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "using DataFrames\n", "using CSV" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Code notes:\n", "- [CSV.jl](https://github.com/JuliaData/CSV.jl) is a library for reading in data stored in tables.\n", "- [DataFrames.jl](https://github.com/JuliaData/DataFrames.jl) manipulates table data (like `pandas` in Python)." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "D = [1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1]\n" ] } ], "source": [ "# Read data from CSV file\n", "data = DataFrame(CSV.File(\"../datasets/TastingBeerResults.csv\"))\n", "\n", "# Extract variable indicating correctness of guess\n", "D = data[!, :CorrectIdentify];\n", "println(\"D = \", D)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Number of successes and failures\n", "S = sum(D .== 1)\n", "F = sum(D .== 0)\n", "\n", "# Visualize frequencies\n", "histogram(D, bins=[0,1,2], label=\"S = \"*string(S)*\", F = \"*string(F), xlabel=\"D\", xticks=[0,1], ylabel=\"Number\", legend=:topleft, size=(800,300))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Code notes:\n", "- The `!` in `data[!, ` is specific to the DataFrames syntax.\n", "- The `.==` checks for each element of the array D whether it is equal." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's visualize the likelihood of these observations." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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pRAfH//VV1/RtoeHx+LFi7nNA9K1detWHo9HCDl16hRdPBa4hQILAEDx5eXljRkzJj8/nxDSvn37o0eP0n+MQWHY2dmNHDmSECIWi9lp78AhFFgAAAouLy/P1dX1+fPnhBChUHju3DkdHR2uQ4H0bdq0idbNFy5ciIqK4jqOskOBBQCgyGh19eDBA0IIj8c7cOBAly5duA4FTaJ79+7jx48nhDAMs3r1aq7jKDsUWAAACqtadfXHH39MnTqV61DQhDZu3CgQCAgh/v7++/fv5zqOUkOBBQCgmD6urubPn891KGhaHTt2ZO8AvXjx4tjYWG7zKDMUWAAACqhadfXbb7+hulISu3btoneALikpGT9+fEFBAdeJlBQKLAAARfNxdfX1119zHQqaiYaGho+Pj0gkIoTEx8cvWrSI60RKCgUWAIBCef78eb9+/djq6s8//0R1pWzatWvHrijr7e194sQJbvMoJxRYAACK4+jRo71793727Bn5b3XFLi4KSmXGjBlffvklbf/rX/+Kj4/nNo8SQoEFAKAIiouL58yZM2PGjKKiIkKIUCg8evQoqitl9vvvv9vY2BBCCgoKJk2aVFZWxnUi5YICCwBA7r18+dLBwcHb25s+tLGxuX///rRp07hNBdzS1tY+e/aspqYmIeTx48fLly/nOpFyQYEFACDfjh8/bmdnx95+bvr06ZGRkV27duU2FciCLl267Nq1i7Z/++23P/74g9s8SgUFFgCAvIqIiBg0aND06dMLCwsJIZqamocOHTp69KiWlhbX0UBWfP311+PGjSOEMAzz9ddfr1q1imEYrkMpBRRYAADyJykpaerUqb179w4JCaFbbGxsHjx4MGfOHE5zgSw6fPhw7969aXv79u1Tp07FfKxmgAILAECe5Obmfv/99x06dDh58iQ9FaGqqvrdd99FRETgJoNQI11d3Vu3bnl4eNCHp06dcnFxyc7O5jaVwkOBBQAgH5KTkzdu3Ni2bdudO3eWlpYSQng83rhx4549e/bzzz9ra2tzHRBkl1AoPH/+/MKFC+nD0NDQfv36vXnzhttUig0FFgCATKusrLx06dLIkSMtLS03bNiQlZVFtzs4OISFhZ07d65du3bcJgS5IBAIfvnll927d/P5fEJIXFycg4PDvXv3uM6lsFBgAQDIqISEhNWrV1tYWHh6el69erWqqopu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", "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Define the Bernoulli likelihood function\n", "likelihood(θ) = prod([θ^X_i * (1-θ)^(1-X_i) for X_i in D])\n", "\n", "# Plot likelihood\n", "plot(θ, likelihood.(θ), linewidth=3, color=\"black\", label=\"\", xlabel=\"θ\", ylabel=\"p(D|θ)\", size=(800,300))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The likelihood has somewhat of a bell shape, peaking just below $\\theta = 0.75$. Note that the y-axis is very small. Indeed, the likelihood is not a proper probability distribution, because it doesn't integrate / sum to $1$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Inference\n", "\n", "Using our generative model, we can estimate parameters for unknown variables. Remember Bayes' rule:\n", "\n", "$$ p(\\theta \\mid \\mathcal{D}) = \\frac{p(\\mathcal{D} \\mid \\theta) p(\\theta)}{p(\\mathcal{D})} \\, .$$\n", "\n", "The posterior $p(\\theta \\mid \\mathcal{D})$ equals the likelihood $p(\\mathcal{D} \\mid \\theta)$ times the prior $p(\\theta)$ divided by the evidence $p(\\mathcal{D})$. In our tasting experiment, we have a special thing going on: [conjugacy](https://en.wikipedia.org/wiki/Conjugate_prior). The Beta distribution is \"conjugate\" to the Bernoulli likelihood, meaning that the posterior distribution is also going to be a Beta distribution. Specifically with the Beta-Bernoulli combination, it is easy to see what conjugacy actually means. Recall the formula for the Beta distribution:\n", "\n", "$$\\begin{aligned} p(\\theta) =&\\ \\frac{\\Gamma(\\alpha + \\beta)}{\\Gamma(\\alpha) \\Gamma(\\beta)} \\theta^{\\alpha-1} (1-\\theta)^{\\beta-1} \\, . \\end{aligned}$$\n", "\n", "The term $\\Gamma(\\alpha + \\beta) / \\left( \\Gamma(\\alpha) \\Gamma(\\beta) \\right)$ normalises this distribution. If you ignore that and multiply it with the likelihood, you get something that simplifies beautifully:\n", "\n", "$$\\begin{aligned} \n", "p(\\mathcal{D} \\mid \\theta) p(\\theta) \\ \\propto&\\ \\ \\prod_{i=1}^{N} \\big[ \\theta^{X_i} (1-\\theta)^{1-X_i} \\big] \\cdot \\theta^{\\alpha-1} (1-\\theta)^{\\beta-1} \\\\ =&\\ \\ \\theta^{\\sum_{i=1}^{N} X_i} (1-\\theta)^{\\sum_{i=1}^{N} 1-X_i} \\cdot \\theta^{\\alpha-1} (1-\\theta)^{\\beta-1} \\\\ =&\\ \\ \\theta^{S} (1-\\theta)^{F} \\cdot \\theta^{\\alpha-1} (1-\\theta)^{\\beta-1} \\\\ =&\\ \\ \\theta^{S + \\alpha-1} (1-\\theta)^{F + \\beta-1} \\, , \\end{aligned}$$\n", "\n", "where $S = \\sum_{i=1}^{N} X_i$ is the number of successes (correct guesses) and $F = \\sum_{i=1}^{N} 1 - X_i$ is the number of failures (incorrect guesses). \n", "\n", "This last line is again the formula for the Beta distribution (except for a proper normalisation) but with different parameters ($S+\\alpha$ instead of $\\alpha$ and $F+\\beta$ instead of $\\beta$). This is what we mean by conjugacy: applying Bayes rule to a conjugate prior and likelihood pair yields a posterior distribution of the same family as the prior, which in this case is a Beta distribution.\n", "\n", "Let's now visualise the posterior after observing the data from Amsterdam." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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9etXogNbSIuHPRNRFXTnDo4fBwBDQ8i1wWbIEKhUABASglu35ImBKhndJFjffffdvHnzZs6cGRAQwHmlii46OnrZsmVz5syRN4zffvstODhY3hiIqBxs2QJBAICePWFvL08Mtrbo3h0ABAG//CJPDFTJ6CDBys7Onjt37g8//NC7d29nZ+eBAweKS6SpIsrNzfXx8cnNzW3Tpo0Ou/3pp5+mTZtWopdERUVFR0frMAYi0k/aCp9yzQ/muztnCUkndJBgiZUCUlJS+vbt+9Zbb/3111+l77MqS0pKun//vthOT0+/d+9evguysrJiYmIE8R3fMw8fPoyNjc33JICUlJSCF+eVmJiYty5fXFzc06dPP/nkE7Gwez6CINy5cyc7OzvfkzExMVniCtVn0tLSoqOjtaX/njx5Eh8fn6+3hISEgiUBNRrN7du3MzIy5s2bN3LkyLwdxolnwBbo5MGDB0V9dUSk586ckQ7eqFYNffvKGYmfHywtAeDKFURGyhkJVQ462EV47949jUazdu3aJUuWXLt2rV+/foGBgfl2vRUUGxvbo0cPsbw4gJYtW27fvr34N01PT8/JyVEqlQCKyh6CgoIK/lHXB+7u7g0aNCj4vImJyfjx4w8fPpyQkNCrV69+/fp98sknGRkZtWrVOnr0qLGxcW5u7vTp03fv3l27du2kpKTt27e3a9cuJyenVatWJiYmBgYGjx8/9vf3b9u2LYDGjRv7+fkdOnQoKyurevXqQUFBFv8+eyIuLm7w4MGPHj3Kyspq0aLF1q1bnz592rt37/T0dDc3Nx8fn6+0x64C69ev37FjR1ZWliAIN27cWLt27aBBgwAcO3bsf//7n62t7d27d8ePHy/uW1y+fPnKlSubNm16//79ESNG+Pn5LV++PC0tzc3NrXHjxjt37rx+/frQoUPVanVqauqrr766detWExOTTz/99OLFi7du3dJoNCtXrtyxY0eTJk1mzJiRk5PzwQcfHDhwwNbWNjs729/fv0WLFnFxcY0aNRo7duyRI0c6duz4gipfOpGTk5OSklKmtyDdSk1NlTsEKpaNG40BIwB9+6pzcjKL//9Zbm6u2EhPT09JSdG+x8vOzi74f2sxfx769DH55RcVgF27spo2zf7P66mCUqvVGo0m32BBiZiYmGgTmCIJpXbq1CkA58+fFx+OHDly6tSp//kq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", "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Define shape parameters of prior distribution\n", "α0 = 4.0\n", "β0 = 2.0\n", "\n", "# Define prior distribution\n", "pθ = Beta(α0, β0)\n", "\n", "# Update parameters for the posterior\n", "αN = α0 + sum(D .== 1)\n", "βN = β0 + sum(D .== 0)\n", "\n", "# Define posterior distribution\n", "pθD = Beta(αN, βN)\n", "\n", "# Mean of posterior\n", "mean_post = αN / (αN + βN)\n", "mode_post = (αN - 1) / (αN + βN - 2)\n", "\n", "# Visualize probability distribution function\n", "plot(θ, pdf.(pθ, θ), linewidth=3, color=\"red\", label=\"prior\", xlabel=\"θ\", ylabel=\"p(θ)\")\n", "plot!(θ, pdf.(pθD, θ), linewidth=3, color=\"blue\", label=\"posterior\", size=(800,300))\n", "vline!([mean_post], color=\"black\", linewidth=3, label=\"mean of posterior\", legend=:topleft)\n", "vline!([mode_post], color=\"black\", linewidth=3, linestyle=:dash, label=\"maximum a posteriori\", legend=:topleft)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Code notes:\n", "- `vline` draw a vertical line in the plot, at the specified point on the x-axis.\n", "- `mode()` extracts the [mode](https://en.wikipedia.org/wiki/Mode_(statistics)) of the supplied distribution, i.e. the point with the largest probability." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "That looks great! We have updated our belief from a very broad prior to a much sharper posterior. \n", "\n", "The posterior contains a lot of information: it tells us something about every value for $\\theta$. Sometimes, we are interested in a point estimate, i.e. the probability of a single value for $\\theta$ under the posterior. Two well-known point estimators are the mean of the posterior and the mode (the value for $\\theta$ with the highest probability). I have plotted both point estimates in the figure above. In this case, they are nearly equal. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "\n", "#### Exercise\n", "\n", "Plug the shape parameters of your prior into a copy of the cell above and see how your posterior differs.\n", "\n", "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3. Model Evaluation\n", "\n", "Given our model assumptions and a posterior for theta, we can now make quantitative predictions about how well we think people can recognize alcoholic from non-alcoholic hefeweizen. But suppose you meet someone else who is absolutely sure that people can't tell the difference. Can you say something about the probability of his belief, given the experiment?\n", "\n", "Technically, this is a question about comparing the performance of different models. Model comparison is also known in the statistical literature as \"hypothesis testing\".\n", "\n", "In hypothesis testing, you start with a null hypothesis $\\mathcal{H}_0$, which is a particular choice for the detection parameter $\\theta$. In the question above, the other person's belief corresponds to $\\theta = 0.5$. We then have an alternative hypothesis $\\mathcal{H}_1$, namely that his belief is wrong, i.e. $\\theta \\neq 0.5$. From a Bayesian perspective, hypothesis testing is just about comparing the posterior beliefs about these two hypotheses:\n", "\n", "$$\\begin{aligned} \\underbrace{\\frac{p(\\mathcal{H}_1 | \\mathcal{D})}{p(\\mathcal{H}_0 | \\mathcal{D})}}_{\\text{Posterior belief over hypotheses}} = \\underbrace{\\frac{p(\\mathcal{H}_1)}{p(\\mathcal{H}_0)}}_{\\text{Prior belief over hypotheses}} \\times \\underbrace{\\frac{p(\\mathcal{D} | \\mathcal{H}_1)}{p(\\mathcal{D} | \\mathcal{H}_0)}}_{\\text{Likelihood of hypotheses}} \\, . \\end{aligned}$$\n", "\n", "Note that the evidence term $p(\\mathcal{D})$ is missing, because it appears in the posterior for both hypotheses and therefore cancels out. The hypothesis likelihood ratio is also called the **Bayes factor**. Bayes factors can be hard to compute, but in some cases we can simplify it: if the null hypothesis is a specific value of interest, for instance $\\theta = 0.5$, and the alternative hypothesis is not that specific value, e.g. $\\theta \\neq 0.5$, then the factor reduces to what's known as a Savage-Dickey Ratio (see Appendix A of [Wagemakers et al., 2010](https://www.sciencedirect.com/science/article/pii/S0010028509000826?casa_token=AhA2bAAbOygAAAAA:3quBBzBv5PqTl0zdFo-_AKh2SmH_pH68FdXHMGGw0328wA1h0YGTdsOYkKwWBrwx84WVhselJA)):\n", "\n", "$$ \\frac{p(\\mathcal{D} | \\mathcal{H}_1)}{p(\\mathcal{D} | \\mathcal{H}_0)} = \\frac{p(\\theta = 0.5)}{p(\\theta = 0.5 \\mid \\mathcal{D})} \\, .$$\n", "\n", "This compares the probability of $\\theta = 0.5$ under the prior versus $\\theta = 0.5$ under the posterior. It effectively tells you how much your belief changes after observing the data. Let's compute the Savage-Dickey ratio for our experiment:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The Bayes factor for H1 versus H0 = 229.23178145896927\n" ] } ], "source": [ "BF_10 = pdf(pθ, 0.5) / pdf(pθD, 0.5)\n", "println(\"The Bayes factor for H1 versus H0 = \"*string(BF_10))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So, in the experiment, the alternative hypothesis _\"students can discriminate alcoholic from non-alcoholic Hefeweissbier\"_ is more than 200 times more probable than the null hypothesis that _\"students cannot discriminate alcoholic from non-alcoholic Hefeweissbier\"_." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "#### Exercise\n", "\n", "Compute the Bayes factor for your prior and posterior distribution. How many times is the alternative hypothesis more probable than the null hypothesis?\n", "\n", "---" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "@webio": { "lastCommId": "e01e903ce62a43f081de0d927024457a", "lastKernelId": "d19f1b82-d2af-4ee2-8c82-2be824ae11d2" }, "kernelspec": { "display_name": "Julia 1.10.5", "language": "julia", "name": "julia-1.10" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.10.5" } }, "nbformat": 4, "nbformat_minor": 4 }