diff --git a/docs/examples/notebooks/learn/AsympClipped_InclusivePVal.ipynb b/docs/examples/notebooks/learn/AsympClipped_InclusivePVal.ipynb new file mode 100644 index 0000000000..400ef9520d --- /dev/null +++ b/docs/examples/notebooks/learn/AsympClipped_InclusivePVal.ipynb @@ -0,0 +1,136 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "%load_ext autoreload\n", + "%autoreload 2\n", + "import pyhf\n", + "import numpy as np\n", + "from pyhf.contrib.viz.brazil import plot_results\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING:absl:No GPU/TPU found, falling back to CPU. (Set TF_CPP_MIN_LOG_LEVEL=0 and rerun for more info.)\n" + ] + } + ], + "source": [ + "m = pyhf.simplemodels.hepdata_like([7.],[50.],[7.])\n", + "d = m.expected_data([0.0,1.0])" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + " \r" + ] + } + ], + "source": [ + "mutests = np.linspace(0,5,11)\n", + "results = [pyhf.infer.hypotest(v,d,m,return_expected_set=True,\n", + " clip = True,\n", + " inclusive_pvalue = False,\n", + " calctype='asymptotics'\n", + " ) for v in mutests] \n", + "toyresults = [pyhf.infer.hypotest(v,d,m,return_expected_set=True,\n", + " inclusive_pvalue = False\n", + " calctype='toybased',\n", + " ) for v in mutests] " + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "f,ax = plt.subplots()\n", + "plot_results(ax,mutests,toyresults, alpha = 0.1, colors = ['blue','red'])\n", + "plt.show()\n", + "f,ax = plt.subplots()\n", + "plot_results(ax,mutests,results, alpha = 0.2)\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3.6.6 64-bit ('pyhfdevenv': virtualenv)", + "language": "python", + "name": "python36664bitpyhfdevenvvirtualenva88b87312bc4460ea31ed55ec8de5ec6" + }, + "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.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/src/pyhf/contrib/viz/brazil.py b/src/pyhf/contrib/viz/brazil.py index cda1cd93cb..ec688a1321 100644 --- a/src/pyhf/contrib/viz/brazil.py +++ b/src/pyhf/contrib/viz/brazil.py @@ -2,7 +2,9 @@ import numpy as np -def plot_results(ax, mutests, tests, test_size=0.05): +def plot_results( + ax, mutests, tests, test_size=0.05, alpha=1.0, colors=['yellow', 'green'] +): """Plot a series of hypothesis tests for various POI values.""" cls_obs = np.array([test[0] for test in tests]).flatten() cls_exp = [np.array([test[1][i] for test in tests]).flatten() for i in range(5)] @@ -11,7 +13,7 @@ def plot_results(ax, mutests, tests, test_size=0.05): ax.plot( mutests, cls_exp[idx], c=color, linestyle='dotted' if idx != 2 else 'dashed' ) - ax.fill_between(mutests, cls_exp[0], cls_exp[-1], facecolor='yellow') - ax.fill_between(mutests, cls_exp[1], cls_exp[-2], facecolor='green') + ax.fill_between(mutests, cls_exp[0], cls_exp[-1], facecolor=colors[0], alpha=alpha) + ax.fill_between(mutests, cls_exp[1], cls_exp[-2], facecolor=colors[1], alpha=alpha) ax.plot(mutests, [test_size] * len(mutests), c='red') ax.set_ylim(0, 1) diff --git a/src/pyhf/infer/calculators.py b/src/pyhf/infer/calculators.py index 73f692baa8..3bdc59c9bf 100644 --- a/src/pyhf/infer/calculators.py +++ b/src/pyhf/infer/calculators.py @@ -62,7 +62,7 @@ class AsymptoticTestStatDistribution(object): the :math:`-\mu'`, where :math:`\mu'` is the true poi value of the hypothesis. """ - def __init__(self, shift): + def __init__(self, shift, sqrtqmuA_v, inclusive_pvalue=True, clip=False): """ Asymptotic test statistic distribution. @@ -74,7 +74,9 @@ def __init__(self, shift): """ self.shift = shift - self.sqrtqmuA_v = None + self.sqrtqmuA_v = sqrtqmuA_v + self.clip = clip + self.inclusive_pvalue = inclusive_pvalue def cdf(self, value): """ @@ -96,7 +98,9 @@ def cdf(self, value): """ tensorlib, _ = get_backend() - return tensorlib.normal_cdf((value - self.shift)) + #TODO clip herrer too + v = value - self.shift + return tensorlib.normal_cdf(v) def pvalue(self, value): r""" @@ -125,7 +129,12 @@ def pvalue(self, value): """ tensorlib, _ = get_backend() # computing cdf(-x) instead of 1-cdf(x) for right-tail p-value for improved numerical stability - return tensorlib.normal_cdf(-(value - self.shift)) + + if self.clip: + clipped_value = -10000 if self.inclusive_pvalue else -self.sqrtqmuA_v + value = clipped_value if value < -self.sqrtqmuA_v else value + pval = tensorlib.normal_cdf(-(value - self.shift)) + return pval def expected_value(self, nsigma): """ @@ -160,6 +169,8 @@ def __init__( par_bounds=None, fixed_params=None, qtilde=True, + inclusive_pvalue=True, + clip=False, ): """ Asymptotic Calculator. @@ -190,6 +201,8 @@ def __init__( self.qtilde = qtilde self.sqrtqmuA_v = None + self.inclusive_pvalue = inclusive_pvalue + self.clip = clip def distributions(self, poi_test): """ @@ -222,8 +235,12 @@ def distributions(self, poi_test): """ if self.sqrtqmuA_v is None: raise RuntimeError('need to call .teststatistic(poi_test) first') - sb_dist = AsymptoticTestStatDistribution(-self.sqrtqmuA_v) - b_dist = AsymptoticTestStatDistribution(0.0) + sb_dist = AsymptoticTestStatDistribution( + -self.sqrtqmuA_v, self.sqrtqmuA_v, self.inclusive_pvalue, self.clip + ) + b_dist = AsymptoticTestStatDistribution( + 0.0, self.sqrtqmuA_v, self.inclusive_pvalue, self.clip + ) return sb_dist, b_dist def teststatistic(self, poi_test): @@ -313,7 +330,7 @@ class EmpiricalDistribution(object): :math:`p`-values etc are computed from the sampled distribution. """ - def __init__(self, samples): + def __init__(self, samples, inclusive_pvalue=True): """ Empirical distribution. @@ -326,6 +343,7 @@ def __init__(self, samples): """ tensorlib, _ = get_backend() self.samples = tensorlib.ravel(samples) + self.inclusive_pvalue = inclusive_pvalue def pvalue(self, value): """ @@ -374,9 +392,9 @@ def pvalue(self, value): """ tensorlib, _ = get_backend() + arg = self.samples >= value if self.inclusive_pvalue else self.samples > value return ( - tensorlib.sum(tensorlib.where(self.samples >= value, 1, 0)) - / tensorlib.shape(self.samples)[0] + tensorlib.sum(tensorlib.where(arg, 1, 0)) / tensorlib.shape(self.samples)[0] ) def expected_value(self, nsigma): @@ -454,6 +472,7 @@ def __init__( qtilde=True, ntoys=2000, track_progress=True, + inclusive_pvalue=False, ): """ Toy-based Calculator. @@ -480,6 +499,7 @@ def __init__( self.fixed_params = fixed_params or pdf.config.suggested_fixed() self.qtilde = qtilde self.track_progress = track_progress + self.inclusive_pvalue = inclusive_pvalue def distributions(self, poi_test, track_progress=None): """ @@ -562,8 +582,12 @@ def distributions(self, poi_test, track_progress=None): ) ) - s_plus_b = EmpiricalDistribution(tensorlib.astensor(signal_teststat)) - b_only = EmpiricalDistribution(tensorlib.astensor(bkg_teststat)) + s_plus_b = EmpiricalDistribution( + tensorlib.astensor(signal_teststat), self.inclusive_pvalue + ) + b_only = EmpiricalDistribution( + tensorlib.astensor(bkg_teststat), self.inclusive_pvalue + ) return s_plus_b, b_only def teststatistic(self, poi_test):