Skip to content

Instantly share code, notes, and snippets.

@thejevans
Created June 26, 2020 13:55
Show Gist options
  • Save thejevans/ef9c022d1d82703f86d4dff9c4302206 to your computer and use it in GitHub Desktop.
Save thejevans/ef9c022d1d82703f86d4dff9c4302206 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import scipy.stats\n",
"import scipy.optimize\n",
"import scipy.interpolate\n",
"from tqdm import tqdm, trange"
]
},
{
"cell_type": "code",
"execution_count": 105,
"metadata": {},
"outputs": [],
"source": [
"def get_mu_best(x, mu_best_guess = .5, sigma = 1, bounds = [(-100,100)]):\n",
" '''minimize to find mu_best'''\n",
" def f(mu_best):\n",
" return -2*scipy.stats.norm.logpdf(x, loc = mu_best, scale = sigma)\n",
" # minimize -2ln(P)\n",
" return scipy.optimize.minimize(f, mu_best_guess, bounds = bounds, method = 'L-BFGS-B')\n",
" \n",
"def llh(mu_best, x, mu, sigma = 1):\n",
" '''calculate llh at a given x'''\n",
" numerator = scipy.stats.norm.logpdf(x, loc = mu, scale = sigma)\n",
" denominator = scipy.stats.norm.logpdf(x, loc = mu_best, scale = sigma)\n",
" \n",
" return -2*(numerator - denominator)\n",
"\n",
"def get_chi_sq_c_bisection(alpha, x_toys, xs, llh, precision = .01, max_loops = 25, verbose = False):\n",
" '''find chi^2_c using a bisection algorithm'''\n",
" llh_min_idx = len(llh) - np.argmin(llh[::-1]) - 1\n",
" \n",
" # returns the fraction of x_toys above a given llh\n",
" def f(x):\n",
" mini_idx = np.argmin(np.abs(llh[0:llh_min_idx] - x))\n",
" maxi_idx = np.argmin(np.abs(llh[llh_min_idx:-1] - x)) + llh_min_idx\n",
" mini = xs[mini_idx]\n",
" maxi = xs[maxi_idx]\n",
" return len(x_toys[(x_toys > mini) * (x_toys < maxi)])/len(x_toys)\n",
" \n",
" x_low = np.min(llh)\n",
" x_high = max(llh[0],llh[-1])\n",
" x_mid = (x_low + x_high)/2\n",
" y_mid = f(x_mid)\n",
" loops = 0\n",
" \n",
" # bisection algorithm\n",
" while(y_mid > alpha + precision or y_mid < alpha):\n",
" y_low = f(x_low)\n",
" y_high = f(x_high)\n",
" \n",
" if y_mid < alpha:\n",
" x_low = x_mid\n",
" else:\n",
" x_high = x_mid\n",
" \n",
" x_mid = (x_low + x_high)/2\n",
" y_mid = f(x_mid)\n",
" if verbose:\n",
" print(y_mid)\n",
" if loops >= max_loops:\n",
" print(f'could only reach precision of {np.abs(y_mid - alpha)*100:.3f} percent in {loops} iterations')\n",
" break\n",
" loops += 1\n",
" \n",
" return x_mid, xs[np.argmin(np.abs(llh[0:llh_min_idx] - x_mid))], xs[np.argmin(np.abs(llh[llh_min_idx:-1] - x_mid)) + llh_min_idx]"
]
},
{
"cell_type": "code",
"execution_count": 106,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"time to minimize mu_best: 9.1416 seconds\n",
"time to use shortcut to get mu_best: 0.0018 seconds\n"
]
}
],
"source": [
"x_toys = np.random.normal(loc = .5, scale = 1, size = 5000)\n",
"\n",
"x_min = np.min(x_toys)\n",
"x_max = np.max(x_toys)\n",
"mu_bests = np.zeros_like(x_toys)\n",
"\n",
"# try to minimize to find mu_best\n",
"start = time.perf_counter()\n",
"for i,x in enumerate(x_toys):\n",
" mu_bests[i] = get_mu_best(x, mu_best_guess = x+.01, bounds = [(x_min,x_max)]).x\n",
"print(f'time to minimize mu_best: {time.perf_counter() - start:.4f} seconds')\n",
"\n",
"# use the fact that since we are using normal distributions, mu_best is equal to max(0, x_toy)\n",
"start = time.perf_counter()\n",
"mu_bests = np.maximum(x_toys, np.zeros_like(x_toys))\n",
"print(f'time to use shortcut to get mu_best: {time.perf_counter() - start:.4f} seconds')\n"
]
},
{
"cell_type": "code",
"execution_count": 107,
"metadata": {},
"outputs": [],
"source": [
"# get a range of x values spanning the sample and get an llh for each\n",
"xs = np.linspace(x_min, x_max, 1000)\n",
"ys = llh(np.maximum(xs,np.zeros(1000)), xs, np.ones(1000)*.5)\n",
"\n",
"# find Delta chi^2_c\n",
"chi_sq_c,_,_ = get_chi_sq_c_bisection(.9, x_toys, xs, ys)"
]
},
{
"cell_type": "code",
"execution_count": 108,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# make FIG. 1\n",
"plt.hist(x_toys, bins = np.linspace(-3,4,49), histtype = 'step', weights = np.ones(5000)/60)\n",
"plt.plot(xs,ys)\n",
"plt.xlim([-3,4])\n",
"plt.ylim([0,5.25])\n",
"plt.xlabel('Measured Mean x', horizontalalignment='right', x = 1)\n",
"plt.ylabel(r'$\\Delta\\chi^2$/experiments (arb. units)', horizontalalignment='right', y = 1)\n",
"plt.axhline(chi_sq_c, linestyle = '--', color = 'C2')\n",
"plt.savefig('test.pdf')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 109,
"metadata": {},
"outputs": [],
"source": [
"def get_interval(mu = .5, alpha = .9, n_events = 5000, n_pts = 100, verbose = False, method = 'fast', mu_bounds = [0,None], precision = .01, max_loops = 25):\n",
" '''perform calculations done to get FIG. 1 on a given mu'''\n",
" x_toys = np.random.normal(loc = mu, size = n_events)\n",
" \n",
" x_min = np.min(x_toys) - 1\n",
" x_max = np.max(x_toys) + 1\n",
" \n",
" xs = np.linspace(x_min,x_max,n_pts)\n",
" \n",
" mu_bests = np.zeros_like(xs)\n",
" \n",
" if method == 'minimize':\n",
" for i,x in enumerate(x_xs):\n",
" mu_bests[i] = get_mu_best(x, mu_best_guess = x+0.01, bounds = [(x_min,x_max)]).x\n",
" elif method == 'fast':\n",
" mu_bests = xs\n",
" if mu_bounds[0] is not None:\n",
" mu_bests = np.maximum(mu_bests, np.ones(n_pts)*mu_bounds[0])\n",
" if mu_bounds[1] is not None:\n",
" mu_bests = np.minimum(mu_bests, np.ones(n_pts)*mu_bounds[1])\n",
" \n",
" ys = llh(mu_bests, xs, np.ones(n_pts)*mu)\n",
" \n",
" xs = xs[(~np.isnan(ys))]# & (~np.isinf(ys))]\n",
" ys = ys[(~np.isnan(ys))]# & (~np.isinf(ys))]\n",
" \n",
" chi_sq_c,left,right = get_chi_sq_c_bisection(alpha, x_toys, xs, ys, precision = precision, verbose = verbose, max_loops = max_loops)\n",
" \n",
" if verbose:\n",
" plt.hist(events, bins = 50, histtype = 'step', weights = np.ones(n_events)/60)\n",
" plt.plot(xs,ys)\n",
" plt.xlim([-3+mu,4+mu])\n",
" plt.ylim([0,5.25])\n",
" plt.xlabel('Measured Mean x', horizontalalignment='right', x = 1)\n",
" plt.ylabel(r'$\\Delta\\chi^2$/experiments (arb. units)', horizontalalignment='right', y = 1)\n",
" plt.axhline(chi_sq_c, linestyle = '--', color = 'C2')\n",
" plt.savefig('test.pdf')\n",
" plt.show()\n",
" \n",
" return left, right"
]
},
{
"cell_type": "code",
"execution_count": 87,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 1000/1000 [00:06<00:00, 165.71it/s]\n"
]
}
],
"source": [
"n = 1000\n",
"mus = np.linspace(0,8,n)\n",
"y_left = np.empty(n)\n",
"y_right = np.empty(n)\n",
"\n",
"for i,mu in enumerate(tqdm(mus)):\n",
" y_left[i], y_right[i] = get_interval(mu = mu, n_pts = 10000, method = 'fast', precision = .002, max_loops = 50)"
]
},
{
"cell_type": "code",
"execution_count": 88,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAX8AAAEKCAYAAAD6q1UVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3dd5xU1fnH8c+z9K40QZCqAgo2FlBRREWl2X427CWGGFuMojEGe0miKWKLwYYF0ViJJoKiEBRFAUGkqhSlSe+wbJnn98cMMzvUWdi9d2bn+3699sWcM/fOeXaA7969c+855u6IiEh2yQm7ABERCZ7CX0QkCyn8RUSykMJfRCQLKfxFRLKQwl9EJAsFGv5m9lszm25m08xsmJlVDXJ8ERGJCiz8zawJcCOQ6+7tgQpAv6DGFxGRhKBP+1QEqplZRaA6sDjg8UVEhGgYB8LdF5nZX4CfgM3Ah+7+4bbbmVl/oD9AjRo1OrZt2zaoEkVEMt6kSZNWuHuD3W1nQU3vYGb7Am8BFwBrgDeAN939lZ3tk5ub6xMnTgykPhGR8sDMJrl77u62C/K0Tw9gnrsvd/cC4G3g2ADHFxGRmCDD/yfgaDOrbmYGnAzMDHB8ERGJSfmcv5l9C0wt9vUtcLm7P5jK/u7+pZm9CXwNFAKTgcElrlhERPZaSY78TwCeIfphbT9gGtCnJIO5+93u3tbd27v7pe6+pST7i4hI6Uj5yN/dVwFjYl+Y2UHAwDKpSkREylTKR/6xsI9z9++Bw0q9IhERKXMluc5/sJm1BhYRPedfFZhmZtXdfVOZVCciIinblF+Y8rYlOe1zIoCZNQOOAA6P/fmNmRW5u+7GEhEJSV5BEYfcNTLl7Ut8h6+7/0T0ss1/b+0zs5olfR0RESkd435YwSvjfyzRPqUyvYO7byiN1xERkZLp89inTF+8rsT7aT5/EZEMFIk4o2YsTQr+OQ/1Tnn/wCZ2ExGR0pFXUESnB0axfkv0A95e7Rvx5EVHkZNjKb9GSe7wrQKcA7Qovp+735fyaCIislfmLt/ASX/9X7w96/6eVK1UocSvU5Ij/+HAWmASoDtzRUQCtGFLIX//6Dten7Ag3jf1nlP3KPihZOHf1N177tEoIiKyV9rfnbiMs3PLulzUuRm1q1ba49crSfh/bmYd3P3bPR5NRERK7JGRs5LaL17ZmWqV9+yIf6uShP9xwBVmNo/oaR8D3N01xYOISBkoijjdHh7NojWb4333nXnoXgc/lCz8e+31aCIislub84t4ftw8Hhk5O97XrnFturSsS79OzUpljJJM7/BjbCnGg4jO67NVyW4rExGRnVq2Lo9+z4xn7vKN8b47+x7CL45rWarjlORSz6uB3wBNgSnA0cAXwEmlWpGISJZ6d/Iibnp9SlLf57efxP77VCv1sUpyh+9vgE7Aj7FJ3o4Elpd6RSIiWWjZ+jz+NXFBUt9Xd5xcJsEPJTvnn+fueWaGmVVx91lm1qZMqhIRySL//XYJ1w79Ot5+/4bjOKRx7RLdsVtSJQn/hWa2D/Au8JGZrQYWp7pz7AfF68W6WgF3ufujJahBRKRcGTN7WVLwf3zLCbRuUPYTJZfkA9+zYw/vMbPRQB1gRAn2n010/n/MrALRRWHeSb1UEZHyY/ritfR57LOkvkH9jggk+KFkH/gacDHQyt3vK7aoy1d7MO7JwBx315VCIpJ1nhz9Q9JlnFd1bck1J7SiYe2qu9irdJXkA9+ngGOAC2Pt9cCTezhuP2DYHu4rIpKxVm7YkhT853Vsyu96tQk0+KFk5/y7uPtRZjYZwN1Xm1nlkg4Y2+cM4Pc7eb4/0B+gWbPSuZlBRCQdTJy/inOf/iLevu/MQ7nsmBah1FKS8C+Inat3ADNrAET2YMxewNfuvnRHT7r7YGAwQG5uru/B64uIpJ0pC9bEg7/noY14+tKOodZTkvB/jOgHtPuZ2YPAucCdezDmheiUj4hkiR9XbuSER8YAULliDt0Oqs+DZ7cPtyhKdrXPUDObRPTDWoAz3X3WrvbZlplVB04BflWS/UREMtG/JizgtremxtvjfncSDWpVCbGihN2Gv5n9e9uu2J+nmRnufkaqg7n7JqBeCeoTEclI7p4U/Hu64lZZSeXI/xhgAdFTNV+SCH8REdnGglWbOPupcazYkB/v+/S2E9Mq+CG18G9E9FTNhcBFwH+AYe4+vSwLExHJNNuur3tY0zo8dHYHDqhbPcSqdmy34e/uRUTv5B0RW8T9QmCMmd3n7o+XdYEiIpngVy9PZOT0xEWMB+9Xk3eu7UqFMpyfZ2+k9IFvLPT7EA3+FkSv/Hm77MoSEckc0xatTQr+t359LB2b7xtiRbuXyge+LwLtgQ+Ae919WplXJSKSISbMX8V5xW7cmnHfaVSvXJKr6MORSoWXAhuBg4Ebo1P8AIk1fGuXUW0iImnrlfE/MvDd5GPhJy86KiOCH1I751+S+X9ERMq99XkF2wX/+zccR/smdUKqqOQy40eUiEiamP3zek57dGy83b5Jbd7+dVcqV8ys42SFv4hIigqLIknBf9yB9Xnl6i4hVrTnFP4iIin4+0ffMejj7+Pt964/jg5NM+c0z7YU/iIiu/H5nBXx4D+mVT0GX9aRWlUrhVzV3lH4i4jsxMLVm3j84x94feICAIZc2YnubRqGXFXpUPiLiOzArJ/X0fPRTwE44eAGXHJ083IT/KDwFxHZztzlG+LBD/DIeYfRsFawyyyWNYW/iEjMlsIibntzKsOnLAbguhNbc+tpbUOuqmwo/EVEgGXr8uj80McA1K1RmTeuOYbWDWqGXFXZUfiLSFYrvsziVhP+0CNtZ+MsLZl1S5qISCnKL4xsF/yjB3Qv98EPOvIXkSxVFHEOHvhBvH3cgfW5s+8htKxfI8SqghNo+JvZPsCzRKeIduAqd/9i13uJiJSuTfmFHHLXyHj7xas6c8LBDUKsKHhBH/kPAka4+7lmVhlIv7XNRKTccnc+nLGUX708Kd53ZdcWWRf8EGD4m1ltoBtwBYC75wP5u9pHRKQ0vTlpIbe+OTXefuOaY+jUom6IFYUnyA98WwHLgRfMbLKZPWtm251cM7P+ZjbRzCYuX748wPJEpLxatj6Pv330XVLwD+p3RNYGPwQb/hWBo4B/uPuRRFcHu33bjdx9sLvnuntugwbZ96uYiJS+zg9+zGPFZuR84YpOnHlEkxArCl+Q5/wXAgvd/ctY+012EP4iIqXl0++Xc+lzXyX1zftjb4otR5u1Agt/d//ZzBaYWRt3nw2cDMwIanwRyS6Pf/w9f/3ou3j77tMP4dRDGyn4Y4K+2ucGYGjsSp+5wJUBjy8i5dyWwiIe/M9MXvriRwCa1a3OS1d1pkWWXL+fqkDD392nALlBjiki2cPd+b+nPmf64nXxvuHXdWXfGpVDrCo96Q5fESkX1ucVcNaT45izfCMAfz6nAxd0ahZyVelL4S8iGa/F7f9Jap/ctqGCfzcU/iKS0Ras2pTUHnp1F7oeWD+kajKHwl9EMpK78/L4H7lr+HQA9q1eiVeu7sKh+9cJubLMoPAXkYyzKb+QIZ/P5+ERs+N9k+86NcSKMo/CX0QyyqqN+Rx1/0dJfSNv6hZSNZlL4S8iGWP0rGVcOWRCvP3F70+icZ1qIVaUuRT+IpL28gsjdHt4ND+vywOgUe2qPHzuYQr+vaDwF5G09tpXP3H729/G2/ef1Z5LujTTNA17SeEvImlr8k+rk4If4NKjm4dUTfmi8BeRtFRYFOHspz6Pt//Qux1nHrl/iBWVLwp/EUkr4+eupN/g8Ul99515KJcd0yKcgsqpIBdzERHZpbyCIga88U1SX8NaVTjnqKYhVVR+6chfRNJCJOK0vXNEUt/ph+/PoAuOICdHH+6WNoW/iIRu5pJ19Br0abz9qxNacd2JB1K7aqUQqyrfFP4iEpr8wghvTlrIHe8krujRMovBUPiLSCgKiiJcO3QSo2YuA+C8jk35TY+DFPwBUfiLSOCuG/o1//l2Sbzdv1sr7ujdLsSKsk+g4W9m84H1QBFQ6O5a0lEky0xZsCYp+AEFfwjCOPI/0d1XhDCuiITskZGzeHL0nHj741tOoJUWVg+FTvuISJmbsmANA974hh+WbYj3TfhDDxrUqhJiVdkt6Ju8HPjQzCaZWf8dbWBm/c1soplNXL58ecDliUhp+2TWUs56clxS8NeqWlHBH7Kgj/y7uvtiM2sIfGRms9x9bPEN3H0wMBggNzfXA65PRErRs5/O5YH/zEzqGzOgOy10qid0gYa/uy+O/bnMzN4BOgNjd72XiGSi75auTwr+SQN7UK+mjvbTRWCnfcyshpnV2voYOBWYFtT4IhIMd+f2t6Zy6t8Tx3V/Pe9wBX+aCfLIfz/gndgNHBWBV919xK53EZFMMnXhGs54YlxS33cP9KJyRc0hmW4CC393nwscHtR4IhKsbYP/gtwDuPP0QxT8aUqXeorIXiuKeDz4T2rbkLtPP4Tm9fShbjpT+IvIHssvjPD3Ud/xjzHRG7cqVTCev6JTyFVJKhT+IrJHNmwppP3dI+PtQ/evzTvXdg2xIikJhb+I7JHhUxbFH19+THPuPbN9iNVISSn8RaREfl6bx/EPf0JBUfQezA5N6jCw7yEhVyUlpfAXkZR9MmspVw2ZGG+/9etj6Ni8bogVyZ5S+IvIbhUURej84ChWbyoAoFX9Gjxx0VEcsn/tkCuTPaXwF5HduuHVyfHgb7pvNT66+QQqaFH1jKbwF5GdWrxmM8f+6ZN4++lLOtKzfaMQK5LSovAXke1M/mk1Zz/1eVJfk32q0aFpnZAqktKm8BeR7dzz7+nxx4c3rcMzl+fSsFbVECuS3dq8Goael/LmmnRDROIWrNrE2U+N45uFa+N9d/Rup+DPBBOfh4UTUt5cR/4iAkSnajj+4dHx9u292tK7fWOa1aseYlWSkuHXweRXSrSLwl8ky/20chOXv/AV81ZsjPeNvKkbbRrVCrEqScmG5fCXAxPtE34H/CGlXXXaRyTLdXtkdFLwv9b/aAV/Jpj1n+TgB+h4Zcq768hfJIud8rf/JbVn3d+TqpUqhFSNpGz6O/DGFYl2275w/kuQk/rfncJfJAvNW7GRc//xOSs35gPQqkENhl/XVcGf7iIRGHUXfP54ou/GyVC3VYlfSuEvkkWKIs6tb3zD25MTM3K+enUXjj2wfohVSUrc4edvkoP/rlUlOtovLvDwN7MKwERgkbv3DXp8kWzW+cFR8aP9+jWrMPa27lSvrGPAtPfzNHh6m7USbpyyx8EP4Rz5/waYCWhGKJEArdiwJR78EP1gV8Gf5pZMhWlvwbhHE305FWHgcsjZu+t1Av2bN7OmQB/gQeDmIMcWyVbzVmzkzx/MYsT0n+N9owd0p2V9rbGb1jauhH8en2gfcTGc8cReh/5WQf/YfxS4DdjpdWRm1h/oD9CsWbOAyhIpn4ZPWcRvXpuS1PfsZbkK/nSXvxH+cWxyX99HSy34IcDwN7O+wDJ3n2Rm3Xe2nbsPBgYD5ObmekDliZQ7+YWRpOAfenUXjm5VT1Mxp7vPH4cPByb3XfcVVKxcqsMEeeTfFTjDzHoDVYHaZvaKu18SYA0iWWHM7GVc8UJinpdfHt+SrrqiJ/0tnZEc/AOXl3robxVY+Lv774HfA8SO/Aco+EVKz6b8Qq58YQJfzlsV7zusaR1evLIz+9YomwCRUjR/HAzpnWjfuRIqlF1E66N+kXJic35RUvD/8f86cH7uATrNk+42roBHWif3VagCXkRZRnQo4e/uY4AxYYwtUh5tKSyi4wOj4u3zc5vSr9MBmCn409rKOfDi6Yn2lSOgUXuoUvZzK+nIXyRDRSLOyo35XPzseL5buiHeP+TKTnRv0zDEyiQlc/8HL52RaF/+HjQ/JrDhFf4iGeiLOSu58Jnx2/XPfqAnVSpqfp60t3FFcvAD1G8TaAkKf5EMtGTt5qT205ccRfc2DRX86c4dVs+Dx45M7j/oNKga7KQHCn+RDPLp98t5+Ysf+XDG0njf13eeQl1dzZMZhvSFHz9LtH/5CTTpGEopCn+RDJFfGOHS575K6ht8aUcFf7orzIdnToSl05L7L30ntOAHhb9Ixhg8dk5S+5fHt+TUQxuFVI2kJG8d/OmA5L6T74bWJ8L+R+54n4Ao/EXSXCTiDPr4e4Z99VO877oTWzPg1GA/IJQ98HDLxOOmnaD77XBgj/DqKUbhL5Lmnvl0LoM+/h6Aq7q25FcntGK/2lVDrkp2KW8t/KnYxJRnPQ1HXBhePTug8BdJU5N+XM05//g83r6z7yH84riWu9hDQrdxJYy6Gya/nOi76VvYJ/1mKFb4i6ShJ0f/wCMjZ8fblx7dXMGfCT66E6YMTbQv+ldaBj8o/EXSyrq8Au58dxrDpywG4PiD6nPdiQfSsfm+IVcmuzX8+uTgv/ZLaNg2vHp2Q+EvkgbyCyN8PmdF0jTMAM9f0YlKFUpvAQ8pI/c3gKLEEpncsza8WlKk8BcJ2YJVmzj+4dFJff27teL3vdpqYrZMUTz4By4Pr44SUPiLhMjdk4L/veuPo32T2gr9TDDj37DwK/huZKLv4rfKbPGV0qbwFwnJW5MWcssb38Tbx7auR4emdUKsSFK2aRX869JEu00f6PkQ7NsitJJKSuEvEgJ3Twr+B89uT98O+4dYkaRk6Qz4xzbTLp/+GHS8PJx69oLCXyQEI6cnJmbbv05VLu7SPMRqJCWzR8CwCxLtIy+F3CtDnZ9nbyj8RQK0dF0e1w79mkk/rgagc8u6vPKLLiFXJbuVty4R/I06RFfcqlIz3Jr2UmDhb2ZVgbFAldi4b7r73UGNLxK2EdOWcM0rXwPQp0NjHjnvMKpX1vFX2tu0KjFHz4E94JK3wq2nlAT5L28LcJK7bzCzSsBnZvaBu2+/HJFIObLtpZxPXHQkvds3JkcLq6e3SBF8/1HyqZ4Lhu58+wwTWPi7uwNbFxqtFPvyoMYXCcPtb03ltQkL4u3Bl3bUNMyZ4r66ye1rx0Ol8jOhXqC3DppZBTObAiwDPnL3L3ewTX8zm2hmE5cvz4ybJUR2ZMS0JUnBf8nRzTixrRZWT3vLv4N7trnkdsAP0LBdOPWUkUDD392L3P0IoCnQ2cza72Cbwe6e6+65DRo0CLI8kVJRFHFen/BT/Pw+wAtXduKBszpoqoZ0t24xPNkp0T7qMrhrFdQsf1kUyqdN7r7GzMYAPYFpu9lcJGO4OwPfnRZfeKV9k9q8d/1xumM3Eyz6Gob1S7QHLs+Yu3X3RJBX+zQACmLBXw3oAfw5qPFFytr978/guc/mxduT7zyFfbW+bvor3AJfPg0f3ZXou21euQ5+CPbIvzHwoplVIHq66V/u/n6A44uUicKiCAf+4YOkvv/d2l3Bnyke2OZzmHNfgOp1d7xtORLk1T5TgXBXLBYpZZGIc+fw6fH2uR2b0vPQRjSvVyPEqiQlkSJ47pTkvhu+hnqtw6knYLrDRGQPrd6YT5/HPmXx2jwA/nLe4ZzbsWnIVUlKVs6Bx49KtPu9Cm37hFdPCBT+Intg2bo8Oj/0cbz93vXHaUbOTDB3DLzza1i/ONH3+0UZP1XDnlD4i5RAXkERv3tranyZxa0U/BkgfyO8dGZy32+nZ2Xwg8JfJGVrNxUw5PP5ScH/8S0n0FLn99NfQR48tM2U2XevgSy+BFfhL5Kiw+/7MP64ZpWK/O/W7tSrWSXEimS3IkUw5k8w9uFE33kvQpveWR38oPAX2SV359tFa/l45rKk/mn3nhZSRZKywnx4YJs7c3OvgrZ9oYKiT++AyE6s2LCFAW98w5jZiTmmerTbj0H9jgixKknZaxcmt+9ZG04daUrhL7IDBUURch8YldQ39tYTaVavekgVScqmDIN3r0nuu+TtcGpJYwp/kR3IL4wktW8+5WAFfyZ47WKYtc3EAZe/Dy2PD6eeNKbwFymmsCjCg/+dyYufz4/3jR7QnZb1dUVP2ivMTwR/9zugy6+g2j7h1pTGFP4iMVMWrOGsJ8cBcPxB9bn6+FYcd2B9KmjFrfTmDkumwNDzo+3Ov4Luvwu3pgyg8Bcheo5/a/DXqlKRl67qrGmYM8G6xfDfWxNH/B3Og9MeCremDKHwl6wWiThXDJnA2O8SV/R8MqC7gj/dbV4NH9wOU19L9P12OtTR3EqpUvhL1lqzKZ/735+ZFPwv/6IzDWrpxq209+cWye3zX1bwl5DCX7LS7J/Xc9qjY+PtJvtUY8BpB3P8QeVvub5yZ9pbyW1dv79HFP6Sdb5fmhz8U+46hX2qa+GVtLd4SjT4P38s0dd/TFjVZDyFv2SVUTOWcvVLE+PtCX/ooeDPBD+MglfOSbR7PQJd+odXTzmg8JessDm/iHZ3jUjqe/Eqnd/PCO9cA98MS7QvfB3a9AyvnnIiyAXcDwBeAhoBEWCwuw8KanzJTpGIM/jTufzpg1lJ/d/ecyq1qlYKqSpJydpF8NMXycF/9mAFfykJ8si/ELjF3b82s1rAJDP7yN1nBFiDZJkZS9YlBX/7JrV5/wbd6p/2Fk6CZ09K7rttXlYsrB6UIBdwXwIsiT1eb2YzgSaAwl/KxPdL19P38c/i7Y7N99WMnJlg9gcwrF+ife4L0KiDgr+UhXLO38xaAEcCX+7guf5Af4BmzZoFWpeUDys2bNluRs7PfnciTffVxGxpb/WPycF/61yoUS+8esqxnKAHNLOawFvATe6+btvn3X2wu+e6e26DBrrmWkpm45ZCbhw2Od6++ZSD+fKOkxX8mWDFDzDosET7oFOhSq3w6innAj3yN7NKRIN/qLtrgm0pVcvW59HloY9xj7bfvvZYjmq2b7hFSWrmj4MhvaOPm3eNTsOcE/ixaVYJ8mofA54DZrr734IaV8q/n1Zuotsjo+Ptbgc34OlLjqJ6ZV3JnPbm/g9eOiPRPuBouPQdBX8AgnyHuwKXAieZ2ZTYV+8Ax5dyaM2m/KTgB/hdzzYK/kxQmJ8c/ABnPgEVde9FEIK82uczQFMlSqkpKIpw5ZAJ8fagfkdwbOv6unErE6yaB8OKrbHb5Rro9efw6slCOjySjJRXUMQFg8fzzYI1ALx0VWe6HawLBDLC5jXwWOyS24NOgwuHQU6FcGvKQgp/ySh5BUU89N+ZvPTFjwD8untrrjvxQGpW0T/ltDdvLLx4eqLd6Wro+ScFf0j0P0YyRl5BEW3vTJ6f5/Cm+yj4M0Xx4Afo89dw6hBA4S8ZYtn6PDo/+HG8fdkxzbn79EO1vm66i0RgwXj4rtgP7aad4bJ3w6tJAIW/ZIAxs5fx6Kjv4+1B/Y7gzCOahFiRpGzE7fDVP6OPq9WF816AVt3DrEhiFP6S1s58clz8Q936NatwZdcWnHZoo5Crkt3atAqeyIVNKxN9t80FrY2cNhT+krZGzVgaD36Irq/brnHtECuSlMweAcMuSO676VsFf5pR+EvambF4HX0e/zQ+TQPApIE9qFdT1++ntaJCGPcofHJ/oq/fq9Cmt4I/DSn8Ja2syyug92OfJvX98GAvKlbQ7f5pbc1P8GiH5D7NyJnWFP6SFtZuLuDwez/crv/9G45T8GeCn7aZnf23MxT8aU7hL6HLKyhKCv5Ljm7GfWe0J0eXcaa/zath+PUw6/1E361zoEb98GqSlCj8JVT5hZGkG7e+vvMU6taoHGJFkpJ1i+Fv7RLtClXgnGeg3Rk6v58hFP4Smv9MXcJ1r34db1eumEPVSjrFk/ZWz4dBhyfapw+Cwy+CivqhnUkU/hKovIIixv2wgkVrNnPX8Onx/o9vOYHWDWqGWJmk5Odv4enjEu0rP4Dmx4ZXj+wxhb8E6swnxjF76fp4++IuzbjttLbUqV4pxKpkt5ZMhdcvjl7VA1Brf7hlZrg1yV5R+EuZ25RfyLuTF7Ng9aak4L/vzEO57JgW4RUmqfnxC3ihZ6Ld7JjobJyS0RT+UuYOuWvkdn2PXXgkpx/WOIRqpEQmPAf/uTnRvn0BVNVd1uWBwl/KRFHEWbBqE0M+nx/vq1Ixh9kP9AqvKEld4RZ4/2aY8kq0XaMhnDdEwV+OBLmA+/NAX2CZu7cPalwJR+s7/pvUvuLYFtx9+iEhVSMpcYel02H1PPjvbbB+cbT/F6PggE7h1ialLsgj/yHAE8BLAY4pIbi+2OWbAJ1b1OWeMw4NqRpJiTv8788w5o+Jvia5cMJtCv5yKsgF3MeaWYugxpPg3ffeDJ4fNy+pr3OLutx7poI/rW1YDn85MLnvxilQt2U49UggdM5f9tqZT3zGNwvXbtc/+c5T2Fd366avwnx46yqY+V6ir1V3uGx4WBVJgNIu/M2sP9AfoFmzZiFXIzvj7uQXRZg4f/V2wa/pl9Pcih9g7mj474Dk/tMfg46Xh1OTBC7twt/dBwODAXJzc303m0sIpi1aS9/HP9vhc38973AFfzqLFMETHZP7rh0PDdvteHspt9Iu/CW9vT7hJ3731rdJfdd2b01eQYTGdapy1pFaWzdt5W+EZ05O7uvzVwV/lgryUs9hQHegvpktBO529+eCGl/23PL1W7j3vem8P3VJUn+XlnV5+NzDaF6vRkiVSUqKCmH0A/DZ3xN9/V6Fg3tCToXw6pJQBXm1z4VBjSWlY/n6LXyzYA1XvzQxqf/ktg15/KIjqV5ZvzimvUgEnjoaVn4fbTc6DK4aAZX1Azvb6X+vJNm4pZAPZ/zMk6Pn8MOyDUnPdT2wHk9d1FGTsGWCSARG3A5TXoX89dEpl4+9HvbTZbcSpfCXuAnzV3He019s1z/zvp5Uq6zTA2kvfxOMfwryNySf4jn2Buhxr07xSBKFv/DVvFWc/8/tQ3+rHK2vkv4KNsOLfWHRpOT+C4ZCu77h1CRpTeGfxX5cuZHl67dsF/z3n9WefatXwh3aNa5NlYo6Ykxb7vDVYPjgtuT+m2dC7f3DqUkygsI/i6zemM/KjVtYtbGAwWPnMmrm0qTnB/ZpR492+9Givj4MzAjfvglv/xI8Em23OB4ueBmq7RtuXZIRFP5ZYsS0JVzzytc7fO7Gkw/ikqOb0bBW1YCrkj2ybjFMfR1G3ZPou2x4dGoGkRQp/MuZpaRbVyMAAArVSURBVOvy6PLQx0l9FXKMokjiZul7zziU3Bb7Uq9GFfapXomqlXRaJyO4w3cjYdgFib5Dz4ZeD0PNhuHVJRlJ4Z/h3J3NBUVs2FLIhrxC5izfuMNtbupxEEURp3ubBnRsXjeESmWPucO4QfC/h6Gg2N9vj3vguN+GVZVkOIV/hmszcAT5RZEdPtewVhVuPPkgLuzcjAo5FnBlstfy1sGPn8PI38OqudG+U+6DTr+EytXDrU0ynsI/wyxcvYlXxv/EojWbWbh6U1LwX9SlGSe1ach+tavSumEN3YGbqYoK4bsR8PrF0bbFTsud/zIcckZ4dUm5onRIA+7O2O9XMO6HFQweO3en2zWvV50fV24CoHGdqrRqUIP/O6oJ6zYX0O3gBlx6dHPMdISfsdzh6xfhvd8k+o6/BY4foCN9KXUK/zLk7qzLK2TDlkI25xfRb/AXrNiQH3++dYMaFEY8Hui7c1jTfejdoTHHH1SfY1vXL6uyJSwr5yQH/wFHw8l3hVePlGsK/1KweM1mPpj2MzkGOWa89MX8HX7wuq1mdatTp1oljjhgH4ZPWRzvH9inHZ1b1qViTg6O4w4t6tegZhX9dZU7kQgs/AreuDKxYDpAxarwi5Hh1SXlntJkG2s3FzBm9jIKipyCogiFRRHyi5zCoggFxR4/NWYOED39smRt3i5fs1f7RvTq0JhqlSpEvypXoFGdqjTZp1p8m0H9jizT70vS1H3b3JDVpg+c84xm3ZQyl9bhH3FnxYYtGGAWvVbd3Slyjz2Goki07e4URaLtiEe/oo8p9tgpKHJWbdzCivX5rNiwhRUb8lm9KZ+NWwrZlF/Et4u2X4t2W5UqJM6r71O9MvVqVmbaonXbbffAWe05/bD9NQumbG/ep9G5eIq7Y7FCXwKT1uE/ffE6ch8YVWavX7lCDvVrVqZuzcpUr1yR+jUr06Jedeav3MR5HZty86kHUzEnh8oVcqhU0aiYk0OlCqYPVWXvPNEZVsxO7rtzJVRI6/+OUs6U239trRvUYGCfQ8jJMXIMKpiRk2NUzDHq1qhM/VpVqFWlooJcgjHnE3j57O37azWGLr9S8Evg0vpfXOsGNZnxpz5hlyGy9yY+n9zucD6c8ThU0nxKEo60nql9zvINvDN5YdhliOyd+eNg5nuJduf+cOoDCn4JVaDhb2Y9zWy2mf1gZrenss/IaUt3v5FIuvruQxjSO9Fu2Q16PwK19guvJhECPO1jZhWAJ4FTgIXABDP7t7vP2Nk+HZrU4elLOwZVokjpiRRFF1kZUewYp98waNMrvJpEignyyL8z8IO7z3X3fOA14MwAxxcJzrhBycF/2XBo2xt0gYGkiSA/8G0CLCjWXgh02XYjM+sP9I81t5jZtABqywT1gRVhF5EGMvN9uPfEsnjVzHwvyobei4Q2qWwUZPjv6JDHt+twHwwMBjCzie6eW9aFZQK9F1F6HxL0XiTovUgws4mpbBfkaZ+FwAHF2k2BxTvZVkREylCQ4T8BOMjMWppZZaAf8O8AxxcRkZjATvu4e6GZXQ+MBCoAz7v79N3sNrjsK8sYei+i9D4k6L1I0HuRkNJ7Ye7bnXYXEZFyLq3v8BURkbKh8BcRyUIZEf5mNsDM3Myydu1CM3vEzGaZ2VQze8fM9gm7pqDtyfQg5ZGZHWBmo81spplNN7Pf7H6v8s3MKpjZZDN7P+xawmRm+5jZm7GsmGlmx+xs27QPfzM7gOiUED+FXUvIPgLau/thwHfA70OuJ1DFpgfpBRwCXGhmh4RbVWgKgVvcvR1wNHBdFr8XW/0GmBl2EWlgEDDC3dsCh7OL9yTtwx/4O3AbO7ghLJu4+4fuXhhrjid6n0Q20fQgMe6+xN2/jj1eT/Q/eJNwqwqPmTUF+gDPhl1LmMysNtANeA7A3fPdfc3Otk/r8DezM4BF7v5N2LWkmauAD8IuImA7mh4kawNvKzNrARwJfBluJaF6lOgBYiTsQkLWClgOvBA7Bfasme10XdDQF3Mxs1FAox089QfgDuDUYCsKz67eC3cfHtvmD0R/7R8aZG1pIKXpQbKJmdUE3gJucvftF5HOAmbWF1jm7pPMrHvY9YSsInAUcIO7f2lmg4DbgTt3tnGo3L3HjvrNrAPQEvgmttRiU+BrM+vs7j8HWGJgdvZebGVmlwN9gZM9+27Q0PQgxZhZJaLBP9Td3w67nhB1Bc4ws95AVaC2mb3i7peEXFcYFgIL3X3rb4FvEg3/HcqYm7zMbD6Q6+5ZOXOfmfUE/gac4O7Lw64naGZWkegH3ScDi4hOF3JRCneJlzsWPRp6EVjl7jeFXU+6iB35D3D3vmHXEhYz+xS42t1nm9k9QA13v3VH24Z+5C8pewKoAnwU+01ovLtfE25JwdnD6UHKq67ApcC3ZjYl1neHu/83xJokPdwADI3NnzYXuHJnG2bMkb+IiJSetL7aR0REyobCX0QkCyn8RUSykMJfRCQLKfxFRLKQwl9EAhebpfflYu2KZrY83WflNLMxZrbdQvGx/p9i92Bs7XvXzDYEW2HqFP4iEoaNQHszqxZrn0L05r3AxW4gLA1riN6DQWzK9cal9LplQuEvImH5gOhsnAAXAsO2PmFmNczseTObEJuk7MxYfwsz+9TMvo59HRvrb2xmY81siplNM7PjY/0bir3muWY2JPZ4iJn9zcxGA3/exXjVzOy12DoarwNbf1jtyGtAv9jj/wOSpt0ws1tjrz/VzO4t1v+umU2Krc3Qv1j/BjN70My+MbPxZrbftgOa2WNmdlfs8Wmx9yC1XHd3felLX/oK9AvYABxGdP6ZqsAUoDvwfuz5h4BLYo/3ITq1Rw2gOlA11n8QMDH2+BaiEyBC9A7wWlvHKTbmucCQ2OMhwPtAhd2MdzPRu8mJ1VtIdJqZbb+fMUAXYGps/A+BFlvHJzpB5WCiExTmxMbuFnuubuzPasA0oF6s7cDpsccPAwN3MG51YDpwIjAbaJ3q34GmdxCRULj71NiU1BcC205NcSrRCdsGxNpVgWZEJ/N7wsyOAIqAg2PPTwCej0149667T2H33nD3ot2M1w14rFi9U3fxekXAZ8AFQDV3n1/sI4BTY1+TY+2aRH94jQVuNLOzY/0HxPpXAvlEf0gATCJ6aiyJu28ys1/GXue37j4nhe8b0Nw+IhKufwN/IXrUX69YvwHnuPvs4hvHJitbSnSVqhwgD8Ddx5pZN6KnkV42s0fc/SWSp/2uus3YG1MYD0o2dfhrwDvAPdv0G/BHd//nNq/fHegBHBML8jHF6izw2OE90R8sO8vrDkR/WOxfgjp1zl9EQvU8cJ+7f7tN/0jghq1Xz5jZkbH+OsASd48QndyuQuz55kTn9X+G6EpWR8W2X2pm7WLnwc9m53Y23ljg4lhfe6KnfnblU+CPFPv8otjrXxVbgwEza2JmDWPfz+pY8LcluixnymLf9y1EF/TpZWZdUt1X4S8ioXH3he4+aAdP3Q9UAqaa2bRYG+Ap4HIzG0/0lM/Wo/fuwBQzmwycQ3QtW4jOZ/8+8AmwZBel7Gy8fwA1Y6d7bgO+2s334+7+F99m6nl3/xB4FfjCzL4l+llHLWAEUDH2+vcTXaI1JbEfVM8RncZ6MfAL4Fkz2/Y3nB3vn/itQkREsoWO/EVEspDCX0QkCyn8RUSykMJfRCQLKfxFRLKQwl9EJAsp/EVEstD/A4nUkQq2vUm1AAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.plot(y_left, mus)\n",
"plt.plot(y_right, mus)\n",
"plt.xlabel('Measured Mean x', horizontalalignment='right', x = 1)\n",
"plt.ylabel(r'Mean $\\mu$', horizontalalignment='right', y = 1)\n",
"plt.xlim([-4,6])\n",
"plt.ylim([0,8])\n",
"\n",
"plt.savefig('test2.pdf')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 89,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 1000/1000 [00:05<00:00, 169.75it/s]\n",
"100%|██████████| 1000/1000 [00:05<00:00, 168.00it/s]\n",
"100%|██████████| 1000/1000 [00:05<00:00, 167.21it/s]\n",
"100%|██████████| 1000/1000 [00:06<00:00, 151.26it/s]\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"n = 1000\n",
"mus = np.linspace(0,8,n)\n",
"y_left = np.empty(n)\n",
"y_right = np.empty(n)\n",
"\n",
"for i,mu in enumerate(tqdm(mus)):\n",
" y_left[i], y_right[i] = get_interval(mu = mu, n_pts = 10000, method = 'fast', mu_bounds = [None, None], precision = .002, max_loops = 50)\n",
" \n",
"plt.plot(y_left, mus, label = '90% CL, no boundaries')\n",
"plt.plot(y_right, mus, color = 'C0')\n",
"\n",
"\n",
"\n",
"\n",
"y_left = np.empty(n)\n",
"y_right = np.empty(n)\n",
"\n",
"for i,mu in enumerate(tqdm(mus)):\n",
" y_left[i], y_right[i] = get_interval(mu = mu, n_pts = 10000, method = 'fast', precision = .002, max_loops = 50)\n",
" \n",
"plt.plot(y_left, mus, color = 'C1', label = r'90% CL, $\\mu$ > 0')\n",
"plt.plot(y_right, mus, color = 'C1')\n",
"\n",
"\n",
"\n",
"\n",
"mus = np.linspace(0,2.99,n)\n",
"y_left = np.empty(n)\n",
"y_right = np.empty(n)\n",
"\n",
"for i,mu in enumerate(tqdm(mus)):\n",
" y_left[i], y_right[i] = get_interval(mu = mu, n_pts = 10000, method = 'fast', mu_bounds = [0,3], precision = .002, max_loops = 50)\n",
" \n",
"plt.plot(y_left, mus, color = 'C2', label = r'90% CL, $\\mu\\in$[0, 3]')\n",
"plt.plot(y_right, mus, color = 'C2')\n",
"\n",
"\n",
"\n",
"\n",
"mus = np.linspace(0,8,n)\n",
"y_left = np.empty(n)\n",
"y_right = np.empty(n)\n",
"\n",
"for i,mu in enumerate(tqdm(mus)):\n",
" y_left[i], y_right[i] = get_interval(mu = mu, n_pts = 10000, method = 'fast', alpha = .68, precision = .004, max_loops = 50)\n",
" \n",
"plt.plot(y_left, mus, color = 'C3', label = r'68% CL, $\\mu$ > 0')\n",
"plt.plot(y_right, mus, color = 'C3')\n",
"\n",
"\n",
"\n",
"\n",
"plt.xlabel('Measured Mean x', horizontalalignment='right', x = 1)\n",
"plt.ylabel(r'Mean $\\mu$', horizontalalignment='right', y = 1)\n",
"plt.xlim([-4,6])\n",
"plt.ylim([0,8])\n",
"plt.legend()\n",
"\n",
"plt.savefig('test3.pdf')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 90,
"metadata": {},
"outputs": [],
"source": [
"def one_minus_CL(x0, mu = .5, n_pts = 100, mu_bounds = [0,None]):\n",
" x_toys = np.random.normal(loc = mu, size = n_pts)\n",
" \n",
" mod_x_toys = x_toys\n",
" \n",
" if mu_bounds[0] is not None:\n",
" mod_x_toys = np.maximum(mod_x_toys, np.ones(n_pts)*mu_bounds[0])\n",
" if mu_bounds[1] is not None:\n",
" mod_x_toys = np.minimum(mod_x_toys, np.ones(n_pts)*mu_bounds[1])\n",
" \n",
" ys = llh(mod_x_toys, x_toys, np.ones(n_pts)*mu)\n",
" y_data = llh(x0, x0, mu)\n",
" \n",
" numerator = len(ys[(ys - y_data) > 0])\n",
" denominator = len(ys)\n",
" \n",
" return numerator/denominator"
]
},
{
"cell_type": "code",
"execution_count": 91,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 1000/1000 [00:03<00:00, 263.30it/s]\n",
"100%|██████████| 1000/1000 [00:03<00:00, 257.58it/s]\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"x0 = 1.4\n",
"mus = np.linspace(-2,4,1000)\n",
"omCL = np.zeros_like(mus)\n",
"\n",
"for i,mu in enumerate(tqdm(mus)):\n",
" omCL[i] = one_minus_CL(x0, mu = mu, n_pts = 10000, mu_bounds = [None, None])\n",
" \n",
"plt.plot(mus, omCL)\n",
"\n",
"mus = np.linspace(0,4,1000)\n",
"omCL = np.zeros_like(mus)\n",
"\n",
"for i,mu in enumerate(tqdm(mus)):\n",
" omCL[i] = one_minus_CL(x0, mu = mu, n_pts = 10000)\n",
" \n",
"plt.plot(mus, omCL)\n",
"plt.xlim([-2,4])\n",
"plt.ylim([0,1])\n",
"plt.ylabel('1-CL', horizontalalignment='right', y = 1)\n",
"plt.xlabel(r'Mean $\\mu$', horizontalalignment='right', x = 1)\n",
"plt.axhline(.1, linestyle = '--')\n",
"plt.axhline(.32, linestyle = '--')\n",
"\n",
"plt.savefig('test4.pdf')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 92,
"metadata": {},
"outputs": [],
"source": [
"def one_minus_CL_2D(x0 = [-.2, .2], \n",
" mu = [-.2, .2], \n",
" n_pts = 100, \n",
" mu_bounds = [0,None,0,None], \n",
" cov = 1):\n",
" x_toys = scipy.stats.multivariate_normal.rvs(mean = mu, cov = cov, size = n_pts**2)\n",
" \n",
" mod_x_toys = x_toys.copy()\n",
" \n",
" for i, bound in enumerate(mu_bounds):\n",
" if bound is not None and not i%2:\n",
" mod_x_toys[:,i//2] = np.maximum(mod_x_toys[:,i//2], np.ones(n_pts**2)*bound)\n",
" elif bound is not None:\n",
" mod_x_toys[:,i//2] = np.minimum(mod_x_toys[:,i//2], np.ones(n_pts**2)*bound)\n",
" \n",
" ys = np.empty(shape = (n_pts**2,2))\n",
" \n",
" ys = llh_2D(mod_x_toys, x_toys, np.tile(mu, (n_pts**2,1)), cov = cov)\n",
" y_data = llh_2D(x0, x0, mu, cov = cov)\n",
" \n",
" numerator = np.sum(ys > y_data)\n",
" denominator = len(ys)\n",
" \n",
" return numerator/denominator\n",
"\n",
"def llh_2D(mu_best, x, mu, cov = 1):\n",
" numerator = mvn_logpdf(x, mu, cov)\n",
" denominator = mvn_logpdf(x, mu_best, cov)\n",
" \n",
" return -2*(numerator-denominator)\n",
"\n",
"from numpy.linalg import det, inv\n",
"def mvn_logpdf(sample, mu, cov):\n",
" sample = np.array(sample)\n",
" mu = np.array(mu)\n",
" if len(sample.shape)==1:\n",
" sample = sample[np.newaxis, :]\n",
" if len(mu.shape)==1:\n",
" mu = mu[np.newaxis, :]\n",
" detcov, invcov = det(cov), inv(cov)\n",
" norm = -0.5*np.log((2*np.pi)**2 * detcov)\n",
" dx = sample-mu\n",
" y = np.einsum('ik,jk->ij', dx, invcov)\n",
" z = np.einsum('ik,ik->i', y, dx)\n",
" exponent = -0.5 * z\n",
" return (norm + exponent).flatten()"
]
},
{
"cell_type": "code",
"execution_count": 93,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[0.16 0.168]\n",
" [0.168 0.36 ]]\n",
"processing first batch...done in 14.27 seconds\n",
"processing second batch...done in 15.31 seconds\n"
]
}
],
"source": [
"import multiprocessing\n",
"import time\n",
"\n",
"parallel = 16 # number of workers\n",
"n = 4*parallel # resolution of plot\n",
"n_pts = 300 # accuracy of plot points\n",
"timeout = 1000\n",
"x0 = [-.2,.2]\n",
"x_mus = np.linspace(-1,1,n)\n",
"y_mus = np.linspace(-1,1,n)\n",
"omCL1 = np.zeros(shape = (n,n))\n",
"omCL2 = np.zeros(shape = (n,n))\n",
"outputs = []\n",
"\n",
"s1 = .4\n",
"s2 = .6\n",
"p = .7\n",
"cov = np.array([[s1**2, s1*s2*p],[s1*s2*p, s2**2]])\n",
"print(cov)\n",
"\n",
"print('processing first batch...', end = '')\n",
"start = time.perf_counter()\n",
"with multiprocessing.Pool(parallel) as p:\n",
" for i,xmu in enumerate(x_mus):\n",
" outputs.append([])\n",
" for ymu in y_mus:\n",
" outputs[i].append(p.apply_async(one_minus_CL_2D, \n",
" kwds = {'x0':x0, 'mu':[xmu, ymu], 'n_pts':n_pts, 'mu_bounds':[None, None, None, None], 'cov':cov})) \n",
" omCL1 = [[output.get(timeout = timeout) for output in outputs[i]] for i in range(len(outputs))]\n",
"print(f'done in {time.perf_counter() - start:.2f} seconds')\n",
"\n",
" \n",
"print('processing second batch...', end = '')\n",
"start = time.perf_counter()\n",
"with multiprocessing.Pool(parallel) as p:\n",
" for i,xmu in enumerate(x_mus):\n",
" for j,ymu in enumerate(y_mus):\n",
" outputs[i][j] = p.apply_async(one_minus_CL_2D, \n",
" kwds = {'x0':x0, 'mu':[xmu, ymu], 'n_pts':n_pts, 'mu_bounds':[-1, 1, -1, 1], 'cov':cov}) \n",
" omCL2 = [[output.get(timeout = timeout) for output in outputs[i]] for i in range(len(outputs))]\n",
"print(f'done in {time.perf_counter() - start:.2f} seconds')"
]
},
{
"cell_type": "code",
"execution_count": 94,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"x, y = np.meshgrid(x_mus, y_mus, indexing = 'ij')\n",
"plt.scatter(*x0, marker = '*', color = 'k')\n",
"\n",
"cs = plt.contour(x, y, omCL1, levels = [1-.954, 1-.9, 1-.683, 1-.393])\n",
"\n",
"labels = [r'95.4% CL (2$\\sigma$)', '90% CL','68.3% CL (1$\\sigma$)','39.3% CL']\n",
"for i in range(len(labels)):\n",
" cs.collections[i].set_label(labels[i])\n",
" cs.collections[i].set_color(f'C{i}')\n",
"\n",
"cs = plt.contour(x, y, omCL2, levels = [1-.954, 1-.9, 1-.683, 1-.393], linestyles = 'dashed')\n",
"\n",
"for i in range(len(labels)):\n",
" cs.collections[i].set_color(f'C{i}')\n",
"\n",
"plt.legend(loc = 'lower right')\n",
"plt.ylabel(r'Mean $\\mu_2$', horizontalalignment='right', y = 1)\n",
"plt.xlabel(r'Mean $\\mu_1$', horizontalalignment='right', x = 1)\n",
"plt.xticks(np.linspace(-1,1,11))\n",
"plt.yticks(np.linspace(-1,1,11))\n",
"plt.axvline(x0[0] + s1, linestyle = 'dotted', color = 'grey')\n",
"plt.axvline(x0[0] - s1, linestyle = 'dotted', color = 'grey')\n",
"plt.axhline(x0[1] + s2, linestyle = 'dotted', color = 'grey')\n",
"plt.axhline(x0[1] - s2, linestyle = 'dotted', color = 'grey')\n",
"\n",
"plt.savefig('test5.pdf')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"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.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment