{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# **Statistics lecture 5 Hands-on session : solutions notebook**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is the companion notebook to lecture 4 in the statistical course series, covering the following topics:\n", "1. Parameter estimation using simple tools\n", "2. Parameter estimation using the profile likelihood\n", "3. Limit-setting, using simple tools\n", "4. Limit-setting using the profile likelihood\n", "\n", "First perform the usual imports:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import scipy.stats\n", "from matplotlib import pyplot as plt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. Profiling basics" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the previous lectures, we have discussed 3 types of statistical results:\n", "* Testing for discovery\n", "* Computing confidence intervals for parameters (central value +/- uncertainty)\n", "* Setting upper limits\n", "\n", "For simplicity, all this was done using models with only 1 parameter (the signal $s$), which was the *parameter of interest*. Models usually also have additional *nuisance parameters* which aren't interesting in themselves, but need to be included to describe the data.\n", "\n", "These parameters need to be included in the treatment, but fortunately this is quite easy in the likelihood ratio framework. The basic quantity we used before was\n", "$$\n", "t(s) = -2 \\log \\frac{L(s)}{L(\\hat{s})}\n", "$$\n", "\n", "This allows to compare 2 hypotheses:\n", "* The free hypothesis $\\hat{s}$ which corresponds to the best-fit $s$ in the data.\n", "* The fixed hypothesis $s$ (for instance $s=0$ for discoveries)\n", "\n", "If we have an additional nuisance parameter $\\theta$, the likelihood is now a function of both parameters: $L(s, \\theta)$. How do we set $\\theta$ ? The interesting answer is that in both cases, we use the best-fit value of $\\theta$ :\n", "* For the free hypothesis $\\hat{s}$, we use $\\hat{\\theta}$, the best-fit value of $\\theta$.\n", "* For the fixed hypothesis $s$, we use $\\hat{\\hat{\\theta}}(s)$, the best-fit value of $\\theta$ at a fixed $s$.\n", "\n", "So in the end we use\n", "$$\n", "t(s) = -2 \\log \\frac{L(s, \\hat{\\hat{\\theta}}(s))}{L(\\hat{s},\\hat{\\theta})}\n", "$$\n", "with the appropriate best-fit values. This is now called the *profile likelihood*.\n", "\n", "A very nice feature of this is that $t(s)$ is still a function only of $s$, so we can perform the rest of the computation in the same way as before. The only difference is that we need to compute best-fit values for $\\theta$ in order to compute the appropriate ilikelihood values.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. Profiling on a single-bin example\n", "\n", "We reuse the same examples as in the previous sections: the full binned example defined below:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "nbins = 10\n", "x = np.linspace(0.5, nbins - 0.5, nbins)\n", "# The background follows a linear shape\n", "b_yields = np.array([ (1 - i/2/nbins) for i in range(0, nbins) ])\n", "b_yields *= b_yields/np.sum(b_yields)\n", "# The signal shape is a peak\n", "s_yields = np.zeros(nbins)\n", "s_yields[3:7] = [ 0.1, 0.4, 0.4, 0.1 ]\n", "# Now generate some data\n", "s = 10\n", "b = 500\n", "s_and_b = s*s_yields + b*b_yields\n", "b_only = b*b_yields\n", "np.random.seed(1) # make sure we always generate the same\n", "data = [ np.random.poisson(s*s_yield + b*b_yield) for s_yield, b_yield in zip(s_yields, b_yields) ]\n", "s30_and_b = 30*s_yields + b*b_yields\n", "plt.bar(x, s30_and_b, color='orange', label='s=30')\n", "plt.bar(x, b_only, color='b', yerr=np.sqrt(b_only), label='b only')\n", "plt.scatter(x, data, zorder=10, color='k')\n", "plt.xlabel('bin number')\n", "plt.ylabel('Total expected yield')\n", "plt.legend();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and also the single-bin measurement in bin 4:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "sb4 = s30_and_b[4]\n", "b4 = b_only[4]\n", "n4 = data[4]\n", "plt.bar(x[4], sb4, color='orange', label='s=30')\n", "plt.bar(x[4], b4, color='b', yerr=np.sqrt(b_only[4]), label='b only')\n", "plt.scatter(x[4], n4, zorder=10, color='k')\n", "plt.xlabel('bin number')\n", "plt.ylabel('Total expected yield')\n", "plt.legend();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This looks quite familiar from our previous exercises: we can extract the best-fit value of $s$ from the minimum value, and the uncertainties from the crossings with $t=1$. Just to check, we can compare with what we would get if we took a fixed background as before: " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We introduce a new ingredient: the background level $b_4$ is now not a fixed number, but only known up to an uncertainty, say $\\sigma_b = \\pm 2$. We assume here that it is Gaussian-distributed, so that the full likelihood is\n", "$$\n", "L(s, b) = P(n_4; s_4 + b_4) G(b^{\\text{aux}}, b_4, \\sigma_b)\n", "$$\n", "\n", "where the first term is the Poisson PDF we had before, and the Gaussian is a new term giving the PDF for $b_4$. The central value of the $b_4$ constraint is $b^{\\text{aux}}$, which is a kind of observable: we can assume that our knowledge of $b_4$ comes from a separate \"auxiliary\" experiment which observed $b^{\\text{aux}}$ with an uncertainty $\\sigma_b$, and we use this to constrain $b_4$ in the experiment here. \n", "\n", "In practice the constraint on $b_4$ can also come from Monte-Carlo simulation, an independent theory prediction, etc., but in this case we can anyway use the same formalism, and set $b^{\\text{aux}}$ to the nominal prediction and $\\sigma_b$ to its uncertainty.\n", "\n", "Here we'll set $b^{\\text{aux}}$ to our original background value, which is what we take as nominal:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "baux = b_only[4]\n", "sigmab = 3" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we compute the profile likelihood, with $s$ as our parameter of interest, and $b$ the nuisance parameter. \n", "\n", "First we define $\\lambda(s,b) = -2\\log L(s,b)$, where $L(s,b)$ is the product of two terms:\n", "* The usual Poisson PDF for the one-bin counting process\n", "* The Gaussian representing the constraint on $b$, with an observable $b_{\\text{aux}}$, a mean $b$, and a width $\\sigma_b$.\n", "\n", "Secondly, we define the *profiled* version of the above, where $b$ is set to its best-fit value. To define it, we first must compute the best-fit $\\hat{\\hat {b}}(s)$ for a given $s$, by minimizing $\\lambda(s,b)$ for a fixed value of $s$. Then the profile likelihood is defined as $\\lambda(s) = -2\\log L(s,\\hat{\\hat {b}}(s))$.\n", "\n", "Finally, the $t(s)$ function is defined as usual as $t(s) = \\lambda(s) - \\lambda(\\hat{s})$, after computing the best-fit $\\hat{s}$ which minimizes $\\lambda(s)$. \n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def logL_sb(s_val,b_val) : \n", " return -2*np.log(scipy.stats.poisson.pmf(n4, s_val+b_val)*scipy.stats.norm.pdf(baux, b_val, sigmab))\n", "\n", "def prof_logL_s(s_val) :\n", " best_fit_b = scipy.optimize.minimize_scalar(lambda b_val : logL_sb(s_val,b_val), bracket=(30,50)).x\n", " return logL_sb(s_val, best_fit_b)\n", "\n", "def prof_t_s(s_val) :\n", " best_fit_s = scipy.optimize.minimize_scalar(prof_logL_s, bracket=(-10,20)).x\n", " return prof_logL_s(s_val) - prof_logL_s(best_fit_s)\n", " \n", "s_vals = np.arange(-10,20,1)\n", "plt.plot(s_vals, [ prof_t_s(s_val) for s_val in s_vals ])\n", "\n", "plt.ylabel('prof_t_s');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This looks quite familiar from our previous exercises: we can extract the best-fit value of $s$ from the minimum value, and the uncertainties from the crossings with $t=1$. Just to check, we can compare with what we would get if we took a fixed background as before: " ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def t_sb(s, b) :\n", " best_fit_s = scipy.optimize.minimize_scalar(lambda s : logL_sb(s, b), bracket=(-10,20)).x\n", " return logL_sb(s, b) - logL_sb(best_fit_s, b)\n", " \n", "s_vals = np.arange(-10,20,1)\n", "plt.plot(s_vals, [ prof_t_s(s_val) for s_val in s_vals ], label='uncertain b')\n", "plt.plot(s_vals, [ t_sb(s_val, b4) for s_val in s_vals ], linestyle='--', label='fixed b')\n", "plt.xlabel('s')\n", "plt.ylabel('prof_t_s')\n", "plt.axhline(1, linestyle=':')\n", "plt.legend();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So everything works as expected : we get the same result as before, but the size of the confidence interval went up since now the background adds a new source of uncertainty. As before, we could compute the crossings with $t=1$ to get the precise values of the uncertainties in each case.\n", "\n", "To see a bit better what is happening, we can check the values of the best-fit $b$ for different $s$ values:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "b4 = 41.29032258064516\n", "best_fit_b (2.7) = 41.291965557358836\n", "best_fit_b (-10) = 43.953375189052714\n", "best_fit_b (20) = 39.00196361278273\n" ] } ], "source": [ "print('b4 = ', b4)\n", "print('best_fit_b (2.7) =', scipy.optimize.minimize_scalar(lambda b : logL_sb(s_val=2.7,b_val=b), bracket=(30,50)).x)\n", "print('best_fit_b (-10) =', scipy.optimize.minimize_scalar(lambda b : logL_sb(s_val=-10,b_val=b), bracket=(30,50)).x)\n", "print('best_fit_b (20) =', scipy.optimize.minimize_scalar(lambda b : logL_sb(s_val=20,b_val=b), bracket=(30,50)).x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "At the best-fit point $s=2.7$, the best-fit background is the nominal one. However if we take a lower $s$ value $s=-10$, we get a higher best-fit $b$. And if we push $s$ up, $b$ goes down. What happens is that $b$ is adjusting to $s$, and partially compensating for the the fact that these values of $s$ don't quite agree with the data. This extra adjustment makes it more difficult to exclude values of $s$ away from $\\hat{s}$, so that the allowed range of $s$ gets larger -- and therefore the uncertainties get larger as well." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3. Profiling the multi-bin example" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the single-bin example, we could only release $b$ if we also introduced an external constraint in the measurement. This is because the single-bin example only measures one number, so it cannot be used to determine both $s$ and $b$.\n", "\n", "In multi-bin analyses, we count events in multiple bins so it is possible to simultaneously measure multiple parameters. In our example, we can measure $s$ in the central, signal-rich region, while extracting $b$ from the side regions where there is no signal.\n", "\n", "So we can keep the same likelihood definition as in the previous lecture (without the Gaussian term) and simply make $b$ a free (nuisance) parameter." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/tmp/ipykernel_256967/1259612978.py:4: RuntimeWarning: divide by zero encountered in log\n", " return -2*sum( [ np.log(scipy.stats.poisson.pmf(n, s_val*s_yield + b_val*b_yield)) for n, s_yield, b_yield in zip(data, s_yields, b_yields) ] )\n", "/home/nberger/.local/lib/python3.8/site-packages/scipy/optimize/_optimize.py:2782: RuntimeWarning: invalid value encountered in double_scalars\n", " w = xb - ((xb - xc) * tmp2 - (xb - xa) * tmp1) / denom\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "s_vals = np.arange(0,50,2)\n", "\n", "def logL_sb(s_val, b_val) :\n", " return -2*sum( [ np.log(scipy.stats.poisson.pmf(n, s_val*s_yield + b_val*b_yield)) for n, s_yield, b_yield in zip(data, s_yields, b_yields) ] )\n", "\n", "def prof_logL_s(s_val) :\n", " best_fit_b = scipy.optimize.minimize_scalar(lambda b_val : logL_sb(s_val,b_val), bounds=(100,1000)).x\n", " return logL_sb(s_val, best_fit_b)\n", "\n", "def prof_t_s(s_val) :\n", " best_fit_s = scipy.optimize.minimize_scalar(prof_logL_s, bounds=(0,50)).x\n", " return prof_logL_s(s_val) - prof_logL_s(best_fit_s)\n", "\n", "def t_sb(s_val, b_val) :\n", " best_fit_s = scipy.optimize.minimize_scalar(lambda s_val : logL_sb(s_val, b_val), bounds=(0,50)).x\n", " return logL_sb(s_val, b_val) - logL_sb(best_fit_s, b_val)\n", "\n", "plt.plot(s_vals, [ prof_t_s(s_val) for s_val in s_vals ], label='uncertain b')\n", "plt.plot(s_vals, [ t_sb(s_val, b_val=428) for s_val in s_vals ], linestyle='--', label='fixed b')\n", "plt.xlabel('s')\n", "plt.ylabel('prof_t_s')\n", "plt.axhline(1, linestyle=':')\n", "plt.legend();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So it works as before (just ignore the warning!). Note that the central value is also shifted: the best-fit $b$ is now different from the one we had fixed before ($b=428$ instead of our assumed $b=500$), so the signal also gets a different value. \n", "\n", "This illustrates an important advantage of models with nuisance parameters: since the parameters adapt to the data, they can avoid biases in the results coming from faulty assumptions -- the results are therefore more reliable." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 4. Bayesian methods: simple case\n", "\n", "The methods we have seen so far are *frequentist*. This in effect means that there are 2 difference classes of parameters\n", "* Observables, which are randomly given by the experiment.\n", "* Parameters, which always have a unique, fixed value -- which is known, or more often unknown.\n", "\n", "There is another class of methods, *Bayesian* methods, which have a different take on measurement. In this approach, everything is random:\n", "* Observables are random as before\n", "* Parameters are also considered random, with the associated PDF used to quantify the uncertainty on their values.\n", "\n", "So for instance, for a Gaussian measurement:\n", "* The frequentist approach is to say $s = 2 +/- 3$, meaning that the interval $[-1, 5]$ has a 68% chance of containing the true value of $s$\n", "* The Bayesian approach is to say that $s \\sim G(2, 3)$, where the Gaussian encodes the same information.\n", "\n", "One thing to note is that in the frequentist setting, \"$[-1, 5]$ has a 68% chance of containing the true value of $s$\" is a statement on the interval itself, which is defined for a given experiment: another experiment would find another interval, and 68% of these intervals are guaranteed to contain the true value. For the Bayesian approach, the value of $s$ is itself random, and the experiment is just a way to gather more information on its distribution.\n", "\n", "The fundamental tool of Bayesian inference is Bayes' theorem. It can be written as\n", "$$\n", "P(s) \\propto L(s; n) \\pi(s)\n", "$$\n", "where \n", "* $\\pi(s)$ is the *prior* PDF -- a PDF giving the knowledge of $s$ that we had before the experiment\n", "* $L(s;n)$ is the usual likelihood\n", "* $P(s)$ is the *posterior* PDF on $s$, i.e. the distribution that encodes our knowledge of $s$ including the experimental information.\n", "\n", "A limit on $s$ can then be set by integrating the posterior $P(s)$ and finding $s_{up}$ so that $\\int^{s_{up}} P(s) ds = 95\\%$.\n", "\n", "Consider the example we had before:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.bar(x[4], sb4, color='orange', label='s=30')\n", "plt.bar(x[4], b4, color='b', yerr=np.sqrt(b_only[4]), label='b only')\n", "plt.scatter(x[4], n4, zorder=10, color='k')\n", "plt.xlabel('bin number')\n", "plt.ylabel('Total expected yield')\n", "plt.legend();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and assume we have a flat prior on $s$, $\\pi(s) = k$. Flat priors are often used in Bayesian applications, since they provide a relatively unbiased starting point.\n", "(Note that technically the flat distribution is not well defined if the range of $s$ is infinite, but this won't crea te problems here).\n", "\n", "Now we can derive the upper limit:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Bayesian limit = 15.282698778072337\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def p_s(s_val) :\n", " return scipy.stats.poisson.pmf(n4, s_val + b4)\n", "\n", "import scipy.integrate\n", "\n", "def integral_s(s_val) :\n", " return scipy.integrate.quad(p_s, -20, s_val)[0]\n", "\n", "s_vals = np.linspace(-20,30,50)\n", "plt.subplot(121)\n", "plt.plot(s_vals, [ p_s(s_val) for s_val in s_vals ])\n", "plt.subplot(122)\n", "plt.plot(s_vals, [ integral_s(s_val) for s_val in s_vals ])\n", "s_limit = scipy.optimize.root_scalar(lambda s : integral_s(s) - 0.95, bracket=[0, 30]).root\n", "print('Bayesian limit =', s_limit);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 4. Bayesian methods: nuisance parameters\n", "\n", "Models usually also include nuisance parameters. For instance we considered a one-bin model where the background was only defined up to an uncertainty, so that the full likelihood is\n", "$$\n", "L(s, b) = P(n_4; s_4 + b_4) G(b^{\\text{aux}}, b_4, \\sigma_b)\n", "$$\n", "\n", "The way to treat this in a Bayesian way is to integrate over the nuisance parameters: formally\n", "$$\n", "P(s) \\propto \\int L(s, b; n) \\pi(s) G(b) db\n", "$$\n", "So that the constraint becomes the prior PDF of $b$. Using an uncertainty of $5$ on the background, and a central value equal to $b_4$, we have" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def p_sb(s_val, b_val) :\n", " return scipy.stats.poisson.pmf(n4, s_val + b_val)*scipy.stats.norm.pdf(b_val, loc=b4, scale=5)\n", "\n", "def integral_intb(s_val) :\n", " return scipy.integrate.quad(lambda b : p_sb(s_val, b), 25, 55)[0]\n", "\n", "def integral_sb(s_val) :\n", " return scipy.integrate.quad(integral_intb, -25, s_val)[0]\n", "\n", "s_vals = np.linspace(-20,80,51)\n", "b_vals = np.linspace(25,55,31)\n", "s_mesh,b_mesh = np.meshgrid(s_vals, b_vals)\n", "plt.subplot(121)\n", "plt.contour(s_mesh, b_mesh, p_sb(s_mesh, b_mesh) )\n", "plt.xlabel('s')\n", "plt.ylabel('b')\n", "plt.subplot(122)\n", "plt.plot(s_vals, [ integral_intb(s_val) for s_val in s_vals ], label='marginalized b')\n", "plt.plot(s_vals, [ p_s(s_val) for s_val in s_vals ], label='fixed b');" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Bayesian limit = 18.12048588801174\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(s_vals, [ integral_sb(s_val) for s_val in s_vals ]);\n", "s_limit = scipy.optimize.root_scalar(lambda s : integral_sb(s) - 0.95, bracket=[0, 50]).root\n", "print('Bayesian limit =', s_limit)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As expected, the limit is slightly larger than in the no-systematics case." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "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.8.5" } }, "nbformat": 4, "nbformat_minor": 4 }