{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "(Bayes_factor)=\n", "# Bayes Factors and Marginal Likelihood\n", ":::{post} Jan 10, 2023\n", ":tags: Bayes Factors, model comparison \n", ":category: beginner, explanation\n", ":author: Osvaldo Martin\n", ":::" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Running on PyMC v5.0.0\n" ] } ], "source": [ "import arviz as az\n", "import numpy as np\n", "import pymc as pm\n", "\n", "from matplotlib import pyplot as plt\n", "from matplotlib.ticker import FormatStrFormatter\n", "from scipy.special import betaln\n", "from scipy.stats import beta\n", "\n", "print(f\"Running on PyMC v{pm.__version__}\")" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "az.style.use(\"arviz-darkgrid\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The \"Bayesian way\" to compare models is to compute the _marginal likelihood_ of each model $p(y \\mid M_k)$, _i.e._ the probability of the observed data $y$ given the $M_k$ model. This quantity, the marginal likelihood, is just the normalizing constant of Bayes' theorem. We can see this if we write Bayes' theorem and make explicit the fact that all inferences are model-dependant. \n", "\n", "$$p (\\theta \\mid y, M_k ) = \\frac{p(y \\mid \\theta, M_k) p(\\theta \\mid M_k)}{p( y \\mid M_k)}$$\n", "\n", "where:\n", "\n", "* $y$ is the data\n", "* $\\theta$ the parameters\n", "* $M_k$ one model out of K competing models\n", "\n", "\n", "Usually when doing inference we do not need to compute this normalizing constant, so in practice we often compute the posterior up to a constant factor, that is:\n", "\n", "$$p (\\theta \\mid y, M_k ) \\propto p(y \\mid \\theta, M_k) p(\\theta \\mid M_k)$$\n", "\n", "However, for model comparison and model averaging the marginal likelihood is an important quantity. Although, it's not the only way to perform these tasks, you can read about model averaging and model selection using alternative methods [here](model_comparison.ipynb), [there](model_averaging.ipynb) and [elsewhere](GLM-model-selection.ipynb). Actually, these alternative methods are most often than not a better choice compared with using the marginal likelihood." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Bayesian model selection\n", "\n", "If our main objective is to choose only one model, the _best_ one, from a set of models we can just choose the one with the largest $p(y \\mid M_k)$. This is totally fine if **all models** are assumed to have the same _a priori_ probability. Otherwise, we have to take into account that not all models are equally likely _a priori_ and compute:\n", "\n", "$$p(M_k \\mid y) \\propto p(y \\mid M_k) p(M_k)$$\n", "\n", "Sometimes the main objective is not to just keep a single model but instead to compare models to determine which ones are more likely and by how much. This can be achieved using Bayes factors:\n", "\n", "$$BF_{01} = \\frac{p(y \\mid M_0)}{p(y \\mid M_1)}$$\n", "\n", "that is, the ratio between the marginal likelihood of two models. The larger the BF the _better_ the model in the numerator ($M_0$ in this example). To ease the interpretation of BFs Harold Jeffreys proposed a scale for interpretation of Bayes Factors with levels of *support* or *strength*. This is just a way to put numbers into words. \n", "\n", "* 1-3: anecdotal\n", "* 3-10: moderate\n", "* 10-30: strong\n", "* 30-100: very strong\n", "* $>$ 100: extreme\n", "\n", "Notice that if you get numbers below 1 then the support is for the model in the denominator, tables for those cases are also available. Of course, you can also just take the inverse of the values in the above table or take the inverse of the BF value and you will be OK.\n", "\n", "It is very important to remember that these rules are just conventions, simple guides at best. Results should always be put into context of our problems and should be accompanied with enough details so others could evaluate by themselves if they agree with our conclusions. The evidence necessary to make a claim is not the same in particle physics, or a court, or to evacuate a town to prevent hundreds of deaths." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Bayesian model averaging\n", "\n", "Instead of choosing one single model from a set of candidate models, model averaging is about getting one meta-model by averaging the candidate models. The Bayesian version of this weights each model by its marginal posterior probability.\n", "\n", "$$p(\\theta \\mid y) = \\sum_{k=1}^K p(\\theta \\mid y, M_k) \\; p(M_k \\mid y)$$\n", "\n", "This is the optimal way to average models if the prior is _correct_ and the _correct_ model is one of the $M_k$ models in our set. Otherwise, _bayesian model averaging_ will asymptotically select the one single model in the set of compared models that is closest in [Kullback-Leibler divergence](https://en.wikipedia.org/wiki/Kullback%E2%80%93Leibler_divergence).\n", "\n", "Check this [example](model_averaging.ipynb) as an alternative way to perform model averaging." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Some remarks\n", "\n", "Now we will briefly discuss some key facts about the _marginal likelihood_\n", "\n", "* The good\n", " * **Occam Razor included**: Models with more parameters have a larger penalization than models with fewer parameters. The intuitive reason is that the larger the number of parameters the more _spread_ the _prior_ with respect to the likelihood.\n", "\n", "\n", "* The bad\n", " * Computing the marginal likelihood is, generally, a hard task because it’s an integral of a highly variable function over a high dimensional parameter space. In general this integral needs to be solved numerically using more or less sophisticated methods.\n", " \n", "$$p(y \\mid M_k) = \\int_{\\theta_k} p(y \\mid \\theta_k, M_k) \\; p(\\theta_k | M_k) \\; d\\theta_k$$\n", "\n", "* The ugly\n", " * The marginal likelihood depends **sensitively** on the specified prior for the parameters in each model $p(\\theta_k \\mid M_k)$.\n", "\n", "Notice that *the good* and *the ugly* are related. Using the marginal likelihood to compare models is a good idea because a penalization for complex models is already included (thus preventing us from overfitting) and, at the same time, a change in the prior will affect the computations of the marginal likelihood. At first this sounds a little bit silly; we already know that priors affect computations (otherwise we could simply avoid them), but the point here is the word **sensitively**. We are talking about changes in the prior that will keep inference of $\\theta$ more or less the same, but could have a big impact in the value of the marginal likelihood." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Computing Bayes factors\n", "\n", "The marginal likelihood is generally not available in closed-form except for some restricted models. For this reason many methods have been devised to compute the marginal likelihood and the derived Bayes factors, some of these methods are so simple and [naive](https://radfordneal.wordpress.com/2008/08/17/the-harmonic-mean-of-the-likelihood-worst-monte-carlo-method-ever/) that works very bad in practice. Most of the useful methods have been originally proposed in the field of Statistical Mechanics. This connection is explained because the marginal likelihood is analogous to a central quantity in statistical physics known as the _partition function_ which in turn is closely related to another very important quantity the _free-energy_. Many of the connections between Statistical Mechanics and Bayesian inference are summarized [here](https://arxiv.org/abs/1706.01428)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Using a hierarchical model\n", "\n", "Computation of Bayes factors can be framed as a hierarchical model, where the high-level parameter is an index assigned to each model and sampled from a categorical distribution. In other words, we perform inference for two (or more) competing models at the same time and we use a discrete _dummy_ variable that _jumps_ between models. How much time we spend sampling each model is proportional to $p(M_k \\mid y)$.\n", "\n", "Some common problems when computing Bayes factors this way is that if one model is better than the other, by definition, we will spend more time sampling from it than from the other model. And this could lead to inaccuracies because we will be undersampling the less likely model. Another problem is that the values of the parameters get updated even when the parameters are not used to fit that model. That is, when model 0 is chosen, parameters in model 1 are updated but since they are not used to explain the data, they only get restricted by the prior. If the prior is too vague, it is possible that when we choose model 1, the parameter values are too far away from the previous accepted values and hence the step is rejected. Therefore we end up having a problem with sampling.\n", "\n", "In case we find these problems, we can try to improve sampling by implementing two modifications to our model:\n", "\n", "* Ideally, we can get a better sampling of both models if they are visited equally, so we can adjust the prior for each model in such a way to favour the less favourable model and disfavour the most favourable one. This will not affect the computation of the Bayes factor because we have to include the priors in the computation.\n", "\n", "* Use pseudo priors, as suggested by Kruschke and others. The idea is simple: if the problem is that the parameters drift away unrestricted, when the model they belong to is not selected, then one solution is to try to restrict them artificially, but only when not used! You can find an example of using pseudo priors in a model used by Kruschke in his book and [ported](https://github.com/aloctavodia/Doing_bayesian_data_analysis) to Python/PyMC3.\n", "\n", "If you want to learn more about this approach to the computation of the marginal likelihood see [Chapter 12 of Doing Bayesian Data Analysis](http://www.sciencedirect.com/science/book/9780124058880). This chapter also discuss how to use Bayes Factors as a Bayesian alternative to classical hypothesis testing." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Analytically\n", "\n", "For some models, like the beta-binomial model (AKA the _coin-flipping_ model) we can compute the marginal likelihood analytically. If we write this model as:\n", "\n", "$$\\theta \\sim Beta(\\alpha, \\beta)$$\n", "$$y \\sim Bin(n=1, p=\\theta)$$\n", "\n", "the _marginal likelihood_ will be:\n", "\n", "$$p(y) = \\binom {n}{h} \\frac{B(\\alpha + h,\\ \\beta + n - h)} {B(\\alpha, \\beta)}$$\n", "\n", "where:\n", "\n", "* $B$ is the [beta function](https://en.wikipedia.org/wiki/Beta_function) not to get confused with the $Beta$ distribution\n", "* $n$ is the number of trials\n", "* $h$ is the number of success\n", "\n", "Since we only care about the relative value of the _marginal likelihood_ under two different models (for the same data), we can omit the binomial coefficient $\\binom {n}{h}$, thus we can write:\n", "\n", "$$p(y) \\propto \\frac{B(\\alpha + h,\\ \\beta + n - h)} {B(\\alpha, \\beta)}$$\n", "\n", "This expression has been coded in the following cell, but with a twist. We will be using the `betaln` function instead of the `beta` function, this is done to prevent underflow." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "def beta_binom(prior, y):\n", " \"\"\"\n", " Compute the marginal likelihood, analytically, for a beta-binomial model.\n", "\n", " prior : tuple\n", " tuple of alpha and beta parameter for the prior (beta distribution)\n", " y : array\n", " array with \"1\" and \"0\" corresponding to the success and fails respectively\n", " \"\"\"\n", " alpha, beta = prior\n", " h = np.sum(y)\n", " n = len(y)\n", " p_y = np.exp(betaln(alpha + h, beta + n - h) - betaln(alpha, beta))\n", " return p_y" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Our data for this example consist on 100 \"flips of a coin\" and the same number of observed \"heads\" and \"tails\". We will compare two models one with a uniform prior and one with a _more concentrated_ prior around $\\theta = 0.5$" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "y = np.repeat([1, 0], [50, 50]) # 50 \"heads\" and 50 \"tails\"\n", "priors = ((1, 1), (30, 30))" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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f/7nfyS1/ZBGcorldbBu3To99thjuvvuuzVmzJhYxkQcxeoaWL9+vSRp5cqV+slPfqLm5ubofUVFRXrggQc0c+bM2IRGzMXqOvj0pz+thQsX6oknntD69es1depUhUIhvfPOO6qpqdF///d/a8iQIbGOjySRzN0w4SPbdXV1kqS+fft2eH+fPn1UW1t7wueI3N+nT5/jPsfRr4XkEotr4Hg2bdqkX/3qVxowYIC++MUv9jgj4i9W10Fzc7O+9a1vadKkSfr85z8f04yIr1hdA5GpAffdd59uvPFGLVq0SEuXLtW9996r2tpaffnLX9b+/ftjFxwxFavrICcnR88884w+8YlPaPny5XriiSf0zDPPRKeodDTaifSRzN2QJblIG+Xl5br11lvluq5+9rOfqaioyHQkJMADDzygsrIy/fjHP2bqUIbyWzfVuvDCC/WNb3xDJ510koqKinTDDTfoc5/7nGpra/XXv/7VcErEW1VVlW666SatXbtWjzzyiP7973/r3Xff1Q9+8AM9//zzWrBggWpqakzHRAZKeNmOfLI43qfUurq64366jYjcf7xPJ5Hbj/fpBmbF4hr4sN27d+vGG29UVVWVHnzwwQ4XSSG5xOI62LBhg5588knddtttmjBhQswzIr5i9bMg8jwXX3zxMfdddNFFktqmmiD5xOo6+K//+i+tXr1aDz74oObMmaO+fftq4MCBWrBggf7jP/5D5eXleuqpp2KaHckjmbthwst2ZM5MR/OvampqVF1d3eG8raPl5eVp0KBB2rVrl1zXPeb+yHwcDrZJTrG4Bo62a9cu3XDDDdq/f78eeOCB6F+uSG6xuA5KSkrkuq5++ctfasKECe3+J0mlpaWaMGGCzjzzzJjnR+/F6mdBZJ5+RwdZRW5ramrqRVLEU6yug0WLFqmgoEATJ0485r7IAMyGDRt6FxZJK5m7YcLL9llnnSVJWrx48TH3vfvuu5Kks88+u9PnOfvss9XQ0KBVq1Ydc1/kuSOvheQSq2tAainan/3sZ7V//379/Oc/16WXXhq7oIirWFwHo0eP1vz58zv8n9Qy0jF//nx98pOfjG14xESsfhZEitS2bduOuS9yW2+3FEP8xOo6aG5uVl1dXbsFshFVVVWS1G47OKSfpO2Gid7YOxQK+Zdccok/depUf+PGjdHbj968/oMPPojefvDgQX/btm3+wYMH2z1Psm5cjs7F6hooLy/3L7roIn/y5Mn+a6+9lrD8iI1YXQfHw6E2yS9W18DOnTv9qVOn+uecc46/d+/eds9z1VVX+ePHj/eXLFkS/28IPRKr6+Dzn/+8P378eP/nP/95u9ubmpqi9z3zzDNx/V4QG50dapNq3dDIce3Lli3TF7/4RQWDQX384x9Xnz59osey3nXXXbr99tujj/3lL3+phx56SHfccYfuvPPOds9z77336rnnnkuuIznRJbG4BiJHu55++ukd7s8q6ZhrBsklVj8LOjJhwgSOa08BsboGnnnmGd13330qKCjQZZddpqysLL399tvavXu3rrnmGv3whz9M9LeGbojFdbBp0yZdf/31qq+v17Rp0zR9+nQ1NTVp8eLFKi8v15QpU/SnP/1J2dnZJr5FdOK5557TypUrJUlbtmzRhg0bNH369OgUoksvvTT62+tU64ZGjtWaNWuW/vjHP+rBBx/UK6+8olAopHHjxumrX/2qPvGJT3T5eX74wx9qwoQJ+stf/qJnnnlGeXl5uuiii9hrNwXE4hrYvXu3JGnNmjVas2ZNh4+hbCe3WP0sQOqK1TVwww03aNiwYXr88cf10ksvyXVdjRs3TrfddpsWLFgQx+8AsRCL62DSpEl6/vnn9fDDD2vZsmX6wx/+IMdxNHLkSN155536whe+QNFOYitXrtTf/va3dretWrUqOiVk2LBhXZoqmozd0MjINgAAAJAJ2GcbAAAAiBPKNgAAABAnlG0AAAAgTijbAAAAQJxQtgEAAIA4oWwDAAAAcULZBgAAAOKEsg0AAADECWUbAAAAiBPKNgCkkJdeeknXXXedpk+frrPOOktf/vKXtXPnTtOxAADHwXHtAJACwuGwvvnNb+rFF1/UyJEjNXXqVJWVlWnDhg0aNGiQXnrpJfXv3990TADAhzCyDQAp4Mc//rFefPFF3XnnnXrttdf085//XM8//7zmz5+vyspKPfPMM6YjAgA6QNkGgCS3fPly/eEPf9DVV1+tO+64Q7bd9qP7s5/9rCTp3XffNRUPAHAClG0ASHIPPviggsGg7rrrrmPuGzBggCRpz549CU4FAOgKyjYAJLHS0lKtWLFCF198sYYMGXLM/Y2NjQZSAQC6KmA6AADg+F5//XVJUkVFhe65555j7j906JAkqV+/fomMBQDoIso2ACSx5cuXS5LWrVundevWHfdxo0aNSlQkAEA3ULYBIIlt2LBBubm5WrNmTYf3f/3rX9eLL76oKVOmJDYYAKBLmLMNAEnq8OHDqq6u1qBBgzq83/f96Mj32WefnchoAIAuomwDQJKqqamRJOXn53d4/7p167R//34NHjxYZ5xxRiKjAQC6iLINAEnKsixJUigU6vD+Z599VpI0f/78dntvAwCSBz+dASBJDRkyRIFAQLt27VJzc3O7+7Zt26aFCxeqoKBAn/vc58wEBAB0irINAEkqGAxq5syZOnLkiJ566qno7Xv27NEdd9yhUCikH/zgB+rfv7/BlACAE7F83/dNhwAAdGzlypW64YYb5LquZs6cqT59+mjJkiVqamrSd77zHX3mM58xHREAcAKUbQBIcosXL9aDDz6okpIS5eTk6Mwzz9Stt96qadOmmY4GAOgEZRsAAACIE+ZsAwAAAHFC2QYAAADihLINAAAAxAllGwAAAIgTyjYAAAAQJ5RtAAAAIE4o2wAAAECcULYBAACAOKFsAwAAAHFC2QYAAADihLINAAAAxAllGwAAAIiT/weO5PmKFzEPIgAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "for a, b in priors:\n", " distri = beta(a, b)\n", " x = np.linspace(0, 1, 300)\n", " x_pdf = distri.pdf(x)\n", " plt.plot(x, x_pdf, label=rf\"$\\alpha$ = {a:d}, $\\beta$ = {b:d}\")\n", " plt.yticks([])\n", " plt.xlabel(\"$\\\\theta$\")\n", " plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following cell returns the Bayes factor" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "5\n" ] } ], "source": [ "BF = beta_binom(priors[1], y) / beta_binom(priors[0], y)\n", "print(round(BF))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We see that the model with the more concentrated prior $\\text{beta}(30, 30)$ has $\\approx 5$ times more support than the model with the more extended prior $\\text{beta}(1, 1)$. Besides the exact numerical value this should not be surprising since the prior for the most favoured model is concentrated around $\\theta = 0.5$ and the data $y$ has equal number of head and tails, consintent with a value of $\\theta$ around 0.5." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Sequential Monte Carlo\n", "\n", "The [Sequential Monte Carlo](SMC2_gaussians.ipynb) sampler is a method that basically progresses by a series of successive *annealed* sequences from the prior to the posterior. A nice by-product of this process is that we get an estimation of the marginal likelihood. Actually for numerical reasons the returned value is the log marginal likelihood (this helps to avoid underflow)." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Initializing SMC sampler...\n", "Sampling 4 chains in 4 jobs\n" ] }, { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n", " \n", " 100.00% [100/100 00:00<? Stage: 2 Beta: 1.000]\n", "
\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ " " ] }, { "name": "stderr", "output_type": "stream", "text": [ "/home/oriol/bin/miniconda3/envs/releases/lib/python3.10/site-packages/arviz/data/base.py:221: UserWarning: More chains (4) than draws (3). Passed array should have shape (chains, draws, *shape)\n", " warnings.warn(\n", "Initializing SMC sampler...\n", "Sampling 4 chains in 4 jobs\n" ] }, { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n", " \n", " 100.00% [100/100 00:00<? Stage: 0 Beta: 1.000]\n", "
\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ " " ] }, { "name": "stderr", "output_type": "stream", "text": [ "/home/oriol/bin/miniconda3/envs/releases/lib/python3.10/site-packages/arviz/data/base.py:221: UserWarning: More chains (4) than draws (1). Passed array should have shape (chains, draws, *shape)\n", " warnings.warn(\n" ] } ], "source": [ "models = []\n", "idatas = []\n", "for alpha, beta in priors:\n", " with pm.Model() as model:\n", " a = pm.Beta(\"a\", alpha, beta)\n", " yl = pm.Bernoulli(\"yl\", a, observed=y)\n", " idata = pm.sample_smc(random_seed=42)\n", " models.append(model)\n", " idatas.append(idata)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "5.0" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "BF_smc = np.exp(\n", " idatas[1].sample_stats[\"log_marginal_likelihood\"].mean()\n", " - idatas[0].sample_stats[\"log_marginal_likelihood\"].mean()\n", ")\n", "np.round(BF_smc).item()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As we can see from the previous cell, SMC gives essentially the same answer as the analytical calculation! \n", "\n", "Note: In the cell above we compute a difference (instead of a division) because we are on the log-scale, for the same reason we take the exponential before returning the result. Finally, the reason we compute the mean, is because we get one value log marginal likelihood value per chain. \n", "\n", "The advantage of using SMC to compute the (log) marginal likelihood is that we can use it for a wider range of models as a closed-form expression is no longer needed. The cost we pay for this flexibility is a more expensive computation. Notice that SMC (with an independent Metropolis kernel as implemented in PyMC) is not as efficient or robust as gradient-based samplers like NUTS. As the dimensionality of the problem increases a more accurate estimation of the posterior and the _marginal likelihood_ will require a larger number of `draws`, rank-plots can be of help to diagnose sampling problems with SMC." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Bayes factors and inference\n", "\n", "So far we have used Bayes factors to judge which model seems to be better at explaining the data, and we get that one of the models is $\\approx 5$ _better_ than the other. \n", "\n", "But what about the posterior we get from these models? How different they are?" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
meansdhdi_3%hdi_97%
a0.50.050.40.59
\n", "
" ], "text/plain": [ " mean sd hdi_3% hdi_97%\n", "a 0.5 0.05 0.4 0.59" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "az.summary(idatas[0], var_names=\"a\", kind=\"stats\").round(2)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
meansdhdi_3%hdi_97%
a0.50.040.420.57
\n", "
" ], "text/plain": [ " mean sd hdi_3% hdi_97%\n", "a 0.5 0.04 0.42 0.57" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "az.summary(idatas[1], var_names=\"a\", kind=\"stats\").round(2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We may argue that the results are pretty similar, we have the same mean value for $\\theta$, and a slightly wider posterior for `model_0`, as expected since this model has a wider prior. We can also check the posterior predictive distribution to see how similar they are." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Sampling: [yl]\n" ] }, { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n", " \n", " 100.00% [8000/8000 00:00<00:00]\n", "
\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "Sampling: [yl]\n" ] }, { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n", " \n", " 100.00% [8000/8000 00:00<00:00]\n", "
\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ppc_0 = pm.sample_posterior_predictive(idatas[0], model=models[0]).posterior_predictive\n", "ppc_1 = pm.sample_posterior_predictive(idatas[1], model=models[1]).posterior_predictive" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA48AAAJjCAYAAACsmCRCAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAApEUlEQVR4nO3dfZTWdZ3/8Rc6Q7CDErreQdiNOhS4BmqihmxR631GyXqzCipkYoLm6WbtbO3+1tPaqdQKLOwk2aaVyubJFGKozlIqcrMkIbSonAwQdTEhvAmEYa7fH7tM4gx8UK6ZC8bH4xzPie/3y3fe13y6ZnjO93vN1a1SqVQCAAAAO7BXrQcAAABg9yceAQAAKBKPAAAAFIlHAAAAisQjAAAAReIRAACAIvEIAABAkXgEAACgqG5nD1y3bl1HzkE7evfunfXr19d6DKrMunY91rRrsq5djzXtmqxr12NNa6NPnz7FY1x53I3ttZfl6Yqsa9djTbsm69r1WNOuybp2PdZ092VlAAAAKBKPAAAAFIlHAAAAisQjAAAAReIRAACAIvEIAABAkXgEAACgSDwCAABQJB4BAAAoEo8AAAAUiUcAAACKxCMAAABF4hEAAIAi8QgAAECReAQAAKBIPAIAAFAkHgEAACiqq/UAAABA+6be2lLrEbZr3CVd8zrUwoULc8UVV2TcuHG59NJLX/d5Ro4cmST5yU9+Up3BdgPiEQAAYDfT0tKSH//4x/nJT36SJ598Mj179swxxxyTyy67LIceemhNZuqaPy4AAADYg335y1/ODTfckJaWlowaNSonnnhi7r///owdOzZPPPFETWZy5REAAGA3snDhwtxzzz0ZPHhwJk2alO7duydJTjvttFx55ZX5yle+kilTpnT6XOIRAACoiVe+vnDo0KG5+eabs2zZsnTv3j0jRozIlVdemR49euShhx7Kd7/73Tz++OPp2bNnzjjjjFx++eXZe++9W8/V3NycadOmZfr06Vm1alXq6uoyYMCAXHDBBXnve9/b5mNv3LgxU6dOTVNTU/70pz/lLW95S84555z0799/u/M+9dRTufXWWzN//vysXbs2++67b4YOHZpLL700hxxySNU+L/fcc0+S5LLLLmsNxyR5z3vek6FDh2bu3LlZuXJlp9++6rZVAACgppYuXZqJEyemV69eOe+883LQQQfl7rvvzpe+9KX88pe/zDXXXJODDjooI0eOzD777JPbb7893//+91v/fqVSyec///l84xvfyKZNm3L22Wfn5JNPzvLly/OpT30qd9555zYfr6WlJZ/5zGdy2223ZZ999sk555yTQYMG5Rvf+EZ++MMftjvjkiVLMmbMmMyYMSPvfOc7c84552Tw4MFpamrK2LFjs3r16qp9Pn7zm9+kZ8+eOeqoo9rsO/7441uP6WyuPAIAADU1d+7cfOUrX8nw4cPTp0+fPPvss7n44osza9aszJs3L1OmTMnAgQOTJJdeemlGjRqVO+64I6NHj05dXV1mzpyZ2bNnZ8iQIZk0aVLq6+uTJJdcckkuuuiiTJ48OSeddFL69u2bJJkxY0YWLFiQ448/PjfccEPrFcxzzz03l1xySZv5mpub84UvfCEtLS353ve+lyOOOKJ136JFi3LFFVfkxhtvzA033LDLn4sNGzbkj3/8Yw477LBtrqxutfXK6KpVq3b5Y71W4hGAXdZ9zk21HqHqtvTske4bNtZ6jKradOKEWo8A0K6jjz46w4cPb/1zXV1dRowYkeXLl2fYsGGt4ZgkDQ0NGTZsWO69996sWbMmffv2zfTp05MkEyZMaA3HJDnwwANz/vnn51vf+lZmzpyZsWPHJkl+9rOfJUnGjx+/TaAdfvjhOfXUU3PvvfduM98DDzyQp59+Oh//+Me3CcckGTx4cE466aT8+te/zksvvZSGhoZd+ly8+OKLrY+zPVu3v/TSS7v0cV4P8QgAANRUY2Njm237779/krSJtVfue/bZZ9O3b9889thjedOb3pRBgwa1Ofboo49Okjz++OOt2x5//PH06NEj73znO9scP3jw4DbxuGTJkiTJihUr8p3vfKfN33nuuefS0tKSlStX5l3vetd2H+eeTjwCAAA11d5Vtq1XBHe0r7m5Ocn/XoU78MAD2z33fvvtl+QvV/R29vhXev7555MkTU1N230Myf/ecrqrevXqlWT7Vxa3bt/VK5yvh3gEAAD2aA0NDVm7dm27+7Zuf2VsNTQ0ZN26dTs8/tXnT5Lrr78+w4YN29Vxd6hnz57567/+6zz11FPZsmVLm9c9bn2t445+K2xH8dtWAQCAPVpjY2NefvnlLF26tM2+hx9+uPWYrY444ohs3Lgxy5Yta3P8okWL2mzbejvsI488UqWJd2zIkCHZsGFDFi9e3Gbf3Llzk/zldtzOJB4BAIA92umnn54kmTJlSuutrEmyZs2a/OhHP8ree++dU045pXX7aaedliS5+eabs2XLltbty5cvz8yZM9ucf/jw4Tn44INzxx13tMboKzU3N7cbna/XyJEjkyTf/va3s3nz5tbtCxYsyLx58zJkyJBOf4/HxG2rAADAHu60007L7Nmz8+tf/zoXXHBBhg0blg0bNuSXv/xl1q9fnyuvvDL9+vVrPf70009PU1NT5s6dmzFjxuSEE07I888/n5///Oc57rjj8uCDD25z/u7du+e6667L1VdfncsvvzzHHntsDjvssCTJM888k9/+9rfp3bt3m/eTfL2OOeaYnHXWWfnpT3+aMWPG5MQTT8y6devyi1/8Ig0NDfnsZz9blY/zWolHAADYTY27xI2CO6Nbt2657rrrcuedd2bGjBmZNm1a6urqMmDAgJx//vnbvA1Ikuy111756le/mltuuSVNTU2566670q9fv1x11VXp379/m3hMkoEDB+a2227LD37wg8yZMyeLFy9OfX19DjjggAwfPjwnn3xyVR/TNddck8MPPzw/+clPMm3atPTs2TPDhg3L+PHja3LVMUm6VSqVys4cuL0XlNJx+vTp4/PeBVnXrseads33eezRs0c2ep/HLsVztWuyrl2PNa2NPn36FI/xowwAAACKxCMAAABFXvMIAADQgR577LH86le/Kh53yCGH5Mwzz+yEiV4f8QgAANCBHnvssUydOrV43JAhQ8QjAADAG9WZZ565W0fhzvKaRwAAAIrEIwAAAEXiEQAAgCLxCAAAQJF4BAAAoEg8AgAAUCQeAQAAKBKPAAAAFIlHAACA/7Nw4cIcf/zx+c53vrNL5xk5cmRGjhxZnaF2E3W1HgAAAGhf9zk31XqE7dp04oRaj9BlrV27Nvfee2+WLVuWZcuW5emnn06SzJ07t6ZziUcAAIDdyBNPPJEpU6akW7du6d+/f3r06JGNGzfWeizxCAAAsDt529velilTpqSxsTENDQ0599xzs2LFilqPJR4BAIDaWLhwYa644oqMGzcuQ4cOzc0335xly5ale/fuGTFiRK688sr06NEjDz30UL773e/m8ccfT8+ePXPGGWfk8ssvz9577916rubm5kybNi3Tp0/PqlWrUldXlwEDBuSCCy7Ie9/73jYfe+PGjZk6dWqamprypz/9KW95y1tyzjnnpH///tud96mnnsqtt96a+fPnZ+3atdl3330zdOjQXHrppTnkkEOq9nnZf//9s//++1ftfNUiHgEAgJpaunRpbr/99gwdOjTnnXdeHnzwwdx999156aWXMnz48Fx77bU56aSTMmjQoMyZMye33357GhoacskllyRJKpVKPv/5z2f27Nk59NBDc/bZZ2fDhg355S9/mU996lO5+uqrc+6557Z+vJaWlnzmM5/JggULcthhh+Xkk0/O+vXr841vfCNHH310uzMuWbIkn/zkJ7Nhw4YMGzYsb3nLW/LMM8+kqakpDz30UG655Zb069evUz5ftSIeAQCAmpo7d26+8pWvZPjw4enTp0+effbZXHzxxZk1a1bmzZuXKVOmZODAgUmSSy+9NKNGjcodd9yR0aNHp66uLjNnzszs2bMzZMiQTJo0KfX19UmSSy65JBdddFEmT56ck046KX379k2SzJgxIwsWLMjxxx+fG264ofUK5rnnntsapK/U3NycL3zhC2lpacn3vve9HHHEEa37Fi1alCuuuCI33nhjbrjhho7+VNWUt+oAAABq6uijj87w4cNb/1xXV5cRI0akUqlk2LBhreGYJA0NDRk2bFjWr1+fNWvWJEmmT5+eJJkwYUJrOCbJgQcemPPPPz/Nzc2ZOXNm6/af/exnSZLx48dvc+vr4YcfnlNPPbXNfA888ECefvrpXHjhhduEY5IMHjw4J510Uh566KG89NJLu/Jp2O258ggAANRUY2Njm21bX/P36lh75b5nn302ffv2zWOPPZY3velNGTRoUJtjt96G+vjjj7due/zxx9OjR4+8853vbHP84MGDc++9926zbcmSJUmSFStWtPv+j88991xaWlqycuXKvOtd79ru49zTiUcAAKCmGhoa2mzbekVwR/uam5uTJC+99FIOPPDAds+93377JUlefPHF1m07c/wrPf/880mSpqam7T6GJNmwYcMO9+/pxCMAALBHa2hoyNq1a9vdt3X7KyO0oaEh69at2+Hxrz5/klx//fUZNmzYro67x/KaRwAAYI/W2NiYl19+OUuXLm2z7+GHH249ZqsjjjgiGzduzLJly9ocv2jRojbbtt4O+8gjj1Rp4j2TeAQAAPZop59+epJkypQprbeyJsmaNWvyox/9KHvvvXdOOeWU1u2nnXZakuTmm2/Oli1bWrcvX758m1+ss9Xw4cNz8MEH54477miN0Vdqbm5uNzq7GretAgAAe7TTTjsts2fPzq9//etccMEFGTZsWOv7PK5fvz5XXnnlNu/BePrpp6epqSlz587NmDFjcsIJJ+T555/Pz3/+8xx33HF58MEHtzl/9+7dc9111+Xqq6/O5ZdfnmOPPTaHHXZYkuSZZ57Jb3/72/Tu3Tt33nln1R7Ttdde2/q///jHP7bZduWVV+bNb35z1T7ezhCPAADAHq1bt2657rrrcuedd2bGjBmZNm1a6urqMmDAgJx//vnbvA1Ikuy111756le/mltuuSVNTU2566670q9fv1x11VXp379/m3hMkoEDB+a2227LD37wg8yZMyeLFy9OfX19DjjggAwfPjwnn3xyVR/TjBkzdrjtYx/7WKfHY7dKpVLZmQO394JSOk6fPn183rsg69r1WNOk+5ybaj1C1fXo2SMbN2ys9RhVtenECbUeoaY8V7sm69r1WNPa6NOnT/EYr3kEAACgSDwCAABQ5DWPAAAAHeixxx7Lr371q+JxhxxySM4888xOmOj1EY8AAAAd6LHHHsvUqVOLxw0ZMkQ8AgAAvFGdeeaZu3UU7iyveQQAAKBIPAIAAFAkHgEAACjymkcAdtlvFlVqPULV1ddtzubmrvW4jjyx1hMAsCdz5REAAIAi8QgAAECReAQAAKBIPAIAAFAkHgEAACgSjwAAABSJRwAAAIrEIwAAAEXiEQAAgCLxCAAAQJF4BAAAoEg8AgAAUCQeAQAAKBKPAAAAFIlHAAAAisQjAAAAReIRAACAIvEIAABAkXgEAACgSDwCAABQJB4BAAAoEo8AAAAUiUcAAACKxCMAAABF4hEAAIAi8QgAAECReAQAAKBIPAIAAFAkHgEAACgSjwAAABSJRwAAAIrEIwAAAEXiEQAAgCLxCAAAQJF4BAAAoEg8AgAAUCQeAQAAKBKPAAAAFIlHAAAAisQjAAAAReIRAACAIvEIAABAkXgEAACgSDwCAABQJB4BAAAoEo8AAAAUiUcAAACKxCMAAABF4hEAAIAi8QgAAECReAQAAKBIPAIAAFAkHgEAACgSjwAAABSJRwAAAIrEIwAAAEXiEQAAgCLxCAAAQJF4BAAAoEg8AgAAUCQeAQAAKBKPAAAAFIlHAAAAisQjAAAAReIRAACAIvEIAABAkXgEAACgSDwCAABQJB4BAAAoEo8AAAAUiUcAAACKxCMAAABF4hEAAIAi8QgAAECReAQAAKBIPAIAAFAkHgEAACgSjwAAABSJRwAAAIrEIwAAAEXiEQAAgCLxCAAAQJF4BAAAoEg8AgAAUCQeAQAAKBKPAAAAFIlHAAAAisQjAAAAReIRAACAIvEIAABAkXgEAACgSDwCAABQJB4BAAAoEo8AAAAUiUcAAACKxCMAAABF4hEAAIAi8QgAAECReAQAAKBIPAIAAFAkHgEAACgSjwAAABSJRwAAAIrEIwAAAEXiEQAAgCLxCAAAQJF4BAAAoEg8AgAAUCQeAQAAKBKPAAAAFIlHAAAAisQjAAAAReIRAACAIvEIAABAkXgEAACgSDwCAABQJB4BAAAoEo8AAAAUiUcAAACKxCMAAABF4hEAAIAi8QgAAECReAQAAKBIPAIAAFAkHgEAACgSjwAAABSJRwAAAIrEIwAAAEXiEQAAgCLxCAAAQJF4BAAAoEg8AgAAUCQeAQAAKBKPAAAAFIlHAAAAisQjAAAAReIRAACAIvEIAABAkXgEAACgSDwCAABQJB4BAAAoEo8AAAAUiUcAAACKxCMAAABF4hEAAIAi8QgAAECReAQAAKBIPAIAAFAkHgEAACgSjwAAABSJRwAAAIrEIwAAAEXiEQAAgCLxCAAAQJF4BAAAoEg8AgAAUCQeAQAAKBKPAAAAFIlHAAAAisQjAAAAReIRAACAIvEIAABAkXgEAACgSDwCAABQJB4BAAAoEo8AAAAUiUcAAACKxCMAAABF4hEAAIAi8QgAAECReAQAAKBIPAIAAFAkHgEAACgSjwAAABSJRwAAAIrEIwAAAEXiEQAAgCLxCAAAQJF4BAAAoEg8AgAAUCQeAQAAKBKPAAAAFIlHAAAAisQjAAAAReIRAACAIvEIAABAkXgEAACgSDwCAABQJB4BAAAoEo8AAAAUiUcAAACKxCMAAABF4hEAAIAi8QgAAECReAQAAKBIPAIAAFAkHgEAACgSjwAAABSJRwAAAIrEIwAAAEXiEQAAgCLxCAAAQJF4BAAAoEg8AgAAUCQeAQAAKBKPAAAAFIlHAAAAisQjAAAAReIRAACAIvEIAABAkXgEAACgSDwCAABQJB4BAAAoEo8AAAAUiUcAAACKxCMAAABF4hEAAIAi8QgAAECReAQAAKBI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Kz3zzDN58MEHc8ABB+R973vf656R10Y8doI//OEPSZK3vvWtbfb17t07ffr0yYoVK173+X/84x8n+cuTkM5R7XWdN29e5s+fn02bNmXFihX5z//8z/Tp0yef+9znqjUyBdVc08WLF+eWW27J1Vdfnbe//e3VHJPXqNrP1fvuuy/33Xdf65979OiRiRMn5mMf+9guz8rOsaZdU7XWdcmSJUmShQsX5ktf+lI2bdrUum+//fbL17/+9QwdOrQ6Q7NDHflv4B//+MdpaWnJRz7yEVeTO5HPdCd48cUXkyT77LNPu/t79eqVZ5555nWd+7//+7/zzW9+M/vvv79vcp2s2us6f/783HTTTa1/futb35obb7wxRx555K4Nyk6r1ppu2rQpn/vc5/Kud70rY8eOreqMvHbVWtf99tsvn/3sZ/O+970vffv2zfPPP5958+bl+uuvz1e/+tX06tUr5513XlVnp33WtGuq1ro+99xzSZIvfvGLGTt2bC688MJ0794906dPz5e//OVcccUVmTFjRpuXAlF9HfVv4Eql0nq7q1tWO5fXPO7BVq1alcsuuyxbtmzJjTfe6BabPdzEiRPz6KOP5uGHH860adPyjne8I+eff37uvffeWo/Ga/T1r389K1asyHXXXed28i7kiCOOyLhx43LYYYelZ8+eOeigg3LWWWfllltuSX19fSZPnpyWlpZaj8lrYE27pkqlkiR53/vel09/+tM5+OCDs99++2X06NG5+OKL88ILL+Q//uM/ajwlu2Lu3Ll58sknc9xxx7V7VZOOIx47Qa9evZIkL7zwQrv7X3zxxe3+RGZ7Vq9enYsuuihr167NpEmTvJVDDXTEuibJX/3VX+Woo47KTTfdlHe84x3553/+56xdu3aXZmXnVGNNly5dmu9973sZP358BgwYUPUZee066rm6VWNjY9797nfnj3/84y69BIGdZ027pmqt69bzjBgxos2+97///Un+cmsrHaujnqt+UU7tiMdO8La3vS1J2v0GtH79+qxbt+41/dTkySefzOjRo7NmzZp8/etfb/1CSOeq9rq+Wl1dXYYOHZo///nPeeSRR173edh51VjTRx99NFu2bMnkyZMzYMCAbf5LkieeeCIDBgzIscceW/X5aV9HP1eTpE+fPkmSjRs37tJ52DnWtGuq1rpufZ35vvvu22bf1m0vv/zyLkzKzuqI5+r69evz85//PPvuu29OOeWUaozJayAeO8F73vOeJMkDDzzQZt+DDz6YJO2+8Wl7nnzyyYwZMyZr1qzJ1772tXzwgx+s3qC8JtVc1+1Zs2ZNEr9WvLNUY03f9ra3ZdSoUe3+l/zv6z5GjRqVkSNHVnd4tqujn6vNzc353e9+l27duuWQQw553edh51nTrqla67r1bqzly5e32bd1W79+/V73nOy8jniu/vSnP82mTZvyoQ99KD169Nj1IXltav1Gk28EmzdvrnzgAx+oHHnkkZXf/e53rdtf+Qapv//971u3P/fcc5Xly5dXnnvuuW3Os2rVqsr73//+ysCBAytNTU2dNj/tq9a6zp8/v9LS0tLm/Pfff39l0KBBlWOOOaby0ksvddwDoVW11nR7GhsbK6ecckrV52bHqrWuv/nNb9o8Vzdv3lz5t3/7t0pjY2Nl3LhxHftAaGVNu6ZqrevKlSsrRx55ZOWEE06oPPPMM9uc58Mf/nClsbGxMmfOnI5/QHTI99Wzzjqr0tjYWFm6dGmHzk77ulUq//eqYjrU3Llz87GPfSz19fU588wz06tXr8yaNStPPvlkPvnJT+byyy9vPXby5Mm56aabMmHChEycOLF1+4gRI7J69eoMHjy43ffLSbLN8XS8aqzrsccemz59+uRv/uZvcvDBB+fll1/Oo48+mgULFqS+vj7XX399Tj311Fo8vDekaqzp9gwYMCBvf/vbM3PmzI58CLSjWl+Dk2TIkCE56KCD8sILL2TBggV54okn0rdv39x+++2uZnQia9o1Vetr8G233ZYvfvGLefOb35y/+7u/S/fu3TN79uysXr065557bq699trOfmhvWNX8vrpkyZKcffbZGTRoUOtvW6VzuReukxx//PH54Q9/mEmTJuVnP/tZNm/enMMPPzxXXXVVzjrrrJ06x+rVq5MkixYtyqJFi9o9Rjx2rmqs68SJE3P//fdn4cKFWbt2bettUn//93+fiy66KEcccUQHPwpeqRpryu6nGut63nnn5f7778/8+fOzbt261NXV5dBDD8348eMzduzY9O7du4MfBa9kTbuman0NHj16dPr165epU6dm+vTp2bJlSw4//PCMHz8+55xzTgc+Al6tmt9Xt/6WXL8op3ZceQQAAKDIL8wBAACgSDwCAABQJB4BAAAoEo8AAAAUiUcAAACKxCMAAABF4hEAAIAi8QgAAECReAQAAKBIPALAq0yfPj3/8A//kKOPPjrvec97csUVV2TlypW1HgsAaqpbpVKp1HoIANgdNDc35x//8R9z33335dBDD82RRx6ZFStWZOnSpTnggAMyffr09O7du9ZjAkBNuPIIAP/nuuuuy3333ZeJEyemqakpX/va13L33Xdn1KhRefbZZ3PbbbfVekQAqBnxCABJ5s+fnx/84Af56Ec/mgkTJmSvvf7yLXLMmDFJkgcffLBW4wFAzYlHAEgyadKk1NfX55Of/GSbffvvv3+S5KmnnurkqQBg9yEeAXjDe+KJJ7JgwYKMGDEiBx10UJv9GzZsqMFUALB7qav1AABQa7NmzUqSPP3007nmmmva7P/Tn/6UJNl33307cywA2K2IRwDe8ObPn58kWbx4cRYvXrzd49761rd21kgAsNsRjwC84S1dujQ9e/bMokWL2t3/qU99Kvfdd18GDRrUuYMBwG7Eax4BeEN7/vnns27duhxwwAHt7q9UKq1XJo877rjOHA0AdiviEYA3tPXr1ydJGhoa2t2/ePHirFmzJgceeGCGDBnSmaMBwG5FPALwhtatW7ckyebNm9vdf9dddyVJRo0atc17PwLAG43vggC8oR100EGpq6vLk08+mU2bNm2zb/ny5bnnnnvy5je/ORdffHFtBgSA3YR4BOANrb6+PkOHDs3GjRvz7//+763bn3rqqUyYMCGbN2/Ov/7rv6Z37941nBIAaq9bpVKp1HoIAKilhQsXZvTo0dmyZUuGDh2aXr16Zc6cOXn55ZfzT//0T7nwwgtrPSIA1Jx4BIAkDzzwQCZNmpRHH300PXr0yLHHHpvLLrssRx11VK1HA4DdgngEAACgyGseAQAAKBKPAAAAFIlHAAAAisQjAAAAReIRAACAIvEIAABAkXgEAACgSDwCAABQJB4BAAAoEo8AAAAUiUcAAACKxCMAAABF/x958VjGiPrmMwAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "_, ax = plt.subplots(figsize=(9, 6))\n", "\n", "bins = np.linspace(0.2, 0.8, 8)\n", "ax = az.plot_dist(\n", " ppc_0[\"yl\"].mean(\"yl_dim_2\"),\n", " label=\"model_0\",\n", " kind=\"hist\",\n", " hist_kwargs={\"alpha\": 0.5, \"bins\": bins},\n", ")\n", "ax = az.plot_dist(\n", " ppc_1[\"yl\"].mean(\"yl_dim_2\"),\n", " label=\"model_1\",\n", " color=\"C1\",\n", " kind=\"hist\",\n", " hist_kwargs={\"alpha\": 0.5, \"bins\": bins},\n", " ax=ax,\n", ")\n", "ax.legend()\n", "ax.set_xlabel(\"$\\\\theta$\")\n", "ax.xaxis.set_major_formatter(FormatStrFormatter(\"%0.1f\"))\n", "ax.set_yticks([]);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this example the observed data $y$ is more consistent with `model_1` (because the prior is concentrated around the correct value of $\\theta$) than `model_0` (which assigns equal probability to every possible value of $\\theta$), and this difference is captured by the Bayes factor. We could say Bayes factors are measuring which model, as a whole, is better, including details of the prior that may be irrelevant for parameter inference. In fact in this example we can also see that it is possible to have two different models, with different Bayes factors, but nevertheless get very similar predictions. The reason is that the data is informative enough to reduce the effect of the prior up to the point of inducing a very similar posterior. As predictions are computed from the posterior we also get very similar predictions. In most scenarios when comparing models what we really care is the predictive accuracy of the models, if two models have similar predictive accuracy we consider both models as similar. To estimate the predictive accuracy we can use tools like PSIS-LOO-CV (`az.loo`), WAIC (`az.waic`), or cross-validation." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Savage-Dickey Density Ratio\n", "\n", "For the previous examples we have compared two beta-binomial models, but sometimes what we want to do is to compare a null hypothesis H_0 (or null model) against an alternative one H_1. For example, to answer the question _is this coin biased?_, we could compare the value $\\theta = 0.5$ (representing no bias) against the result from a model were we let $\\theta$ to vary. For this kind of comparison the null-model is nested within the alternative, meaning the null is a particular value of the model we are building. In those cases computing the Bayes Factor is very easy and it does not require any special method, because the math works out conveniently so we just need to compare the prior and posterior evaluated at the null-value (for example $\\theta = 0.5$), under the alternative model. We can see that is true from the following expression:\n", "\n", "\n", "$$\n", "BF_{01} = \\frac{p(y \\mid H_0)}{p(y \\mid H_1)} \\frac{p(\\theta=0.5 \\mid y, H_1)}{p(\\theta=0.5 \\mid H_1)}\n", "$$\n", "\n", "Which only [holds](https://statproofbook.github.io/P/bf-sddr) when H_0 is a particular case of H_1.\n", "\n", "Let's do it with PyMC and ArviZ. We need just need to get posterior and prior samples for a model. Let's try with beta-binomial model with uniform prior we previously saw." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Auto-assigning NUTS sampler...\n", "Initializing NUTS using jitter+adapt_diag...\n", "Multiprocess sampling (4 chains in 4 jobs)\n", "NUTS: [a]\n" ] }, { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n", " \n", " 100.00% [12000/12000 00:01<00:00 Sampling 4 chains, 0 divergences]\n", "
\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "Sampling 4 chains for 1_000 tune and 2_000 draw iterations (4_000 + 8_000 draws total) took 2 seconds.\n", "Sampling: [a, yl]\n" ] } ], "source": [ "with pm.Model() as model_uni:\n", " a = pm.Beta(\"a\", 1, 1)\n", " yl = pm.Bernoulli(\"yl\", a, observed=y)\n", " idata_uni = pm.sample(2000, random_seed=42)\n", " idata_uni.extend(pm.sample_prior_predictive(8000))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And now we call ArviZ's `az.plot_bf` function" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtsAAAHrCAYAAAAe4lGYAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAACIIklEQVR4nO3deXiU1fn/8fczk40kkIWdEHaIICAgsqmogEsVFXFBXBHcRautG1attVa07fenIipuFaWVAgJVFhVRUUFEZRFFZIeEAAFCSMg+y/P7YzJDQhJIyEyemcnndV25mDzrPTlMcs+Z+5xjmKZpIiIiIiIifmezOgARERERkXClZFtEREREJECUbIuIiIiIBIiSbRERERGRAFGyLSIiIiISIEq2RUREREQCRMm2iIiIiEiAKNkWEREREQkQJdsiIiIiIgGiZFtEQtaqVatIS0vjxhtvtDoUqYW0tDTS0tKsDkNEpF5EWB2AiDRsJ5N0DRgwgBkzZgQgmpM3b948Jk2aVGl7REQESUlJ9OzZk7Fjx3LOOedUOmb37t0MHz78hPf43//+R/fu3Wsdm9vt5ptvvmH9+vWsX7+en3/+mZycHOx2O7/++usJzy8pKeHNN99k8eLF7N69m9jYWPr27csdd9xBnz59ah1Pffrwww+ZOXMmW7ZswTRNunXrxnXXXcdll11W62tlZGSwcuVK389x69atuFwufv/733P33XdXe953333H0qVL+fnnn9mzZw85OTlERkbSsWNHhg8fzs0330x8fHxdnqaIBDEl2yJiqX79+lXalp+fz+bNm6vd361bt4DHdbKioqLo2bOn7/vCwkIyMjL48ssv+fLLL7nzzjt54IEHqj2/Z8+eREVFVbkvNjb2pGLKz8/n9ttvP6lzCwsLueGGG9iwYQORkZF07dqV7OxsvvjiC7766iv+8Y9/cMkll9Tqmh07djypWGrrySefZNasWQB06tQJwzBYu3Yta9euZd26dTz55JO1ut57773He++9V+s4PvjgAxYsWEBERAQtWrQgLS2NnJwcfv31VzZs2MC8efOYMWMGbdq0qfW1RST4KdkWEUvNnDmz0rZVq1Zx0003Vbs/mDVv3rxSzMXFxbz44ou88847vP7664wcOZKuXbtWef5LL71E27Zt/RqTzWajR48e9OrVi969e9O8efMaJ9/PPfccGzZsoFOnTrz11lukpKTgdrt5++23+ec//8ljjz1Gv379aN26dY3j+eSTT072qdTYokWLmDVrFrGxsbz66qsMHjwYgJUrV3L33Xfzn//8hwEDBnDRRRfV+JpJSUmcd9559OrVi169evHBBx/w6aefnvC8888/n8suu4wBAwYQExPj275161b+8Ic/sGnTJp566ineeOON2j9REQl6qtkWEQmwmJgYHn74YZo1a4ZpmqxcubJe7x8fH8/8+fN5+umnueqqq+jcuXONztu/fz9z584F4NlnnyUlJQXwJO+33XYbZ555JsXFxbz99tsBi/1kvfbaawDceeedvkQbYPDgwdxxxx0AvPrqq7W65t133820adO45557GDp0aI0/abjwwgsZOnRohUQboEuXLjzzzDMALF++nJKSklrFIyKhQcm2iIQFt9vNu+++y8iRI+nVqxdDhgzhscce49ChQ9Wec/jwYV544QVGjhxJnz596Nu3L9dccw2zZ8/G7Xb7NT6bzUarVq0AcDgcfr12oHzxxRc4nU46d+5M3759K+2/6qqrAGrUu1tedQMkc3JyeP7557nooovo1asXffr0YdiwYUyYMIH//Oc/Nb7+9u3b2bJlCwBXXnllpf3ebZs2bWLHjh21it3fOnXqBIDL5aK0tNTSWEQkMFRGIiJh4aGHHmLhwoV06NCB9u3bs2PHDubOncv69euZN29epTroLVu2MGHCBLKysoiMjKR9+/aUlpayfv16fvrpJ5YvX85LL72EYRh+iS8/P5+dO3cCRxOsYPfTTz8BVdfNl9++f/9+9u7dW6tSkmMdOXKEa665hvT0dF97REdHs2/fPlasWMFPP/3E9ddfX6u427dvT7NmzSrtb968Oe3atSM9PZ2ffvqp3mrIq7Ju3ToAUlNTady4sWVxiEjgKNkWkZC3du1akpKSmDNnDr179wZgx44djBs3ji1btjB37lzGjh3rO76wsJC7776brKwsbrzxRu6//37fbBBbt27l/vvv59NPP+X999+vcYJXncLCQrZu3coLL7xAfn4+3bt3Z+jQoXW6Zn3xvjlITU2tcn/Lli2JjIzE4XCwc+fOOiXbc+bMIT09nbPOOov/+7//IzEx0bdvz549LFmyxG9xe/elp6eza9eukw35pJmmycGDB1m5ciV///vfiYiI4NFHH633OESkfijZFpGQ53A4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HnqIhQsX0qFDB9q3b8+OHTuYO3cu69evZ968eZXqoLds2cKECRPIysoiMjKS9u3bU1payvr16/npp59Yvnw5L730EoZh+CW+/Px8du7cCUCnTp38cs2aWrduHVB1/Xv57b/88gsulwu73V5fofkcOXKEa665hvT0dF97REdHs2/fPlasWMFPP/3E9ddfX+f7LFiwAKh9r/bOnTvZvn07iYmJ9OvXj6VLl/LJJ59w4MABkpOTGTJkCJdffnm19fbgKY/asmULhw8fJjExkV69ejFq1CiaN29ep+ckIsFNybaIhLy1a9eSlJTEnDlz6N27NwA7duxg3LhxbNmyhblz5zJ27Fjf8YWFhdx9991kZWVx4403cv/99xMfHw/A1q1buf/++/n00095//3365zgFRYWsnXrVl544QXy8/Pp3r07Q4cOrdM1a2vXrl0ApKamVrnfu93hcLBnz55qjwukOXPmkJ6ezllnncX//d//kZiY6Nu3Z88eX+98Xfz000/s3LkTu93OyJEja3Xuhg0bAM/gzoceesiXtHstXryYf/3rX7z11lvVzm7yww8/VPj+008/ZerUqfz5z39m9OjRtYpHREKHPgcTkZDncDh44oknfIk2eJKiW2+9FYCvv/66wvFz584lPT2d888/n8cff9yXaINnQOA///lPDMPgnXfeqXUsmZmZvjKJtLQ0+vbty9VXX82PP/7IrbfeyowZM47bczx8+PAK53u/Xn755VrH4pWXlwdAkyZNqtyfkJDge5ybm3vS96kLb6//ddddVyHRBmjTpk2lWvKT4S0hGTx4cK17kw8cOAB4ev8XLFjA1VdfzRdffMHPP//M9OnTSU1NZfv27dx7772VSpCaN2/OnXfeyQcffMCqVav46aefmDlzJkOHDqW4uJjHHnuML774os7PT0SCk3q2RSTkJSQkcMEFF1Ta3qtXL8Azj3V53l7Sq6++usrrnXLKKaSkpJCRkcG+fftqNejt2Kn/HA4He/fu5eDBg3z00Ud07979uL2q1U39V9sp6sorKSkBPAMiq4vZq7i4+KTvUxfe57d06VLOOeccIiL8++fJ4XCwePFioPYlJOD5hMJ7nf79+/PMM8/49g0ePJipU6cyatQoNmzYwLJlyxg2bJhv/7XXXlvpev369eONN97g3nvv5bPPPmPy5Mmcd955fitbEpHgoWRb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7WbdLI3DTGoPqGdbRKS8oE22u3evPMintLSUf//730RERHDFFVdYEJmISJApysFWsB8Ad9OulobiTvQk24Z6tkWkjhYuXMgzzzzD448/zsiRI60Op06CMtmuztKlSzl8+DAjRoygWbNmVocjImI5e9kiMu4mKRAdb2ks3mTbdjjdM/1fLRbXEZHj27NnD6NHj66wLSIiguTkZPr06cONN95I166Be8O9evVq7rnnHiZMmMBtt90WsPuEo5BKtj/44AMArr76aosjEREJDnUtIbHZbPTt29f3uC7MhBTP9H/OIoyCA5jxLep0PRGprG3btlx44YUAFBUV8csvv7BkyRKWLVvG1KlT6d3bmoWt/O3cc8+lZ8+eYdG5GjLJdmZmJitXrqRly5acffbZVocjIhIUjg6OPLlku1GjRnz++ef+CaZs+j8jdzfG4XQl2yIB0LZt20o9y9OmTWP69OlMmzaNV1991aLI/Cs+Pp74eGs/rfOXkEm2582bh9vtZvTo0djt9uMem5CQUOcempOVlJRkyX2lfqmdw1+otLHz8HZMoFG7vsQFQczO5PaYubtp7MrFFgTxnEiotLPUTTi0s3fRqYiIiErP57bbbmP69On89ttvJCUl4XQ6+fe//828efPYuXMnkZGR9OjRgwkTJnDuuedWONftdjN37lxmzZpFeno6JSUlNG3alFNOOYVbbrmFM844g5dffpmpU6cC8Pbbb/P222/7zv/8889p27Yt4Blb95///IePPvqIHTt2YBgG3bt3Z8KECQwfPrzCfR999FHmz5/P0qVL+fzzz5kzZw67du1i5MiRPPfcc76Z6SZPnlypfGbNmjVMmzaNdevWUVRUREpKCpdccgm33norjRo1qnBsWloaAwYM4J///CcvvPAC33zzDdnZ2bz77rsMHDjw5BukFkIi2Xa73cybNw/DMLjyyitPeHxubm49RFVZUlISOTk5ltxb6o/aOfyFTBubJnH7t2IAR2Ja4g6CmKNjWxIJFO7djKO99fEcT8i0s9RJuLSzN7dxOp2Vno93n2maHDp0iEmTJrFs2TLatWvHlVdeSVFREZ9//jl33HEHDzzwAGPGjPGdO3XqVP7973/Ttm1bzj//fGJjYzlw4ADr1q3jyy+/pEuXLnTv3p2LL76YxYsX07dvX/r16+c73+12k5OTQ2lpKffffz9r1qyhW7dujBw5EqfTybfffsvdd9/NH//4xwplwCUlJQA8+eST/PLLL5x55pkMGjSI5ORkcnJyfG8uCgoKKjzfL774gieeeILIyEhGjBhBUlISa9asYerUqXz11Ve88sorREVFVfj5ZGdnc/XVV9OkSROGDRuGw+HwxV1XNXkjFxLJ9ooVK9izZw+DBw8mNTXV6nBERIJD8WGMEs8fWe/gxNoqLCxk8ODBAKxcuZLY2Ng6heROSAHAlpdZp+uI1JhpgrOo+t2lUeAorMeAjhHRKOCDhWfPng14ZnP75JNPWLZsGX379mXKlClERkYCcMstt3DzzTfz8ssvc/bZZ9OmjWfF148++ojmzZvz73//m5iYGN81TdMkLy8PgNNPPx2AxYsX069fvyoHSL799tusWbOGW2+9lQkTJmCUPeeCggImTpzIlClTOPfcc2nevHmF87Zu3cp7771Hq1atTvg8CwoKmDx5Mna7nTfffNM3IDQxMZH77ruPJUuW8O9//5vx48dXOG/btm2MHDmSSZMmnbA6IhBCItnWwEgRkcpsh3YA4G7cGiIbneDoqpmmSUZGhu9xXZlNPMm2katkW+qBadJo1vXY96yt9hAnYGXlr6tNP4rG/NtvCffu3bt58803gaMDJNevX090dDR33XUXr7/+OgATJ070JdoALVq0YOzYsbz66qt88sknFRLSyMjISkmoYRgkJCTUKCa32838+fNp27ZthUQbIC4ujvHjx/PQQw+xbNmySrnc9ddfX6NEG+Drr7/myJEjjB49usLMK4ZhcM899/D555+zePHiSsl2ZGQkEydOtCTRhhBItnNycvj8889JTEzk/PPPtzocEZGgYcvZCYA7qYOlcZTnbqKebalvDWuKyd27d/tqpr1T/11wwQXcdNNNdOnShc2bNxMdHc2pp55a6Vxv+ceWLVt824YPH878+fO57rrrGDFiBH379qVXr16Vap+PZ9euXeTl5dGsWTPeeuutSvsPHz7sO+5YVcVZnU2bNlV4HuW1bNmStm3bsmvXLgoKCoiLi/Pta9OmDYmJiTW+j78FfbL94Ycf4nA4uPTSSyvV4IiINGS2nLKe7aSOFkdylFlWRmIc2QtuF9is6UmSBsIwPL3GxykjSUxM9CV7lvBzGcmgQYN48cUXq91fUFBAixZVzwSUnJwMQH5+vm/bH//4R1JSUli0aBHv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vgYRkUAIygGSERERPPPMM9x6661cd911jBw5kvj4eJYsWcLu3bu5//776dixo9VhioiEvLi4OHbv3m11GCIiYSsok22AQYMG8f777zNlyhQ+/vhjHA4HXbp04fe//z2XXXaZ1eGJiIiIiJxQ0CbbAL179+att96yOgwRERERkZMSlDXbIiJSP4qLixkzZgxjxoyhuLjY6nBERMJOUPdsi4hIYLlcLj777DPfYxER8S/1bIuIiIiIBIiSbRERERGRAFGyLSIiIiISIEq2RUREREQCRMm2iIiIiEiAKNkWEREREQkQwzRN0+ogRERERETCkXq2RUREREQCRMm2iIiIiEiAKNkWEREREQkQJdsiIiIiIgGiZFtEREREJEAirA4gmK1fv56XX36ZdevW4XA46NKlCzfffDOXXnppja/hdrt5//33mTVrFrt27SI2NpaBAwfywAMP0KFDh8AFLzVS1zb+8ccfWbp0Kd9//z2ZmZkUFhaSkpLC8OHDueOOO2jSpEmAn4HUhD9ey+U5HA6uuuoqfvvtNzp27Mgnn3zi54jlZPirnfPz8/nXv/7FkiVLyMjIIDIyktTUVIYPH87EiRMDFL3UhD/aOC8vj3feeYelS5eye/duoqKiaNu2LVdccQVXX3010dHRAXwGciIffvghq1ev5pdffmHz5s04HA4mT57M6NGja3WdYMq/NPVfNVatWsWECROIjIzkkksuoXHjxixZsoTdu3fzwAMPcOedd9boOk888QSzZ8+mS5cunHPOOWRnZ7N48WKio6P573//S5cuXQL8TKQ6/mjjM888k5ycHE4//XS6d++OYRh8//33/Prrr7Rr147//ve/NG3atB6ejVTHX6/l8l566SWmT59OYWGhku0g4a923rNnDzfffDMZGRkMGTKE7t27U1paSnp6Onv27GHBggUBfiZSHX+0cV5eHqNHjyYjI4PTTz+d0047jdLSUr7++mvS09MZNGgQ77zzDjabPvi3yrBhw8jMzCQpKYnY2FgyMzNPKtkOqvzLlEocDoc5YsQIs2fPnuaGDRt8248cOWJecsklZo8ePcwdO3ac8DorV640u3XrZl533XVmSUmJb/u3335rpqWlmddff30gwpca8Fcbv/7662ZWVlaFbW632/zzn/9sduvWzXzqqaf8HbrUgr/aubxffvnF7NGjh/nee++Z3bp1My+88EI/Ry215a92djqd5pVXXmn27t3bXLlyZZX3EWv4q43feOMNs1u3buazzz5bYXtJSYl55ZVXmt26dTO///57f4cvtbBixQpz9+7dpml6/sZ269bNnDt3bq2uEWz5l966VeG7774jPT2dkSNH0qNHD9/2+Ph47r77bpxOJ/PmzTvhdebMmQPA/fffT1RUlG/74MGDOeuss/jhhx/YsWOH/5+AnJC/2vj222+nRYsWFbYZhsHdd98NwA8//ODfwKVW/NXOXqWlpTz66KOcdtpp3HDDDYEIWU6Cv9r5008/5eeff2b8+PEMGjSo0v6ICFVeWsVfbZyRkQHAOeecU2F7VFQUZ555JgDZ2dl+jFxqa8iQIaSkpNTpGsGWfynZrsL3338PwFlnnVVpn/fF6D3meFatWkVsbCz9+vWrtM97bSVj1vBXG1fH+0fZbref9DWk7vzdzlOnTmXXrl387W9/wzAM/wQpdeavdl68eDEAF110EXv37mXmzJm88cYbfPzxxxQUFPgxYqktf7Vx165dAfjmm28qbHc4HHz77bfExMTQt2/fuoYrFgu2/Etv06uwc+dOANq3b19pX0JCAklJSezateu41ygsLOTAgQN069atyoTLW5zvvZfUL3+08fHMnTsXOPpHQKzhz3Zev349b731Fg888AAdO3b0Z5hSR/5q519++QWA1atXM3nyZEpLS337kpOTefHFFxk4cKB/gpZa8VcbX3311Xz44Yf861//4pdffqFnz544HA6++eYbcnNz+b//+z9atmzp7/ClHgVj/qWe7Srk5+cD0Lhx4yr3x8fHc+TIkeNew7s/Pj6+2muUv5fUL3+0cXU2btzIK6+8QtOmTbn11ltPOkapO3+1c2lpKZMmTaJ79+6MHz/erzFK3fmrnb3lA8888ww333wzX331FStXruTxxx/nyJEj3HPPPezfv99/gUuN+auNY2JimDFjBpdddhnff/89//rXv5gxY4avRKWqnlAJLcGYfynZFvGjjIwM7rjjDlwuF//v//0/kpOTrQ5J/ODFF19k165dPPvssyoNCmNm2eRc5557Lg8++CCtWrUiOTmZG2+8kXHjxnHkyBE++OADi6OUujh06BC33HILP/30E2+88QY//vgjK1as4C9/+Qvz5s3jmmuuITc31+owJcwo2a6C911Pde+S8/Pzq3137eXdX907J+/26t55SWD5o42PlZmZyc0338yhQ4eYMmVKlQOspH75o503bNjA9OnTufPOO0lLS/N7jFJ3/no9e68zbNiwSvvOO+884GipidQvf7Xxc889x9q1a5kyZQrnnHMOjRs3plmzZlxzzTU89NBDZGRk8O677/o1dqlfwZh/Kdmugreep6r6r9zcXHJycqqsGysvNjaW5s2bs3v3blwuV6X93lohLWxjDX+0cXm7d+/mxhtvZP/+/bz44ou+P8xiLX+086ZNm3C5XLz88sukpaVV+ALYsWMHaWlp9O/f3+/xS8346/XsrcWvajEq77aSkpI6RCony19t/NVXX5GYmMgpp5xSaZ+3g2TDhg11C1YsFYz5l5LtKpxxxhkALF++vNK+FStWADBgwIATXmfAgAEUFhayZs2aSvu81/beS+qXv9oYPIn2TTfdxP79+3nhhRcYMWKE/wKVOvFHO3fo0IGrrrqqyi/w9KJcddVVjBo1yr/BS4356/XsTba2bt1aaZ93W12nJJOT4682Li0tJT8/v8LgV69Dhw4BVJgqTkJT0OVf9Tqrd4hwOBzm8OHDzZ49e5q//vqrb3v5yfO3b9/u256dnW1u3brVzM7OrnCdYJtUXY7yVxtnZGSY5513ntmjRw/z008/rbf4pWb81c7V0aI2wcFf7Zyenm727NnTHDx4sLlv374K17n88svNbt26md9++23gn5BU4q82Hj9+vNmtWzfzhRdeqLC9pKTEt2/GjBkBfS5Scyda1CZU8i8t116N7777jltvvZXIyEhGjhxJfHy8b1nY+++/n7vuust37Msvv8zUqVOZOHEi9957b4XrPP7448yZMyc4lguVCvzRxt5lZfv06VPl/K9Apf8TUr/89VquSlpampZrDxL+aucZM2bwzDPPkJiYyPnnn09UVBTLli0jMzOTMWPG8PTTT9f3U5My/mjjjRs3cv3111NQUEDv3r3p168fJSUlLF++nIyMDE499VRmzpxJdHS0FU9R8CxIs3r1agA2b97Mhg0b6Nevn69MaMSIEb5PkEMl/9I829UYNGgQ77//PlOmTOHjjz/G4XDQpUsXfv/733PZZZfV+DpPP/00aWlpzJo1ixkzZhAbG8t5552nuXqDgD/aODMzE4B169axbt26Ko9Rsm0tf72WJbj5q51vvPFGUlJSePvtt1m0aBEul4suXbpw5513cs011wTwGciJ+KONu3fvzrx583j99df57rvv+M9//oPdbqddu3bce++9TJgwQYm2xVavXs38+fMrbFuzZo2vJCQlJaVG5ZrBlH+pZ1tEREREJEA0QFJEREREJECUbIuIiIiIBIiSbRERERGRAFGyLSIiIiISIEq2RUREREQCRMm2iIiIiEiAKNkWEREREQkQJdsiIiIiIgGiZFtEREREJECUbIuIiIiIBIiSbRERERGRAFGyLSIiIiISIEq2RUREREQCJMLqAEREpP4tW7aMTz/9lHXr1pGVlYXb7aZdu3ZcfPHFjB8/nqioKKtDFBEJC4ZpmqbVQYiISP0688wzKSwspGvXrrRu3Zr8/Hx+/vlncnNzGTRoEP/617+w2+1WhykiEvKUbIuINEBLly5lyJAhxMbG+rbl5+fz4IMP8uWXX/L8888zatQo6wIUEQkTqtkWEWmARowYUSHRBoiPj2fSpEkAfP7551aEJSISdlSzLSLSQO3cuZOvvvqK9PR0CgsLMU0T74edO3futDY4EZEwoWRbRKSBMU2T559/nunTp1NdJWFBQUE9RyUiEp6UbIuINDCLFy/mnXfeoVWrVjz22GP06dOH5ORkIiMjKS0tpVevXlaHKCISNpRsi4g0MJ999hkATz31FOedd16FfRkZGVaEJCIStjRAUkSkgcnLywOgdevWlfZ9/PHH9R2OiEhYU7ItItLAdOjQAYBZs2ZVqNn+8ccfefvtty2KSkQkPGmebRGRBmbHjh2MHj2awsJCunTpQlpaGllZWaxevZpbbrmFf/3rX6SkpPDFF19YHaqISMhTz7aISAPTsWNHPvjgA8477zxycnL44osvKCws5Omnn+aRRx6xOjwRkbCinm0RERERkQBRz7aIiIiISIAo2RYRERERCRAl2yIiIiIiAaJkW0REREQkQJRsi4iIiIgEiJJtEREREZEAUbItIiIiIhIgSrZFRERERAJEybaIiIiISIAo2RYRERERCRAl2yIiIiIiAaJkW0REREQkQP4/RyXvDnK05ssAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "az.plot_bf(idata_uni, var_name=\"a\", ref_val=0.5);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The plot shows one KDE for the prior (blue) and one for the posterior (orange). The two black dots show we evaluate both distribution as 0.5. We can see that the Bayes factor in favor of the null BF_01 is $\\approx 8$, which we can interpret as a _moderate evidence_ in favor of the null (see the Jeffreys' scale we discussed before).\n", "\n", "As we already discussed Bayes factors are measuring which model, as a whole, is better at explaining the data. And this includes the prior, even if the prior has a relatively low impact on the posterior computation. We can also see this effect of the prior when comparing a second model against the null.\n", "\n", "If instead our model would be a beta-binomial with prior beta(30, 30), the BF_01 would be lower (_anecdotal_ on the Jeffreys' scale). This is because under this model the value of $\\theta=0.5$ is much more likely a priori than for a uniform prior, and hence the posterior and prior will me much more similar. Namely there is not too much surprise about seeing the posterior concentrated around 0.5 after collecting data.\n", "\n", "Let's compute it to see for ourselves." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Auto-assigning NUTS sampler...\n", "Initializing NUTS using jitter+adapt_diag...\n", "Multiprocess sampling (4 chains in 4 jobs)\n", "NUTS: [a]\n" ] }, { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n", " \n", " 100.00% [12000/12000 00:01<00:00 Sampling 4 chains, 0 divergences]\n", "
\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "Sampling 4 chains for 1_000 tune and 2_000 draw iterations (4_000 + 8_000 draws total) took 2 seconds.\n", "Sampling: [a, yl]\n" ] } ], "source": [ "with pm.Model() as model_conc:\n", " a = pm.Beta(\"a\", 30, 30)\n", " yl = pm.Bernoulli(\"yl\", a, observed=y)\n", " idata_conc = pm.sample(2000, random_seed=42)\n", " idata_conc.extend(pm.sample_prior_predictive(8000))" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtsAAAHrCAYAAAAe4lGYAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAACjHklEQVR4nOzdd3hU1drG4d+ekoQklNBbqNJ7kWoFDnoQECsiiiiiItgBBRFFUSx4BAREBRt+x4MIqBQbIBZApCO9Q+gtBNKn7O+PIZGYAAnJZGcmz31dXCSz2xsyTJ6sefdahmmaJiIiIiIikudsVhcgIiIiIhKsFLZFRERERPxEYVtERERExE8UtkVERERE/ERhW0RERETETxS2RURERET8RGFbRERERMRPFLZFRERERPxEYVtERERExE8UtkUk6KxYsYI6depw7733Wl2K5ECdOnWoU6eO1WWIiOQph9UFiIhk5XJCV6tWrZg+fbofqrl8s2fPZtiwYZkedzgcREVF0bBhQ3r16sW1116baZ8DBw7QsWPHS17j66+/pl69ejmuzev18ttvv7FhwwY2bNjAX3/9RWxsLHa7nc2bN1/y+JSUFD788EMWLFjAgQMHCA8Pp1mzZjz88MM0bdo0x/Xkp2+++YYvvviCHTt2YJomtWvX5u6776Z79+45Ptdzzz3HnDlzLrrPhg0bCA0NzfT42bNn+eijj/jpp5+IiYnB6XRSp04devXqRdeuXXNci4gUPArbIlIgNW/ePNNj8fHxbN++/YLba9eu7fe6LldISAgNGzZM/zwxMZGYmBh+/vlnfv75Zx555BGeeuqpCx7fsGFDQkJCstwWHh5+WTXFx8fz0EMPXdaxiYmJ3HPPPWzatAmn00mtWrU4efIkixcv5pdffuGtt97ipptuytE5q1evflm15NTIkSOZMWMGADVq1MAwDNauXcvatWtZt24dI0eOvKzzVqtWjZIlS2a5zTCMTI8dPXqUPn36sHfvXux2O7Vq1cLtdrN69WpWrVrFypUrGTVq1GXVIiIFh8K2iBRIX3zxRabHVqxYQZ8+fS64vSArU6ZMppqTk5MZN24cH3/8Me+//z5du3alVq1aWR4/fvx4KleunKc12Ww26tevT6NGjWjcuDFlypTJdvh+/fXX2bRpEzVq1GDq1KlUqlQJr9fLtGnTGDt2LMOHD6d58+ZUqFAh2/V8//33l/ulZNv8+fOZMWMG4eHhTJ48mbZt2wKwfPlyHn30Uf7v//6PVq1aceONN+b43A8//DC33nprtvcfMmQIe/fupVatWkyZMiX9+7t161b69+/P//73P5o1a0aPHj1yXIuIFBzq2RYRsUhYWBhDhw6ldOnSmKbJ8uXL8/X6kZGRzJkzh5dffpnbb7+dmjVrZuu4Y8eOMWvWLABee+01KlWqBPjCe//+/Wnfvj3JyclMmzbNb7Vfrvfeew+ARx55JD1oA7Rt25aHH34YgMmTJ/u9jq1bt7JixQoARo8eneEXqbp166a3Hk2cONHvtYiIfylsi0hQ83q9fPrpp3Tt2pVGjRrRrl07hg8fzqlTpy54zOnTp3nnnXfo2rUrTZs2pVmzZtx55518+eWXeL3ePK3PZrNRvnx5AFwuV56e218WL16M2+2mZs2aNGvWLNP222+/HYAffvghR+e90A2SsbGxvPHGG9x44400atSIpk2b0qFDB/r168f//d//Zfv8u3fvZseOHQDcdtttmbanPbZt2zb27NmTo9pzavXq1QCUL18+y/72Tp06YbPZiImJYePGjX6tRUT8S20kIhLUhgwZwrx586hWrRpVq1Zlz549zJo1iw0bNjB79uxMfdA7duygX79+HD16FKfTSdWqVUlNTWXDhg2sX7+e33//nfHjx2fZg3s54uPj2bt3L+DrHw4E69evB7Lumz//8WPHjnH48OEctZL809mzZ7nzzjvZv39/+vcjNDSUI0eOsHTpUtavX0/v3r1zVHfVqlUpXbp0pu1lypShSpUq7N+/n/Xr1+e4h/yHH35g4cKFxMfHU6pUKZo3b06PHj0oWrRopn3PnDkDQLly5bI8V0hICFFRUZw8eZL169dn6PcXkcCisC0iQWvt2rVERUUxc+ZMGjduDMCePXvo27cvO3bsYNasWfTq1St9/8TERB599FGOHj3Kvffey5NPPklkZCQAO3fu5Mknn+SHH37gv//9b7YD3oUkJiayc+dO3nnnHeLj46lXrx7XXHNNrs6ZX9J+OYiOjs5ye7ly5XA6nbhcLvbu3ZursD1z5kz279/PVVddxdtvv02JEiXStx06dIgff/wxz+pO27Z//3727duX41qXLFmS4fMFCxbw7rvvMnbs2Ezf27QAfvTo0SzPlZqaSmxsLIDfR9lFxL/URiIiQcvlcvHCCy+kB23wzXjx4IMPAvDrr79m2H/WrFns37+ff/3rX4wYMSI9aANcccUVjB07FsMw+Pjjj3Ncy8GDB9PbJOrUqUOzZs244447WLVqFQ8++CDTp0/Hbrdf8PiOHTtmOD7tz7vvvpvjWnIrbVS2WLFiWW43DCN9W9q+lystIN99990ZgjZAxYoV6du3b7bPdam6z9+Wk7qjo6N5+umn+eabb1i9ejVr1qzho48+okmTJsTFxTFw4ED++uuvDMc0atQIgCNHjrBhw4ZM51y4cGF6y1JcXFy2axGRgkcj2yIStIoXL07nzp0zPZ4WdA4cOJDh8bRR0jvuuCPL89WtW5dKlSoRExPDkSNH0nuts+OfU/+5XC4OHz7MiRMn+Pbbb6lXr95F51W+0NR/uRk1vlwpKSkAOJ3OC+6TVmtycnKurpX29S1cuJBrr70Wh+Pyf2z5q+6BAwdmeqx9+/ZceeWV9O7dmw0bNjB27Fg+/fTT9O1NmjShQYMGbNq0ieeee45Jkyalt62sX7+eMWPGZKpbRAKTwraIBK0LtQuUKlUKgISEhAyPp83hPX78eKZMmZLlsWlv7R89ejRHYTurqf8Ali1bxlNPPcXgwYMpUqTIBRex8cfUf5crbXGWi93QmZqaCvhmXMmNW2+9lWnTpjF79mx+/fVXrr76alq0aEGbNm0u2g6SlfysG3zB/YknnqBfv378+eefxMXFUbx48fTtY8eOpU+fPuzatYsuXbpQpUoVXC4XBw8epFixYlx//fX8/PPPlz2PuogUDGojEZGgdaGQcqGbG+Pj4wHYtGkTa9asyfJPWkDP7Yhtmnbt2vHYY49hmiYTJkzIk3P626VaLUzTzFbLRnaUK1eOGTNmcMMNN3D27FnmzJnDiBEj6NSpEz179mTt2rV5Vvf523Jbd5q0mUa8Xi8xMTEZttWoUYM5c+bQp08fKlWqxMGDB0lKSqJbt27Mnj07vY0pq5s5RSRwaGRbROSc8PBwzpw5w48//kjVqlXz7bpp0+dt27aNlJSULJf1LkiqVavGmjVrMoXHNEePHk0fPa5WrVqur1ezZk0mTJhAamoqa9euZeXKlcyfP59169bxwAMPMHfu3GyN+qfVcqG6z9+WV9//81tWPB5Ppu1lypTh+eef5/nnn8+0LW3KvwYNGuRJLSJiDY1si4ick7aoS9pczPkl7Ua480eEC7K0G07XrFmT5fa0x8uWLZunPeUhISG0bt2aQYMGMW/ePJo3b05iYiLz58/P1vFpde/bt48TJ05k2n78+HH2798P+Hqq88L5z6WctB3t2LGDPXv2EBoaSrt27fKkFhGxhsK2iMg5aTdTfvbZZ5immW/XTWuFiIiIoGTJkvl23cvVoUMHHA4Hu3btyrKN46uvvgLghhtu8FsNdrs9/UbXY8eOZeuYmjVrpv9ClbYC5vnSHqtdu3aO59i+kLSZa2rUqHHBObX/yTRN3n77bQC6deuWoc9bRAKPwraIyDk9e/YkOjqaFStWMHjw4EwhLiEhgQULFmSYKSK3fv/99/Qlubt27XrR6f8KinLlynHrrbcCMHz4cA4ePAj4QuLUqVNZunQpoaGhPPDAA7m+1jvvvMPMmTMzjfhv376d7777DoD69etn+3wDBgwAYMqUKSxfvjz98eXLl/P+++9n2Od8b7zxBh06dOCNN97I8PjSpUt5++23M7WmnD17ltGjRzNv3jwg6xlLVq1axfLlyzP8YhcbG8uwYcP4+eefKV26NM8880y2vzYRKZjUsy0ick5ERATvv/8+Dz30EPPmzWPBggVUr16dyMhI4uLiiImJwePxXFaLwfHjxzMsoHP+1H/gm9pv8ODBefa1ZNeAAQPS2z7SQp/H46F169bp+3Tt2pUXXnghw3HPPvssGzduZPPmzdxwww3UqlWLkydPcvToUex2O6NHj6ZixYq5rm/Hjh1MmTKFkSNHEh0dTfHixYmLi0tfdKZ169bcfPPN2T5ft27d+PPPP/nyyy/p27dv+kj3rl27ALjrrrvo0qVLpuNiY2M5ePBg+mw0aZKSkvjggw/44IMPKFeuHGXLlsXtdrNz505cLheGYTBw4MAsp3XcuHEjY8aMISIigsqVK2OaJrt378btdlOuXDmmTp0aEO90iMjFKWyLiJynZs2afPPNN/z3v/9l4cKF7Nq1i5iYGMqUKcOVV17Jtddem+Xc3ZeSmpqaocfZZrNRtGhRWrZsyY033kjPnj2znEfb3+Lj4zl9+nSmx89/7J9TJAJERkbyxRdfMHXqVObNm8fOnTsJDw/n+uuv5+GHH06/6TO3BgwYQM2aNVmxYgWHDh3i0KFDlCxZklatWnHbbbfRtWvXHM+9/corr9CiRQu++OKL9OkemzZtSq9evejRo0eOztWgQQMeeeQR1q1bx/79+9mxYwemaVKuXDlatmzJ3XfffcFfzlq3bk2PHj1Yt25d+sh4zZo16dy5M3379s2wqJKIBC7DzM/GRBERERGRQkQ92yIiIiIifqKwLSIiIiLiJ+rZFhEJAq+88gqbN2/O1r7169fPdMOjiIj4h8K2iEgQ2L59+wUXmfmnnN5QKCIil083SIqIiIiI+Il6tkVERERE/ERhW0RERETETxS2RURERET8RGFbRILOihUrqFOnDvfee6/VpUgO1KlThzp16lhdhohIntIt6SJSIF1O6GrVqhXTp0/3QzWXb/bs2QwbNizT4w6Hg6ioKBo2bEivXr249tprM+1z4MABOnbseMlrfP3119SrV++yazxz5gzvvfceP/30E0ePHqV48eK0bt2aRx99lJo1a2Z5zIoVK1i3bh0bNmxgw4YNHDt2DIBffvmF8uXLX3Yt/rZz507++OOP9Lr37t2LaZq8+eab3Hzzzbk6t8fjYdasWXz77bfs2LGDxMRESpcuTb169bj11lvp1KlTpmPOnj3LRx99xE8//URMTAxOp5M6derQq1cvunbtmqt6RKRgUNgWkQKpefPmmR6Lj49n+/btF9xeu3Ztv9d1uUJCQmjYsGH654mJicTExPDzzz/z888/88gjj/DUU09d8PiGDRsSEhKS5bbw8PDLruv48eP07NmTgwcPUqRIEWrVqsXhw4eZN28eCxcuZOrUqVx55ZWZjhs4cCBnz5697OtmpXr16nl6vqz85z//YdGiRXl+3ri4OB566CHWrVuHYRhUq1aNSpUqcezYMRYtWoTD4cgUto8ePUqfPn3Yu3cvdrudWrVq4Xa7Wb16NatWrWLlypWMGjUqz2sVkfylsC0iBdIXX3yR6bEVK1bQp0+fC24vyMqUKZOp5uTkZMaNG8fHH3/M+++/T9euXalVq1aWx48fP57KlSvneV3PPfccBw8epEWLFkyaNImoqChcLhdvvPEG06dP58knn+Snn37KFOivuOIKqlevTqNGjWjcuDG33XZbrmv5/vvvc32OSylXrhw33HADDRs2pHHjxrzzzjusW7cuV+f0er0MGDCAdevW0blzZ55//vkMo/tHjhwhJiYm03FDhgxh79691KpViylTpqR/f7du3Ur//v353//+R7NmzejRo0eu6hMRaylsi4hYJCwsjKFDhzJ3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f/01ADfccEO+1ZRddrs9/UbXY8eOWVZHeHg41157LQBz5szJtP348eP8/vvvALRp0yZb5zRNk7fffhuAbt26WdbCIyJ5Q2FbROScnj17Eh0dzYoVKxg8eHCmEJeQkMCCBQsyzBSRW7///jsTJ04EoGvXrvk6gty4cWPat2+P2+1m8ODB6Td/ulwuxowZw65duyhVqhR33nlnvtX0T++88w4zZ87MNOK/fft2vvvuO8A3uuxvb7zxBh06dOCNN97ItG3gwIHY7XYWLFiQIXCfOXOG5557juTkZKKjo7nxxhszHLdq1SqWL1+e4Re72NhYhg0bxs8//0zp0qV55pln/PdFiUi+UM+2iMg5ERERvP/++zz00EPMmzePBQsWUL16dSIjI4mLiyMmJgaPx5PefpETx48fz7CAjsvl4vDhw5w4cQLwtWoMHjw4z76W7BozZgy9evVi9erVXH/99dSoUYPDhw9z6tQpQkNDeeedd4iIiMh03CuvvMK8efMyPd69e/f0G1CbN2/Oe++9l6v6duzYwZQpUxg5ciTR0dEUL16cuLi49AV5Wrduzc0335zt882fP5+XX345/fO0m2JfeuklXnvttfTHV6xYkeG42NhYDh48mP4Lyfnq1q3LCy+8wKhRo3juueeYMGECJUuWZNeuXSQlJREVFcW7776bqad748aNjBkzhoiICCpXroxpmuzevRu32025cuWYOnVqvr7TISL+obAtInKemjVr8s033/Df//6XhQsXsmvXLmJiYihTpgxXXnkl1157bZZzd19Kampqht5om81G0aJFadmyJTfeeCM9e/a84A12/lSuXDnmzJnD5MmTWbhwIdu3b6dYsWLcdNNNPProo1xxxRVZHpeQkMDp06czPX7+DCZpQTY3BgwYQM2aNVmxYgWHDh3i0KFDlCxZklatWnHbbbfRtWtXHI7s/yhLSUnJsu7ExMT0ObMvR69evahVqxZTp05l3bp1bNu2jbJly3Ldddfx8MMPZ9mv3bp1a3r06MG6devS+7pr1qxJ586d6du3b4ZFlUQkcBlmfjYmioiIiIgUIurZFhERERHxE4VtERERERE/Uc+2iEgQeOWVV9i8eXO29q1fvz4vvPCCnysSERFQ2BYRCQrbt2+/4OI0/5STGwpFRCR3dIOkiIiIiIifqGdbRERERMRP9F4iZLlIQWGVtmCE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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "az.plot_bf(idata_conc, var_name=\"a\", ref_val=0.5);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Authored by Osvaldo Martin in September, 2017 ([pymc#2563](https://github.com/pymc-devs/pymc/pull/2563))\n", "* Updated by Osvaldo Martin in August, 2018 ([pymc#3124](https://github.com/pymc-devs/pymc/pull/3124))\n", "* Updated by Osvaldo Martin in May, 2022 ([pymc-examples#342](https://github.com/pymc-devs/pymc-examples/pull/342))\n", "* Updated by Osvaldo Martin in Nov, 2022\n", "* Re-executed by Reshama Shaikh with PyMC v5 in Jan, 2023" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## References\n", "\n", ":::{bibliography}\n", ":filter: docname in docnames\n", "\n", "Dickey1970\n", "Wagenmakers2010\n", ":::" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Watermark" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Last updated: Sun Jan 15 2023\n", "\n", "Python implementation: CPython\n", "Python version : 3.10.8\n", "IPython version : 8.7.0\n", "\n", "pytensor: 2.8.10\n", "\n", "matplotlib: 3.6.2\n", "numpy : 1.24.0\n", "pymc : 5.0.0\n", "arviz : 0.14.0\n", "\n", "Watermark: 2.3.1\n", "\n" ] } ], "source": [ "%load_ext watermark\n", "%watermark -n -u -v -iv -w -p pytensor" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ ":::{include} ../page_footer.md\n", ":::" ] } ], "metadata": { "interpreter": { "hash": "d4ca51fc2fdee62b1a00ff5126f64ae66836e25d3ba6f45d8551026256283997" }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.10.8" } }, "nbformat": 4, "nbformat_minor": 4 }