Skip to content

Instantly share code, notes, and snippets.

@izmailovpavel
Last active September 9, 2020 23:47
Show Gist options
  • Save izmailovpavel/19749973b225507343c10dff18ffca19 to your computer and use it in GitHub Desktop.
Save izmailovpavel/19749973b225507343c10dff18ffca19 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Biased Coin"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$\\theta$ — probability that a biased coin lands heads: $P(H \\vert \\theta) = \\theta$.\n",
"We will try to estimate $\\theta$ from observations.\n",
"\n",
"**Likelihood**. Suppose we have $n$ coin flips $x_i$, where $x_i = 1$ if the coin lands heads and $x_i = 0$ if it lands tails on the $i$-th attempt. The likelihood is given by $p(x_1, \\ldots, x_n) = \\theta^{\\sum_i x_i} (1 - \\theta)^{n - \\sum_i x_i} = \\theta^H \\cdot (1 -\\theta)^T$. \n",
"\n",
"**MLE**.\n",
"Suppose we observe $H$ heads and $T$ tails. The likelihood is $p^{H} \\cdot (1 - \\theta)^T$. The derivative of log-likelihood wrt $p$ is \n",
"$$(H \\log \\theta + T \\log (1 - \\theta))' = \\frac H \\theta + \\frac T {1 - \\theta}.$$\n",
"Hence, the MLE is given by\n",
"$$ T \\cdot \\theta = H \\cdot (1 - \\theta) \\Rightarrow \\theta = \\frac H {T + H}.$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Prior**.\n",
"Let's set a Beta distribution prior. The density is given by\n",
"$$p(\\theta) = \\frac{\\theta^{\\alpha-1} \\cdot (1 - \\theta)^{\\beta - 1}}{B(\\alpha, \\beta)}.$$"
]
},
{
"cell_type": "code",
"execution_count": 85,
"metadata": {},
"outputs": [],
"source": [
"import scipy\n",
"import scipy.stats\n",
"import numpy as np\n",
"from matplotlib import pyplot as plt\n",
"\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 86,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7fccb23e10f0>]"
]
},
"execution_count": 86,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fccb24720b8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"prior_a, prior_b = 10, 10\n",
"\n",
"prior = scipy.stats.beta(a=prior_a, b=prior_b)\n",
"xs = np.linspace(0, 1, 100)\n",
"density = prior.pdf(xs)\n",
"\n",
"plt.plot(xs, density)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Posterior**. Let's find the posterior over $\\theta$. We have\n",
"\n",
"$$\n",
"p(\\theta \\vert Data) = \\frac{p(Data \\vert \\theta) p(\\theta)}{p(Data)}.\n",
"$$\n",
"\n",
"$$\n",
"p(\\theta \\vert x_1, \\ldots, x_n) \\propto p(x_1, \\ldots, x_n \\vert \\theta) p(\\theta) \\propto\n",
"\\theta^H (1 - \\theta)^T \\cdot \\theta^{a - 1} \\theta^{b - 1} =\n",
"\\theta^{H + a - 1} (1 - \\theta)^{T + b - 1} \\propto B(H + a, T + b).\n",
"$$\n",
"So the posterior is again a Beta distribution. The posterior is in the same family as the prior here, because our prior is *conjugate* to our likelihood."
]
},
{
"cell_type": "code",
"execution_count": 87,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.6666666666666666"
]
},
"execution_count": 87,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"n_heads = 100\n",
"n_tails = 50\n",
"n_total = n_heads + n_tails\n",
"\n",
"theta_mle = n_heads / (n_heads + n_tails)\n",
"theta_mle"
]
},
{
"cell_type": "code",
"execution_count": 88,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7fccb23a17b8>"
]
},
"execution_count": 88,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fccb248eba8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"prior_a, prior_b = 10, 10\n",
"\n",
"posterior = scipy.stats.beta(a=prior_a + n_heads, b=prior_b + n_tails)\n",
"xs = np.linspace(0, 1, 100)\n",
"density = posterior.pdf(xs)\n",
"\n",
"plt.plot(xs, density)\n",
"plt.vlines([theta_mle], min(density), max(density), linestyle=\"dashed\", label=\"MLE\")\n",
"plt.legend()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**MAP solution**. The maximum aposteriori (MAP) solution is given by\n",
"$$\\theta_{MAP} = \\arg \\max_\\theta p(\\theta \\vert x_1, \\ldots, x_n)$$. For our example, it is\n",
"$$\n",
"\\theta_{MAP} = \\frac{H+a-1}{T+H+a+b-2}\n",
"$$"
]
},
{
"cell_type": "code",
"execution_count": 89,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7fccb2367320>"
]
},
"execution_count": 89,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fccb23862b0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"theta_map = (n_heads + prior_a - 1) / (n_tails + n_heads + prior_a + prior_b - 2)\n",
"prior_a, prior_b = 10, 10\n",
"\n",
"prior = scipy.stats.beta(a=prior_a + n_heads, b=prior_b + n_tails)\n",
"xs = np.linspace(0, 1, 100)\n",
"density = prior.pdf(xs)\n",
"\n",
"plt.plot(xs, density)\n",
"plt.vlines([theta_mle], min(density), max(density), linestyle=\"dashed\", label=\"MLE\")\n",
"plt.vlines([theta_map], min(density), max(density), label=\"MAP\")\n",
"plt.legend()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Predictive distribution**. Predictive distribution is the distribution of the predictons of the model after observing data if we marginalize out $x$. In our case, suppose we want to compute the probability that the next coin comes out tails.\n",
"$$\n",
"p(x_{n+1} = 1 \\vert x_1, \\ldots, x_n) = \\int_{\\theta \\in [0, 1]} p(x_{n+1} = 1 \\vert \\theta) \\cdot p(\\theta \\vert x_1, \\ldots, x_n) d\\theta = \\int_{\\theta \\in [0, 1]} \\theta \\cdot p(\\theta \\vert x_1, \\ldots, x_n) d\\theta = \\mathbb{E}_{\\theta \\sim p(\\theta \\vert x_1, \\ldots, x_n)} \\theta = \\frac{H+a}{T+H+a+b}.\n",
"$$"
]
},
{
"attachments": {
"bayes.png": {
"image/png": "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"
}
},
"cell_type": "markdown",
"metadata": {},
"source": [
"![bayes.png](attachment:bayes.png)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$p(x_1, \\ldots, x_n \\vert a, b) = \\int_{\\theta \\in [0, 1]} p(x_1, \\ldots, x_n \\vert \\theta) B(\\theta \\vert a, b) d\\theta = \\int_\\theta \\theta^H (1-\\theta)^T \\theta^{a-1} (1-\\theta)^{b-1} / B(a, b) d\\theta =$$\n",
"\n",
"$$\\int_\\theta \\theta^{H + a - 1} (1-\\theta)^{T+b-1} / B(a, b) d\\theta = B(H+a, T+b) / B(a, b).$$"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.2"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment