Skip to content

Instantly share code, notes, and snippets.

@sujitpal
Last active March 22, 2024 19:17
Show Gist options
  • Save sujitpal/3185f959d9ad32ba169de4725d9b6d83 to your computer and use it in GitHub Desktop.
Save sujitpal/3185f959d9ad32ba169de4725d9b6d83 to your computer and use it in GitHub Desktop.
Understanding Prediction Powered Inference (PPI) used in ARES
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Understanding Prediction Powered Inference in ARES\n",
"\n",
"This notebook is to gain some intuitive understanding of the Predictive Powered Inference (PPI) approach to calibrate LLM powered judges against smaller set of human judgements, as described in the [ARES: An Automated Evaluation Framework for Retrieval Augmented Generation Systems](https://arxiv.org/abs/2311.09476).\n",
"\n",
"ARES works as follows:\n",
"* start with small set of binary gold judgments (150 or so) for some pre-defined task\n",
"* Train an LLM using Few Shot Learning (FSL) using a subset of the gold data\n",
"* Use the LLM (trained with FSL above) to generate a large number of judgments on an unlabeled set of input\n",
"* Calibrate the predictions of the LLM judge against the original gold set by computing the 95% confidence interval of the LLM judge\n",
"\n",
"### References:\n",
"\n",
"* https://www.statisticshowto.com/uncertainty-in-statistics/\n",
"* https://docs.scipy.org/doc/scipy-0.13.0/reference/generated/scipy.stats.binom.html\n",
"* https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.binomtest.html"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"\n",
"from scipy.stats import binom, binomtest, norm"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Generating the gold dataset\n",
"\n",
"We will start with a gold dataset which contains a uniform distribution of binary labels 1 and 0. In order to keep the analysis reproducible, we will generate them statically using a rule based manner."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"# number of labels in gold set\n",
"n = 200\n",
"# proportion of positive labels in gold set\n",
"gold_p = 0.5\n",
"# proportion of labels to perturb for LLM (-1 to +1)\n",
"perturb = 0.2\n",
"# number of unlabeled predictions from LLM\n",
"N = 1000"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"gold p 0.5\n"
]
}
],
"source": [
"# create a gold set out of positive and negative instances\n",
"gold_np = int(n * gold_p)\n",
"gold_labels = np.concatenate([\n",
" np.ones(gold_np),\n",
" np.zeros(n - gold_np)\n",
"])\n",
"np.random.shuffle(gold_labels)\n",
"\n",
"print(\"gold p\", np.sum(gold_labels) / n)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Generating \"labeled\" predictions from LLM\n",
"\n",
"We specify using `perturb` how different we want our LLM judge's predictions to be from the human labels in the goldset. We make the LLM more lenient or strict respectively if `perturb` is > 0 or < 0 respectively."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"pred labeled p: 0.615\n"
]
}
],
"source": [
"def generate_llm_predictions(gold_labels, perturb):\n",
" num_to_perturb = int(n * perturb)\n",
" if num_to_perturb < 0:\n",
" perturb_indices = np.random.choice(n, -num_to_perturb, replace=False)\n",
" else:\n",
" perturb_indices = np.random.choice(n, num_to_perturb, replace=False)\n",
" pred_labels = gold_labels.copy()\n",
" for idx in perturb_indices:\n",
" if num_to_perturb < 0:\n",
" pred_labels[idx] = 0 if pred_labels[idx] == 1 else 0\n",
" else:\n",
" pred_labels[idx] = 1 if pred_labels[idx] == 0 else 1\n",
" return pred_labels\n",
"\n",
"pred_labels = generate_llm_predictions(gold_labels, perturb)\n",
"pred_p = np.sum(pred_labels) / n\n",
"print(\"pred labeled p:\", pred_p)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Generate unlabeled predictions from LLM\n",
"\n",
"We use the LLM predictions to fit a binomial distribution, then use the binomial distribution to generate a much larger set of unlabeled predictions."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"pred unlabeled p: 0.602\n"
]
}
],
"source": [
"def generate_unlabeled(N: int, pred_p: float):\n",
" num_ones = binom.rvs(N, pred_p, size=1)[0]\n",
" labels = np.concatenate([\n",
" np.ones(num_ones),\n",
" np.zeros(N - num_ones)\n",
" ])\n",
" np.random.shuffle(labels)\n",
" return labels\n",
"\n",
"pred_unlabel = generate_unlabeled(N, pred_p)\n",
"pred_up = np.sum(pred_unlabel) / N\n",
"print(\"pred unlabeled p:\", pred_up)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Visualize the distributions\n",
"\n",
"We plot the distribution of [0, 1] of labels generated by these different mechanisms to make sure visually that they are approximately what we expect."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"def plot_distribs(labels):\n",
" len_labels = len(labels)\n",
" num_ones = np.count_nonzero(labels)\n",
" num_zeros = len_labels - num_ones\n",
" return np.array([num_zeros, num_ones])\n",
"\n",
"collections = [gold_labels, pred_labels, pred_unlabel]\n",
"collection_labels = [\"gold\", \"LLM (gold)\", \"LLM (other)\"]\n",
"xs = np.arange(2)\n",
"width = 0.2\n",
"for i, (name, coll) in enumerate(zip(collection_labels, collections)):\n",
" if name == \"LLM (other)\":\n",
" ys = plot_distribs(coll) * n / N\n",
" else:\n",
" ys = plot_distribs(coll)\n",
" plt.bar(xs + (i * width), ys, width, label=name)\n",
"\n",
"plt.xticks(xs + width, [\"0\", \"1\"])\n",
"plt.legend(loc=\"best\")\n",
"_ = plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Fitting these to a binomial distribution shows the following. Here we generate 1000 binomial distributions with the generation probabilities of the human judges (gold set) and the LLM against the gold set and the raw data. The size of all three distributions is capped at `n`."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"200 0.5\n",
"200 0.615\n",
"200 0.602\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAigAAAGfCAYAAAB1KinVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAxcUlEQVR4nO3df3zN9f//8fvZTz931rBfGiZhIvam2Jt36WMZFSn94C2RpQhvrKS93/mR6uOTpFLD+/2uUBcqLp9IKr7IrzS/pl3kR0saWxiFbYzN2Ov7Rx/n3WljO3POznPcrpfL63Jxns/n6/V6vF47l86953m9XsdmWZYlAAAAg/h4uwAAAIA/IqAAAADjEFAAAIBxCCgAAMA4BBQAAGAcAgoAADAOAQUAABiHgAIAAIxDQAEAAMYhoAAAAOP4uTJ49uzZmj17tg4cOCBJuummmzRx4kT17NlTklRYWKinn35aH330kYqKipSQkKBZs2YpLCzMsY2srCwNHz5ca9euVZ06dTRo0CBNnTpVfn4VL6WkpESHDx9W3bp1ZbPZXDkEAADgJZZl6dSpU4qMjJSPTzlzJJYLli1bZn3++efWDz/8YGVkZFh///vfLX9/f2vXrl2WZVnWsGHDrKioKGvNmjXW9u3brU6dOll//vOfHeufP3/eat26tRUfH299++231hdffGHVr1/fSk5OdqUMKzs725LEwsLCwsLCUg2X7Ozscj/rbZZ1ZT8WGBISoldffVUPPPCAGjRooIULF+qBBx6QJH3//feKiYlRamqqOnXqpC+//FL33HOPDh8+7JhVmTNnjsaPH69ffvlFAQEBFdpnXl6egoODlZ2draCgoCspHwAAVJH8/HxFRUUpNzdXdrv9smNd+orn9y5cuKDFixeroKBAcXFxSktLU3FxseLj4x1jWrZsqUaNGjkCSmpqqtq0aeP0lU9CQoKGDx+u3bt3KzY2tsx9FRUVqaioyPH61KlTkqSgoCACCgAA1UxFLs9w+SLZ7777TnXq1FFgYKCGDRumJUuWqFWrVsrJyVFAQICCg4OdxoeFhSknJ0eSlJOT4xROLvZf7LuUqVOnym63O5aoqChXywYAANWIywGlRYsWSk9P15YtWzR8+HANGjRIe/bs8URtDsnJycrLy3Ms2dnZHt0fAADwLpe/4gkICFCzZs0kSe3bt9e2bdv05ptv6uGHH9a5c+eUm5vrNIty9OhRhYeHS5LCw8O1detWp+0dPXrU0XcpgYGBCgwMdLVUAABQTVX6GpSLSkpKVFRUpPbt28vf319r1qxR3759JUkZGRnKyspSXFycJCkuLk4vv/yyjh07ptDQUEnSqlWrFBQUpFatWl1pKQAAA1iWpfPnz+vChQveLgVVzNfXV35+fm55BIhLASU5OVk9e/ZUo0aNdOrUKS1cuFDr1q3TypUrZbfblZiYqKSkJIWEhCgoKEijRo1SXFycOnXqJEnq3r27WrVqpYEDB2ratGnKycnR888/rxEjRjBDAgBXgXPnzunIkSM6c+aMt0uBl9SqVUsREREVvjP3UlwKKMeOHdOjjz6qI0eOyG636+abb9bKlSt15513SpJef/11+fj4qG/fvk4ParvI19dXy5cv1/DhwxUXF6fatWtr0KBBmjJlyhUdBADA+0pKSpSZmSlfX19FRkYqICCAh2leQyzL0rlz5/TLL78oMzNTN954Y/kPY7uMK34Oijfk5+fLbrcrLy+P24wBwBCFhYXKzMxU48aNVatWLW+XAy85c+aMDh48qOjoaNWoUcOpz5XPb36LBwDgVlfyf82o/tz19+ddBAAAjENAAQAAxrni24wBACjP66t+qNL9jb2zeZXuT5LmzZunMWPGKDc395JjJk+erKVLlyo9Pb3K6qqumEEBAADGIaAAAADjEFAAAJB06tQpDRgwQLVr11ZERIRef/11de3aVWPGjJEknTx5Uo8++qiuu+461apVSz179tS+ffsuu83/+Z//UVhYmOrWravExEQVFhZWwZFcHbgGBYB51k71dgWuuyPZ2xXgCiUlJWnTpk1atmyZwsLCNHHiRO3YsUPt2rWTJA0ePFj79u3TsmXLFBQUpPHjx+uuu+7Snj175O/vX2p7ixYt0uTJk5WSkqIuXbrogw8+0MyZM9W0adMqPrLqiYACALjmnTp1SvPnz9fChQvVrVs3SdLcuXMVGRkpSY5gsmnTJv35z3+WJC1YsEBRUVFaunSpHnzwwVLbfOONN5SYmKjExERJ0ksvvaTVq1czi1JBfMUDALjm/fTTTyouLtatt97qaLPb7WrRooUkae/evfLz81PHjh0d/fXq1VOLFi20d+/eMre5d+9ep/GSHD+ei/IRUAAAgHEIKACAa17Tpk3l7++vbdu2Odry8vL0ww+/Pb8lJiZG58+f15YtWxz9x48fV0ZGhlq1alXmNmNiYpzGS9LmzZs9UP3ViWtQAADXvLp162rQoEEaN26cQkJCFBoaqkmTJsnHx0c2m0033nij7r33Xg0dOlT//Oc/VbduXT333HNq2LCh7r333jK3OXr0aA0ePFgdOnRQ586dtWDBAu3evZuLZCuIgAIA8DhvPNnVVTNmzNCwYcN0zz33KCgoSM8++6yys7Mdv8g7d+5cjR49Wvfcc4/OnTun2267TV988UWZd/BI0sMPP6z9+/fr2WefVWFhofr27avhw4dr5cqVVXlY1ZbNsizL20W4ypWfawZQDXGbcbVUWFiozMxMRUdHOz7Uq7OCggI1bNhQr732muNOHJTvcu8DVz6/mUEBAEDSt99+q++//1633nqr8vLyNGXKFEm65Fc48CwCCgAA/2f69OnKyMhQQECA2rdvr40bN6p+/freLuuaREABAEBSbGys0tLSvF0G/g+3GQMAAOMQUAAAgHEIKAAAwDgEFAAAYBwCCgAAMA4BBQAAGIfbjAEAnlfVTweuhk/2zcjI0O233659+/apbt26btuuzWbTkiVL1KdPnzL7Dxw4oOjoaH377bdq166d9uzZo+7duysjI0O1a9d2Wx2uYgYFAHDNGzx48CU/wCWpSZMmeuONN8rsO3DggGw2m3x9fXXo0CGnviNHjsjPz082m00HDhy4bA3JyckaNWqUW8NJZbRq1UqdOnXSjBkzvFoHAQUAADdo2LCh3n//fae2+fPnq2HDhuWum5WVpeXLl2vw4MEeqs41jz32mGbPnq3z5897rQYCCgAAbjBo0CDNnTvXqW3u3LkaNGhQuesuWrRIbdu2LRVm/v3vfysqKkq1atXSfffdpxkzZig4ONhpzOzZs3XDDTcoICBALVq00AcffHDZfW3dulWxsbGqUaOGOnTooG+//bbUmDvvvFMnTpzQ+vXry63dUwgoAAC4Qe/evXXy5El9/fXXkqSvv/5aJ0+eVK9evcpdd+PGjerQoYNT26ZNmzRs2DCNHj1a6enpuvPOO/Xyyy87jVmyZIlGjx6tp59+Wrt27dKTTz6pxx57TGvXri1zP6dPn9Y999yjVq1aKS0tTZMnT9YzzzxTalxAQIDatWunjRs3VvTw3Y6LZAEAcAN/f3898sgjeu+999SlSxe99957euSRR+Tv71/uugcPHiwVUN566y317NnTESCaN2+ub775RsuXL3eMmT59ugYPHqynnnpKkpSUlKTNmzdr+vTpuuOOO0rtZ+HChSopKdG7776rGjVq6KabbtLPP/+s4cOHlxobGRmpgwcPunQO3IkZFAAA3GTIkCFavHixcnJytHjxYg0ZMqRC6509e1Y1atRwasvIyNCtt97q1PbH13v37lXnzp2d2jp37qy9e/eWuZ+9e/fq5ptvdtpXXFxcmWNr1qypM2fOVKh+TyCgAADgJm3atFHLli3Vv39/xcTEqHXr1hVar379+jp58qSHq3PNiRMn1KBBA6/tn4ACAIAbDRkyROvWravw7IkkxcbGas+ePU5tLVq00LZt25za/vg6JiZGmzZtcmrbtGmTWrVqVeZ+YmJitHPnThUWFjraNm/eXObYXbt2KTY2tsLH4G5cgwIAgKS8vDylp6c7tdWrV09RUVGSpEOHDpXqb9y4cantDB06VA8++GCpu20uJyEhQY8//rguXLggX19fSdKoUaN02223acaMGerVq5e++uorffnll7LZbI71xo0bp4ceekixsbGKj4/XZ599pk8++USrV68ucz9//etf9Y9//ENDhw5VcnKyDhw4oOnTp5cad+DAAR06dEjx8fEVPgZ3I6AAADyvGjzZdd26daVmDBITE/XOO+9I+u2C1D9+mH/wwQfq0qWLU5ufn5/q16/v0r579uwpPz8/rV69WgkJCZJ+u5Zkzpw5euGFF/T8888rISFBY8eO1dtvv+1Yr0+fPnrzzTc1ffp0jR49WtHR0Zo7d666du1a5n7q1Kmjzz77TMOGDVNsbKxatWqlV155RX379nUa9+GHH6p79+5lBrCqYrMsy/La3ispPz9fdrtdeXl5CgoK8nY5ANytqh+L7g7V4APY0woLC5WZmano6OhSF3yifCkpKVq2bJlWrlx5yTFDhw7V999/79Hbf8+dO6cbb7xRCxcuLHUBbkVc7n3gyuc3MygAABjgySefVG5urk6dOuV43P306dN15513qnbt2vryyy81f/58zZo1y6N1ZGVl6e9//3ulwok7EVAAADCAn5+f/vGPfzi1bd26VdOmTdOpU6fUtGlTzZw5U48//rhH62jWrJmaNWvm0X1UBAEFAABDLVq0yNsleA23GQMAAOMQUAAAgHEIKAAAwDgEFAAAYBwCCgAAMA4BBQAAGIfbjAEAHjcr3bMPF/ujp9o9VaX7c4eMjAzdfvvt2rdvn+NBbZUxb948jRkzRrm5ue4r7v+sWLFCzz33nHbs2CEfH8/OcRBQAFw1ZuXu9N7OXfwAro4foFezwYMHKzc3V0uXLi2zv0mTJhozZozGjBlTqu/AgQOKjo6Wj4+PsrKy1LBhQ0ffkSNHFBUVpQsXLigzM1NNmjS5ZA3JyckaNWqUS+HkcnV5Qo8ePTRhwgQtWLBAAwcO9Oi++IoHAAA3aNiwod5//32ntvnz5zsFlkvJysrS8uXLNXjwYA9Vd+WKi4sl/RbmZs6c6fH9EVAAAHCDQYMGae7cuU5tc+fO1aBBg8pdd9GiRWrbtm2pMPO///u/uummmxQYGKgmTZrotddec/R17dpVBw8e1NixY2Wz2WSz2ZzWXblypWJiYlSnTh316NFDR44ccep/5513FBMToxo1aqhly5ZOv/Fz4MAB2Ww2ffzxx7r99ttVo0YNLViwQJLUq1cvbd++Xfv376/YiakkAgoAAG7Qu3dvnTx5Ul9//bUk6euvv9bJkyfVq1evctfduHGjOnTo4NSWlpamhx56SP369dN3332nyZMna8KECZo3b54k6ZNPPtH111+vKVOm6MiRI04B5MyZM5o+fbo++OADbdiwQVlZWXrmmWcc/QsWLNDEiRP18ssva+/evfrv//5vTZgwQfPnz3eq4bnnntPo0aO1d+9eJSQkSJIaNWqksLAwj/6isuRiQJk6dapuueUW1a1bV6GhoerTp48yMjKcxnTt2tWR5C4uw4YNcxqTlZWlu+++W7Vq1VJoaKjGjRun8+fPX/nRAADgJf7+/nrkkUf03nvvSZLee+89PfLII/L39y933YMHDyoyMtKpbcaMGerWrZsmTJig5s2ba/DgwRo5cqReffVVSVJISIh8fX1Vt25dhYeHKzw83LFucXGx5syZow4dOuhPf/qTRo4cqTVr1jj6J02apNdee03333+/oqOjdf/992vs2LH65z//6VTDmDFjHGMiIiIc7ZGRkTp48KDrJ8kFLgWU9evXa8SIEdq8ebNWrVql4uJide/eXQUFBU7jhg4d6khzR44c0bRp0xx9Fy5c0N13361z587pm2++0fz58zVv3jxNnDjRPUcEAICXDBkyRIsXL1ZOTo4WL16sIUOGVGi9s2fPqkaNGk5te/fuVefOnZ3aOnfurH379unChQuX3V6tWrV0ww03OF5HRETo2LFjkqSCggLt379fiYmJqlOnjmN56aWXSn1t88dZnYtq1qypM2fOVOjYKsulu3hWrFjh9HrevHkKDQ1VWlqabrvtNkd7rVq1nJLc7/2///f/tGfPHq1evVphYWFq166dXnzxRY0fP16TJ09WQEBAJQ4DAADva9OmjVq2bKn+/fsrJiZGrVu3Vnp6ernr1a9fXydPnnRbHX+ctbHZbLIsS5J0+vRpSdK///1vdezY0Wmcr6+v0+vatWuXuf0TJ06oQYMG7iq3TFd0DUpeXp6k36aZfm/BggWqX7++WrdureTkZKeUlZqaqjZt2igsLMzRlpCQoPz8fO3evbvM/RQVFSk/P99pAQDAREOGDNG6desqPHsiSbGxsdqzZ49TW0xMjDZt2uTUtmnTJjVv3twRJAICAsqdTfmjsLAwRUZG6qefflKzZs2clujo6HLXLyws1P79+xUbG+vSfl1V6eeglJSUaMyYMercubNat27taP/rX/+qxo0bKzIyUjt37tT48eOVkZGhTz75RJKUk5PjFE4kOV7n5OSUua+pU6fqhRdeqGypAACUKy8vr9RsR7169RQVFSVJOnToUKn+xo0bl9rO0KFD9eCDDyo4OLjC+05ISNDjjz+uCxcuOMLH008/rVtuuUUvvviiHn74YaWmpurtt992utumSZMm2rBhg/r166fAwEDVr1+/Qvt74YUX9Le//U12u109evRQUVGRtm/frpMnTyopKemy627evFmBgYGKi4ur8PFVRqUDyogRI7Rr1y7H1coXPfHEE45/t2nTRhEREerWrZv279/v9H2YK5KTk51OWH5+vuMNA6Aca6d6uwKgWjyYbt26daVmBRITE/XOO+9IkqZPn67p06c79X/wwQfq0qWLU5ufn1+Fg8JFPXv2lJ+fn1avXu24W+ZPf/qTFi1apIkTJ+rFF19URESEpkyZ4vSslClTpujJJ5/UDTfcoKKiIsfXOOV5/PHHVatWLb366qsaN26cateurTZt2lTogW8ffvihBgwYoFq1arl0jK6yWRU9mt8ZOXKkPv30U23YsKHc6aCCggLVqVNHK1asUEJCgiZOnKhly5Y5pdDMzEw1bdpUO3bsqNCUUX5+vux2u/Ly8hQUFORq+cC15RoKKF59kmz0X1wa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Jk2yJLGwsLCwsLBcBUt2dna5WcEr0e3XX3/VhQsXFBYW5tQeFham77//vtT45ORkJSUlOV6XlJToxIkTqlevnmw2m8fr/aP8/HxFRUUpOztbQUFBVb7/ax3n37s4/97F+fcuzv+VsSxLp06dUmRkZLljzZ1b+p3AwEAFBgY6tQUHB3unmN8JCgriDepFnH/v4vx7F+ffuzj/lWe32ys0zisXydavX1++vr46evSoU/vRo0cVHh7ujZIAAIBBvBJQAgIC1L59e61Zs8bRVlJSojVr1iguLs4bJQEAAIN47SuepKQkDRo0SB06dNCtt96qN954QwUFBY67ekwWGBioSZMmlfraCVWD8+9dnH/v4vx7F+e/6tgsqyL3+njG22+/rVdffVU5OTlq166dZs6cqY4dO3qrHAAAYAivBhQAAICy8Fs8AADAOAQUAABgHAIKAAAwDgEFAAAYh4DyOxs2bFCvXr0UGRkpm82mpUuXOvVblqWJEycqIiJCNWvWVHx8vPbt2+c05sSJExowYICCgoIUHBysxMREnT59ugqPonoq79x/8skn6t69u+PnDdLT00tto7CwUCNGjFC9evVUp04d9e3bt9TDAFG2y53/4uJijR8/Xm3atFHt2rUVGRmpRx99VIcPH3baBu/9yivv/T958mS1bNlStWvX1nXXXaf4+Hht2bLFaQznv/LKO/+/N2zYMNlsNr3xxhtO7Zx/9yOg/E5BQYHatm2rlJSUMvunTZummTNnas6cOdqyZYtq166thIQEFRb+59ePBwwYoN27d2vVqlVavny5NmzYoCeeeKKqDqHaKu/cFxQUqEuXLnrllVcuuY2xY8fqs88+0+LFi7V+/XodPnxY999/v6dKvqpc7vyfOXNGO3bs0IQJE7Rjxw598sknysjIUO/evZ3G8d6vvPLe/82bN9fbb7+t7777Tl9//bWaNGmi7t2765dffnGM4fxXXnnn/6IlS5Zo8+bNZf6ODOffA678t4mvTpKcfm25pKTECg8Pt1599VVHW25urhUYGGh9+OGHlmVZ1p49eyxJ1rZt2xxjvvzyS8tms1mHDh2qstqruz+e+9/LzMy0JFnffvutU3tubq7l7+9vLV682NG2d+9eS5KVmprqwWqvPpc7/xdt3brVkmQdPHjQsize++5UkfOfl5dnSbJWr15tWRbn350udf5//vlnq2HDhtauXbusxo0bW6+//rqjj/PvGcygVFBmZqZycnIUHx/vaLPb7erYsaNSU1MlSampqQoODlaHDh0cY+Lj4+Xj41NqOhbulZaWpuLiYqe/T8uWLdWoUSPH3wfuk5eXJ5vN5vjRTt77VefcuXP617/+JbvdrrZt20ri/HtaSUmJBg4cqHHjxummm24q1c/594xq8WvGJsjJyZEkhYWFObWHhYU5+nJychQaGurU7+fnp5CQEMcYeEZOTo4CAgJK/cr17/8+cI/CwkKNHz9e/fv3d/yaK+99z1u+fLn69eunM2fOKCIiQqtWrVL9+vUlcf497ZVXXpGfn5/+9re/ldnP+fcMZlAAVFhxcbEeeughWZal2bNne7uca8odd9yh9PR0ffPNN+rRo4ceeughHTt2zNtlXfXS0tL05ptvat68ebLZbN4u55pCQKmg8PBwSSp1V8jRo0cdfeHh4aX+g3H+/HmdOHHCMQaeER4ernPnzik3N9ep/fd/H1yZi+Hk4MGDWrVqlWP2ROK9XxVq166tZs2aqVOnTnr33Xfl5+end999VxLn35M2btyoY8eOqVGjRvLz85Ofn58OHjyop59+Wk2aNJHE+fcUAkoFRUdHKzw8XGvWrHG05efna8uWLYqLi5MkxcXFKTc3V2lpaY4xX331lUpKSvgRRA9r3769/P39nf4+GRkZysrKcvx9UHkXw8m+ffu0evVq1atXz6mf937VKykpUVFRkSTOvycNHDhQO3fuVHp6umOJjIzUuHHjtHLlSkmcf0/hGpTfOX36tH788UfH68zMTKWnpyskJESNGjXSmDFj9NJLL+nGG29UdHS0JkyYoMjISPXp00eSFBMTox49emjo0KGaM2eOiouLNXLkSPXr16/M29LwH+Wd+xMnTigrK8vx7I2MjAxJv/2fS3h4uOx2uxITE5WUlKSQkBAFBQVp1KhRiouLU6dOnbxyTNXJ5c5/RESEHnjgAe3YsUPLly/XhQsXHN+rh4SEKCAggPf+Fbrc+a9Xr55efvll9e7dWxEREfr111+VkpKiQ4cO6cEHH5TEf3uuVHn//fljIPf391d4eLhatGghifPvMd6+jcgka9eutSSVWgYNGmRZ1m+3Gk+YMMEKCwuzAgMDrW7dulkZGRlO2zh+/LjVv39/q06dOlZQUJD12GOPWadOnfLC0VQv5Z37uXPnltk/adIkxzbOnj1rPfXUU9Z1111n1apVy7rvvvusI0eOeOeAqpnLnf+Lt3aXtaxdu9axDd77lXe583/27FnrvvvusyIjI62AgAArIiLC6t27t7V161anbXD+K6+8//780R9vM7Yszr8n2CzLsjwbgQAAAFzDNSgAAMA4BBQAAGAcAgoAADAOAQUAABiHgAIAAIxDQAEAAMYhoAAAAOMQUAAAgHEIKAAAwDgEFAAAYBwCCgAAMM7/B2EiuoTDv6RrAAAAAElFTkSuQmCC",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"def plot_binomial(labels, n):\n",
" p = np.sum(labels) / len(labels)\n",
" print(n, p)\n",
" dist_rvs = binom.rvs(n, pred_p, size=1000)\n",
" return dist_rvs\n",
"\n",
"for i, (name, coll) in enumerate(zip(collection_labels, collections)):\n",
" rvs = plot_binomial(coll, n)\n",
" plt.hist(rvs, alpha=0.5, label=name)\n",
"\n",
"plt.legend(loc=\"best\")\n",
"_ = plt.show()\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Confidence Interval\n",
"\n",
"Intuitively, we gauge the quality of the predictions by comparing the human judgments against the LLM predictions on the goldset.\n",
"\n",
"The `binomtest` tests hypothesis about the probability of success across the reference distribution (gold set) and the candidate distribution (LLM predictions on goldset).\n",
"\n",
"* H0: no difference in probability of success between gold and predicted\n",
"* H1: difference in probability of success between gold and predicted\n",
"\n",
"H0 cannot be rejected if p-value > 0.05 (but this is not what we are looking for)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.0014016905787957862"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pred_ones = int(n * pred_p)\n",
"result = binomtest(pred_ones, n=n, p=gold_p, alternative=\"two-sided\")\n",
"result.pvalue"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Confidence interval of estimate: masures uncertainty of the measure `pred_p`. If experiment is repeated multiple times then 95% of the time it will return a value of `pred_p` within these bounds.\n"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.5459986722024608 0.6796669027307678\n"
]
}
],
"source": [
"conf_int = result.proportion_ci(confidence_level=0.95, method='wilson')\n",
"print(conf_int.low, conf_int.high)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### What is ARES doing?\n",
"\n",
"Code for PPI calculation in ARES are here:\n",
"\n",
"* Example Caller: https://github.com/stanford-futuredata/ARES/blob/main/ppi/ppi_testing.py\n",
"* Functions being called: https://github.com/stanford-futuredata/ARES/blob/main/ppi/ppi.py\n",
"\n",
"The caller returns three metrics:\n",
"\n",
"* PPI Confidence Interval -- `avg_ci` (pp_mean_iid_asymptomatic many trials)\n",
"* Classical Confidence Interval -- `avg_ci_classical` (binomial_iid many trials)\n",
"* Imputed Confidence Interval -- `ci_imputed` (binomial_iid over unlabeled)\n",
"\n",
"ARES uses all three label collections (unlike the previous, where we haven't considered the LLM predictions on the unlabeled data).\n",
"\n",
"#### Imputed CI\n",
"\n",
"The imputed estimate uses the average of the means of the predictions on the goldset and raw records, and finds the points where the CDF (shifted by expected number of values on left and right) touches the X-axis, this gives us the upper and lower bound of the combined distribution.\n"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([0.53867877, 0.67323501])"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from scipy.optimize import brentq\n",
"\n",
"def binomial_iid(N, alpha, muhat):\n",
" def invert_upper_tail(mu): return binom.cdf(N*muhat, N, mu) - (alpha/2)\n",
" def invert_lower_tail(mu): return binom.cdf(N*muhat, N, mu) - (1-alpha/2)\n",
" u = brentq(invert_upper_tail, 0, 1)\n",
" l = brentq(invert_lower_tail, 0, 1)\n",
" return np.array([l, u])\n",
"\n",
"pred_plu = (pred_p + pred_up) / 2\n",
"binomial_iid(n, 0.05, pred_plu)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Classic CI\n",
"\n",
"The classic CI is computed by running the `binomial_iid` function above multiple times with different sizes of permuted distributions (so each trial operates on a representative subset of data), then averaged across these runs.\n",
"\n",
"#### PPI CI\n",
"\n",
"Similar to the Class CI metric, this one uses multiple trials with different permuted subsets of the LLM generated labels on the larger raw dataset. Since this is a larger dataset, ARES uses `norm.pdf` to calculate the interval width, and scaled by the difference between distributions of the LLM predictions on the goldset and raw data, and the difference between the distributions between the goldset labels and LLM predictions on the goldset."
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[0.43337891715953736, 0.5406210828404626]"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def pp_mean_iid_asymptotic(Y_labeled, Yhat_labeled, Yhat_unlabeled, alpha):\n",
" n = Y_labeled.shape[0]\n",
" N = Yhat_unlabeled.shape[0]\n",
" tildethetaf = Yhat_unlabeled.mean()\n",
" rechat = (Yhat_labeled - Y_labeled).mean()\n",
" thetahatPP = tildethetaf - rechat\n",
" sigmaftilde = np.std(Yhat_unlabeled)\n",
" sigmarec = np.std(Yhat_labeled - Y_labeled)\n",
" hw = norm.ppf(1-alpha/2)*np.sqrt((sigmaftilde**2/N) + (sigmarec**2/n))\n",
" return [thetahatPP - hw, thetahatPP + hw]\n",
"\n",
"\n",
"pp_mean_iid_asymptotic(gold_labels, pred_labels, pred_unlabel, 0.05)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Effect of Perturbation on Confidence Interval\n",
"\n",
"I use the simple calculation of Binomial CI to track the change of confidence interval as the predictions of the LLM diverge more and more from the goldset (as dictated by settings of `perturb`)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"perturbations = np.arange(-0.5, 0.6, 0.1)\n",
"lbs, ubs = [], []\n",
"for perturb in perturbations:\n",
" pred_labels = generate_llm_predictions(gold_labels, perturb)\n",
" pred_ones = int(np.sum(pred_labels))\n",
" result = binomtest(pred_ones, n, gold_p, alternative=\"two-sided\")\n",
" conf_int = result.proportion_ci(confidence_level=0.95, method='wilson')\n",
" lbs.append(conf_int.low)\n",
" ubs.append(conf_int.high)\n",
"\n",
"def plot_confidence_intervals(perturbations, lbs, ubs):\n",
" diffs = [ub - lb for lb, ub in zip(lbs, ubs)]\n",
" plt.plot(perturbations, diffs, marker=\"o\")\n",
" plt.ylabel(\"CI Interval Width\")\n",
" plt.xlabel(\"perturbation from goldset\")\n",
" _ = plt.show()\n",
"\n",
"plot_confidence_intervals(perturbations, lbs, ubs)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### How does ARES metrics behave with perturbation?\n",
"\n",
"I ran the `ppi_tester.py` with my own main function as shown below. This produces a TSV file which I read in through Pandas and plot the metrics against perturbations.\n",
"\n",
"```python\n",
"from scipy.stats import binom\n",
"\n",
"n = 200\n",
"N = 1000\n",
"\n",
"def generate_llm_predictions(gold_labels, perturb):\n",
" num_to_perturb = int(n * perturb)\n",
" if num_to_perturb < 0:\n",
" perturb_indices = np.random.choice(n, -num_to_perturb, replace=False)\n",
" else:\n",
" perturb_indices = np.random.choice(n, num_to_perturb, replace=False)\n",
" pred_labels = gold_labels.copy()\n",
" for idx in perturb_indices:\n",
" if num_to_perturb < 0:\n",
" pred_labels[idx] = 0 if pred_labels[idx] == 1 else 0\n",
" else:\n",
" pred_labels[idx] = 1 if pred_labels[idx] == 0 else 1\n",
" return pred_labels\n",
"\n",
"def generate_unlabeled(N: int, pred_p: float):\n",
" num_ones = binom.rvs(N, pred_p, size=1)[0]\n",
" labels = np.concatenate([\n",
" np.ones(num_ones),\n",
" np.zeros(N - num_ones)\n",
" ])\n",
" np.random.shuffle(labels)\n",
" return labels\n",
"\n",
"def create_gold_labels(n, gold_p):\n",
" gold_np = int(n * gold_p)\n",
" gold_labels = np.concatenate([\n",
" np.ones(gold_np),\n",
" np.zeros(n - gold_np)\n",
" ])\n",
" np.random.shuffle(gold_labels)\n",
" return gold_labels\n",
"\n",
"gold_p = 0.5\n",
"gold_labels = create_gold_labels(n, gold_p)\n",
"\n",
"alpha = 0.05\n",
"num_trials = 1000\n",
"perturbations = np.arange(-0.5, 0.6, 0.1)\n",
"f = open(\"/tmp/results.tsv\", \"w\", encoding=\"utf-8\")\n",
"for perturb in perturbations:\n",
" pred_labels = generate_llm_predictions(gold_labels, perturb)\n",
" pred_p = sum(pred_labels) / len(pred_labels)\n",
" pred_unlabel = generate_unlabeled(N, pred_p)\n",
" avg_ci, avg_ci_classical, ci_imputed = calculate_ppi(gold_labels, pred_labels, pred_unlabel, alpha, num_trials)\n",
"\n",
" f.write(\"{:.2f}\\t{:.3f}\\t{:.3f}\\t{:.3f}\\t{:.3f}\\t{:.3f}\\t{:.3f}\\n\".format(\n",
" perturb, avg_ci[0], avg_ci[1], avg_ci_classical[0], avg_ci_classical[1],\n",
" ci_imputed[0], ci_imputed[1]))\n",
" print(\"----\")\n",
" print(\"perturbation:\", perturb)\n",
" print(\"PPI Condidence Interval:\", avg_ci)\n",
" print(\"Classical Confidence Interval:\", avg_ci_classical)\n",
" print(\"Imputed CI:\", ci_imputed)\n",
"\n",
"f.close()\n",
"```"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>perturbation</th>\n",
" <th>ppi_ci_lb</th>\n",
" <th>ppi_ci_ub</th>\n",
" <th>classical_ci_lb</th>\n",
" <th>classical_ci_ub</th>\n",
" <th>imputed_ci_lb</th>\n",
" <th>imputed_ci_ub</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>-0.5</td>\n",
" <td>0.440</td>\n",
" <td>0.568</td>\n",
" <td>0.434</td>\n",
" <td>0.571</td>\n",
" <td>0.251</td>\n",
" <td>0.307</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>-0.4</td>\n",
" <td>0.431</td>\n",
" <td>0.557</td>\n",
" <td>0.434</td>\n",
" <td>0.571</td>\n",
" <td>0.253</td>\n",
" <td>0.309</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>-0.3</td>\n",
" <td>0.445</td>\n",
" <td>0.559</td>\n",
" <td>0.434</td>\n",
" <td>0.571</td>\n",
" <td>0.327</td>\n",
" <td>0.387</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>-0.2</td>\n",
" <td>0.446</td>\n",
" <td>0.554</td>\n",
" <td>0.434</td>\n",
" <td>0.571</td>\n",
" <td>0.351</td>\n",
" <td>0.411</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>-0.1</td>\n",
" <td>0.428</td>\n",
" <td>0.512</td>\n",
" <td>0.434</td>\n",
" <td>0.571</td>\n",
" <td>0.400</td>\n",
" <td>0.461</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" perturbation ppi_ci_lb ppi_ci_ub classical_ci_lb classical_ci_ub \\\n",
"0 -0.5 0.440 0.568 0.434 0.571 \n",
"1 -0.4 0.431 0.557 0.434 0.571 \n",
"2 -0.3 0.445 0.559 0.434 0.571 \n",
"3 -0.2 0.446 0.554 0.434 0.571 \n",
"4 -0.1 0.428 0.512 0.434 0.571 \n",
"\n",
" imputed_ci_lb imputed_ci_ub \n",
"0 0.251 0.307 \n",
"1 0.253 0.309 \n",
"2 0.327 0.387 \n",
"3 0.351 0.411 \n",
"4 0.400 0.461 "
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"\n",
"ares_df = pd.read_csv(\"./results.tsv\",\n",
" sep=\"\\t\",\n",
" names=[\"perturbation\", \"ppi_ci_lb\", \"ppi_ci_ub\",\n",
" \"classical_ci_lb\", \"classical_ci_ub\", \n",
" \"imputed_ci_lb\", \"imputed_ci_ub\"])\n",
"ares_df.head()"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"ares_df[\"ppi_ci_avg\"] = ares_df[[\"ppi_ci_lb\", \"ppi_ci_ub\"]].mean(axis=1)\n",
"ares_df[\"classical_ci_avg\"] = ares_df[[\"classical_ci_lb\", \"classical_ci_ub\"]].mean(axis=1)\n",
"ares_df[\"imputed_ci_avg\"] = ares_df[[\"imputed_ci_lb\", \"imputed_ci_ub\"]].mean(axis=1)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_confidence_intervals(perturbations, ares_df[\"ppi_ci_lb\"].tolist(),\n",
" ares_df[\"ppi_ci_ub\"].tolist())"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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888/r9/97nc6deqUnE6nx69NTEzUiBEjtHjxYklSY2OjoqOjNXv2bM2dO/eir3U4HEpPT1d6evol99OjRw8tXLhQM2fOlCSFhoZq6dKl+ulPf+rq07NnTz333HP62c9+1uQY9fX1qq+vdz2vqalRdHQ0a5AAAPAh7fZbbA0NDdq6dat+9atf6fbbb1dUVJTWrFmjH//4x1q+fHmLxikqKlJKSso3xfj5KSUlRYWFhS0tq0lOp1OrV69WbW2tkpKSXO2jR4/WmjVrdOLECTU2Nmr16tU6ffq0xowZ0+xYWVlZCgsLcz2io6PbpEYAAND5eHyjyGeeeUYFBQXasWOH+vfvr+9973t64IEH9Kc//Ul9+/Zt8Y6PHz8up9OpiIgIt/aIiIgmfwy3Jfbu3aukpCSdPn1aoaGhWrdunWJjY13bX3/9dU2bNk09e/ZUQECAunTponXr1mngwIHNjjlv3jxlZGS4np+fQQIAAFcejwPSggULFBMTo+eff17/7//9P/Xs2bM967osgwYNUklJiaqrq7V27VqlpqZq69atrpD09NNP66uvvtK7776rXr166a233tLdd9+t999/XzfffHOTYwYHB7vuBQUAAK5sHgekDRs2aMuWLVqxYoUee+wxXX/99RozZoySk5OVnJys3r17t2jHvXr1kr+/vyorK93aKysrm12A7amgoCDXbFBCQoJ27dqlRYsWadmyZTp48KAWL16sTz75RIMHD5YkxcfH6/3339eSJUv08ssvX9a+AQCA7/N4DdL48eOVnZ2tDz/8UMePH9dzzz2nLl266L/+67/Ur18/DR48WLNmzfJ4x0FBQUpISFB+fr6rrbGxUfn5+W7rhdpCY2Oja4F1XV2dpHPrnb7N399fjY2NbbpfAADgm1r1Y7XdunXT97//fY0fP147d+7U+vXr9dJLL2np0qWuK9I8kZGRodTUVA0fPlwjR45Ubm6uamtrlZaWJunc5fhRUVHKysqSdG5h9/79+11/Hz16VCUlJQoNDXXNGM2bN08TJ05UTEyMTp48qZUrV6qgoEAbN26UJN1www0aOHCgHnzwQeXk5Khnz5566623tGnTJv3tb39rzekAAABXmBYFpMbGRu3evVtbtmxRQUGBtm/frtraWvXr108//OEPdfvtt7do59OmTdOxY8c0f/58VVRUaMiQIcrLy3Mt3D58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VmfPnjXdunUzr776anuVeEVozXk+e/asGT16tPnDH/5gUlNTzeTJkzugUt/CDBJarLCwUOHh4Ro+fLirLSUlRX5+ftqxY0ezr6urq9NPfvITLVmyRJGRkR1Rqk9r7Xm2qq6ult1uV0AAP70oSQ0NDSoqKlJKSoqrzc/PTykpKSosLGzyNYWFhW79JWn8+PHN9kfrzrNVXV2dzpw5ox49erRXmT6vtef5mWee0dVXX83s8kXwX0y0WEVFha6++mq3toCAAPXo0UMVFRXNvu7xxx/X6NGjNXny5PYu8YrQ2vP8bcePH9ezzz7r8def3wXHjx+X0+lURESEW3tERIQOHDjQ5GsqKiqa7O/pv8N3UWvOs9VTTz2lvn37XhBO8Y3WnOdt27bpv//7v1VSUtIBFfouZpDgMnfuXNlstos+PP0Pm9X69eu1efNm5ebmtm3RPqg9z/O31dTUaNKkSYqNjdWCBQsuv3CgA2VnZ2v16tVat26dQkJCvF3OFePkyZP66U9/qldeeUW9evXydjmdGjNIcJkzZ47uu+++i/YZMGCAIiMjL1j8d/bsWZ04caLZr842b96sgwcPKjw83K196tSpuu2221RQUHAZlfuW9jzP5508eVITJkxQt27dtG7dOgUGBl5u2VeMXr16yd/fX5WVlW7tlZWVzZ7XyMjIFvVH687zeTk5OcrOzta7776ruLi49izT57X0PB88eFBffPGF7rrrLldbY2OjpHMz1KWlpbr22mvbt2hf4e1FUPA95xcP796929W2cePGiy4eLi8vN3v37nV7SDKLFi0yn3/+eUeV7lNac56NMaa6utqMGjXKJCcnm9ra2o4o1eeMHDnSzJo1y/Xc6XSaqKioiy7S/sEPfuDWlpSUxCLtS2jpeTbGmOeee87Y7XZTWFjYESVeEVpynr/++usL/ls8efJkM3bsWLN3715TX1/fkaV3agQktMqECRPM0KFDzY4dO8y2bdvMddddZ+655x7X9v/7v/8zgwYNMjt27Gh2DHEV2yW19DxXV1ebxMREc/PNN5t//vOfpry83PU4e/astw6j01m9erUJDg42K1asMPv37zcPPPCACQ8PNxUVFcYYY37605+auXPnuvpv377dBAQEmJycHPOPf/zDZGZmmsDAQLN3715vHYJPaOl5zs7ONkFBQWbt2rVu792TJ0966xB8QkvPsxVXsTWNgIRW+fLLL80999xjQkNDjd1uN2lpaW7/ETt06JCRZLZs2dLsGASkS2vped6yZYuR1OTj0KFD3jmITup3v/udiYmJMUFBQWbkyJHmww8/dG1LTk42qampbv1ff/11c/3115ugoCAzePBg8/bbb3dwxb6pJee5f//+Tb53MzMzO75wH9PS9/O3EZCaZjPGmI7+Wg8AAKAz4yo2AAAACwISAACABQEJAADAgoAEAABgQUACAACwICABAABYEJAAAAAsCEgAAAAWBCQA7eq+++7TlClTfG7sbztw4IBGjRqlkJAQDRkypN3311EcDodyc3Mv2sdms+mtt97qkHqAzoSABMBNR4WOlvjiiy9ks9lUUlLi1r5o0SKtWLGi3fefmZmprl27qrS0VPn5+e2+vyvVggULrqiAiStbgLcLANA5OJ1O2Wy2TjteU8LCwtp1/PMOHjyoSZMmqX///s32OXPmjAIDAzukHgDtjxkkwAeNGTNGs2bN0qxZsxQWFqZevXrp6aef1rd/WrG+vl5PPPGEoqKi1LVrVyUmJqqgoMC1fcWKFQoPD9f69esVGxur4OBg/fu//7teffVV/eUvf5HNZpPNZlNBQYEKCgpks9n01VdfuV5fUlIim82mL774otnxDh8+7Or/q1/9Sr1795bdbtdDDz2khoYG17a8vDzdeuutCg8PV8+ePfWDH/xABw8edG2/5pprJElDhw6VzWbTmDFjJF0421VfX69HH31UV199tUJCQnTrrbdq165dru3njyM/P1/Dhw9Xly5dNHr0aJWWljZ7rm02m4qKivTMM8/IZrNpwYIFrhmtNWvWKDk5WSEhIfrTn/6kxsZGPfPMM+rXr5+Cg4M1ZMgQ5eXlucY6/7rXX39dt912m6666iqNGDFCn376qXbt2qXhw4crNDRUEydO1LFjxy76Hli/fr2uu+46hYSE6Pbbb9err756wb/Rm2++qcGDBys4OFgOh0PPP//8Rcf87LPP9L3vfU8hISGKjY3Vpk2b3LY3NDRo1qxZ6tOnj0JCQtS/f39lZWW5tn/11Vf62c9+5vp3Hjt2rD766CNJ594fv/rVr/TRRx+53lsdMfsHtJqXfywXQCskJyeb0NBQ89hjj5kDBw6Y1157zXTp0sX8/ve/d/X52c9+ZkaPHm3ee+89889//tMsXLjQBAcHm08//dQYY8zy5ctNYGCgGT16tNm+fbs5cOCAqa6uNnfffbeZMGGCKS8vN+Xl5aa+vt5s2bLFSDL/+te/XOPv2bPHSDKHDh1qdrza2lqTmppqQkNDzbRp08wnn3xi/va3v5nevXubX/ziF66x1q5da958803z2WefmT179pi77rrL3HzzzcbpdBpjjNm5c6eRZN59911TXl5uvvzyS2PMhb9C/uijj5q+ffuad955x+zbt8+kpqaa7t27u/qfP47ExERTUFBg9u3bZ2677TYzevToZs91eXm5GTx4sJkzZ44pLy83J0+eNIcOHTKSjMPhMG+++ab5/PPPTVlZmXnhhReM3W43q1atMgcOHDD/8R//YQIDA13n/PzrbrjhBpOXl2f2799vRo0aZRISEsyYMWPMtm3bTHFxsRk4cKB56KGHmq3p888/N4GBgeaJJ54wBw4cMKtWrTJRUVFu/0a7d+82fn5+5plnnjGlpaVm+fLl5qqrrjLLly93jdO/f3/z4osvGmOMcTqd5qabbjJ33HGHKSkpMVu3bjVDhw41ksy6deuMMcYsXLjQREdHm/fee8988cUX5v333zcrV650jZeSkmLuuusus2vXLvPpp5+aOXPmmJ49e5ovv/zS1NXVmTlz5pjBgwe73lt1dXXNHiPgbQQkwAclJyebG2+80TQ2NrrannrqKXPjjTcaY4z53//9X+Pv72+OHj3q9ro77rjDzJs3zxhzLtBIMiUlJW59rKHDGONxQGpuvB49epja2lpX29KlS01oaKgrAFkdO3bMSDJ79+41xnwTLPbs2dNsradOnTKBgYHmT3/6k2t7Q0OD6du3r/mv//ovt+N49913XX3efvttI8l8/fXXTdZijDHx8fEmMzPT9fx8Pbm5uW79+vbta37zm9+4tY0YMcL8/Oc/d3vdH/7wB9f2VatWGUkmPz/f1ZaVlWUGDRrUbD1PPfWUuemmm9zafvnLX7r9G/3kJz8x48aNc+vz5JNPmtjYWNfzbwekjRs3moCAALf3zIYNG9wC0uzZs83YsWPd3nfnvf/++8Zut5vTp0+7tV977bVm2bJlxhhjMjMzTXx8fLPHBXQmfMUG+KhRo0a5rfFJSkrSZ599JqfTqb1798rpdOr6669XaGio67F161a3r66CgoIUFxfXZjU1N158fLy6dOniVuupU6d05MgRSee+2rnnnns0YMAA2e12ORwOSXL7iu5SDh48qDNnzuiWW25xtQUGBmrkyJH6xz/+4db32zX26dNHklRVVeXxvs4bPny46++amhqVlZW57V+SbrnllovuPyIiQpJ08803u7VdrJ7S0lKNGDHCrW3kyJFuz//xj380Wcv594jVP/7xD0VHR6tv376utqSkJLc+9913n0pKSjRo0CA9+uij+vvf/+7a9tFHH+nUqVPq2bOn23vu0KFDbu85wFewSBu4Ap06dUr+/v4qKiqSv7+/27bQ0FDX31dddZVHC6n9/M79fynzrTVOZ86cuaCfp+NZ3XXXXerfv79eeeUV9e3bV42Njbrpppvc1im1pW8vpj5fb2NjY4vH6dq1a5vt39rWmnra27Bhw3To0CFt2LBB7777ru6++26lpKRo7dq1OnXqlPr06eO2zu288PDwDq8VuFwEJMBH7dixw+35hx9+qOuuu07+/v4aOnSonE6nqqqqdNttt7Vo3KCgoAtmGHr37i1JKi8vV/fu3SXpgkvuL+ajjz7S119/rauuuspVa2hoqKKjo/Xll1+qtLRUr7zyiqvWbdu2XVCTpCZnPs679tprFRQUpO3bt7uuNjtz5ox27dql9PR0j2ttLbvdrr59+2r79u1KTk52tW/fvv2C2Z3LNWjQIL3zzjtubd9ejC5JN954o7Zv3+7Wtn37dl1//fUXhObz/Y8cOaLy8nLXrNqHH354QT+73a5p06Zp2rRp+vGPf6wJEyboxIkTGjZsmCoqKhQQEOCaAbRq6r0FdFZ8xQb4qMOHDysjI0OlpaVatWqVfve73+mxxx6TJF1//fWaPn26ZsyYoT//+c86dOiQdu7cqaysLL399tsXHdfhcOjjjz9WaWmpjh8/rjNnzmjgwIGKjo7WggUL9Nlnn+ntt9++5BVR39bQ0KCZM2dq//79euedd5SZmalZs2bJz89P3bt3V8+ePfX73/9e//znP7V582ZlZGS4vf7qq6/WVVddpby8PFVWVqq6uvqCfXTt2lUPP/ywnnzySeXl5Wn//v26//77VVdXp5kzZ3pc6+V48skn9dxzz2nNmjUqLS3V3LlzVVJS4vp3aSsPPvigDhw4oKeeekqffvqpXn/9ddcVYednpObMmaP8/Hw9++yz+vTTT/Xqq69q8eLFeuKJJ5ocMyUlRddff71SU1P10Ucf6f3339cvf/lLtz4vvPCCVq1apQMHDujTTz/VG2+8ocjISIWHhyslJUVJSUmaMmWK/v73v+uLL77QBx98oF/+8pfavXu3pHPvrUOHDqmkpETHjx9XfX19m54XoE15exEUgJZLTk42P//5z81DDz1k7Ha76d69u/nFL37htni2oaHBzJ8/3zgcDhMYGGj69OljfvjDH5qPP/7YGHNuUXVYWNgFY1dVVZlx48aZ0NBQI8ls2bLFGGPMtm3bzM0332xCQkLMbbfdZt54440LFmk3Nd75hdTz5883PXv2NKGhoeb+++93W8y7adMmc+ONN5rg4GATFxdnCgoK3BYHG2PMK6+8YqKjo42fn59JTk52G/u8r7/+2syePdv06tXLBAcHm1tuucXs3LnTtd2TxeZNaW6RtnXRuNPpNAsWLDBRUVEmMDDQxMfHmw0bNlz0dU3V1Ny5/La//OUvZuDAgSY4ONiMGTPGLF269ILF5mvXrjWxsbEmMDDQxMTEmIULF7qN8e1F2sYYU1paam699VYTFBRkrr/+epOXl+f27/D73//eDBkyxHTt2tXY7XZzxx13mOLiYtfra2pqzOzZs03fvn1NYGCgiY6ONtOnTzeHDx82xhhz+vRpM3XqVBMeHm4kuV1RB3Q2NmO+tagAgE8YM2aMhgwZcsmficB3x29+8xu9/PLLroXvAC4Pa5AAwAe99NJLGjFihHr27Knt27dr4cKFmjVrlrfLAq4YBCQA8EGfffaZfv3rX+vEiROKiYnRnDlzNG/ePG+XBVwx+IoNAADAgqvYAAAALAhIAAAAFgQkAAAACwISAACABQEJAADAgoAEAABgQUACAACwICABAABY/H9e0xXoV7shjgAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_confidence_intervals(perturbations, ares_df[\"classical_ci_lb\"].tolist(),\n",
" ares_df[\"classical_ci_ub\"].tolist())"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_confidence_intervals(perturbations, ares_df[\"imputed_ci_lb\"].tolist(),\n",
" ares_df[\"imputed_ci_ub\"].tolist())"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "apollo",
"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.11.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
-0.50 0.440 0.568 0.434 0.571 0.251 0.307
-0.40 0.431 0.557 0.434 0.571 0.253 0.309
-0.30 0.445 0.559 0.434 0.571 0.327 0.387
-0.20 0.446 0.554 0.434 0.571 0.351 0.411
-0.10 0.428 0.512 0.434 0.571 0.400 0.461
-0.00 0.474 0.536 0.434 0.571 0.474 0.535
0.10 0.472 0.548 0.434 0.571 0.503 0.564
0.20 0.429 0.531 0.434 0.571 0.548 0.609
0.30 0.472 0.588 0.434 0.571 0.656 0.714
0.40 0.445 0.573 0.434 0.571 0.704 0.759
0.50 0.426 0.556 0.434 0.571 0.694 0.750
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment