Skip to content

Instantly share code, notes, and snippets.

@pmineiro
Created April 15, 2022 16:32
Show Gist options
  • Save pmineiro/fcab79383d585c3eb0c14584868ac079 to your computer and use it in GitHub Desktop.
Save pmineiro/fcab79383d585c3eb0c14584868ac079 to your computer and use it in GitHub Desktop.
Empirical Bernstein CS with E[w]=1 constraint works well
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Unscaled Empirikill Bernstein for $E[w]=1$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Use the moment constraint to argue that there is no need to constrain the realization range and then use the empirkill bernstein CS directly."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Wealth Process"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The realization is a tuple of scalar-valued random processes $(W, R)$, $$\n",
"\\begin{aligned}\n",
"\\forall t: W_t &\\in [0, w_{\\max}] \\\\\n",
"\\forall t: \\mathbb{E}_{t-1}\\left[W_t\\right] &= 1 \\\\\n",
"\\forall t: R_t &\\in [0, 1] \\\\\n",
"X_t &\\doteq W_t R_t \\\\\n",
"\\forall t: \\mathbb{E}_{t-1}\\left[X_t\\right] &\\in [0, 1].\n",
"\\end{aligned}\n",
"$$ We use a (predictable) predictor $\\hat{X}_t \\in [0, 1]$. Then $$\n",
"\\begin{aligned}\n",
"Y_t &= X_t - \\mathbb{E}_{t-1}\\left[X_t\\right] \\in \\left[-1, w_{\\max} \\right] \\\\\n",
"S_t &= \\sum_{s=1}^t Y_s \\\\\n",
"\\delta_t &= \\hat{X}_t - \\mathbb{E}_{t-1}\\left[X_t\\right] \\in \\left[-1, 1\\right] \\\\\n",
"Y_t - \\delta_t &\\in [-1, w_{\\max}] \\\\\n",
"\\text{Wealth}_t(\\lambda) &= \\exp\\left(\\lambda S_t - \\psi_E(\\lambda) \\sum_{s=1}^t (Y_s - \\delta_s)^2\\right) \\\\\n",
"&= \\prod_{s=1}^t \\exp\\left(\\lambda Y_s + \\left(\\lambda + \\log(1 - \\lambda)\\right) (Y_s - \\delta_s)^2\\right) \\\\\n",
"&= \\prod_{s=1}^t \\exp\\left(\\lambda \\delta_s \\right) \\exp\\left(\\lambda \\left(Y_s - \\delta_s\\right) + (Y_s - \\delta_s)^2 \\left(\\lambda + \\log(1 - \\lambda)\\right) \\right) \\\\\n",
"&\\leq \\prod_{s=1}^t \\exp\\left(\\lambda \\delta_s \\right) \\left(1 + \\lambda \\left(Y_s - \\delta_s\\right)\\right) & \\left(\\text{Fan 2015}\\right) \\\\\n",
"\\mathbb{E}_{t-1}\\left[\\text{Wealth}_t(\\lambda)\\right] &\\leq \\text{Wealth}_{t-1}(\\lambda) \\exp\\left(\\lambda \\delta_t \\right) \\left(1 - \\lambda \\delta_t\\right) & \\left(\\mathbb{E}_{t-1}[Y_t] = 0 \\land \\delta_t \\text{ predictable}\\right) \\\\\n",
"&\\leq \\text{Wealth}_{t-1}(\\lambda) & \\left( e^{x} (1 - x) \\leq 1 \\right)\n",
"\\end{aligned}\n",
"$$\n",
"So this says we can use an exponential CGF bound with $V_t = \\sum_{s=1}^t \\left(X_s - \\hat{X}_s\\right)$ with scale parameter 1 despite the range of the realization being $w_{\\max}$."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"code_folding": [
0,
1,
15,
22,
91
]
},
"outputs": [
{
"data": {
"image/png": "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+5wIwwXcId45Dsqsr7cs1JsOyxF8V/KWBwPB3vKA7JVdRBwFsyIVhPdF51JcluE33C/9rwM1jDFdgftwPeemA8/ggqpHfIp4Hxd87cN1InKTz7L5uPvBMr9grcLdRzvbZ536uPsNk3E9kc4i+8vMjbh7evd5+/DteKq43I/L4r3hkznI89d+7wtvCi6IxVqbjOtwZd4ZfGn8N+487QV+wgXXABTyf1AY/XAB8zSyO5n6n8/y63H3gO4HxuKaW+/Jo6w3gLbGNen8Ip99/gkXTGU2j81a11q7CHd/3EvePjcAw4p4TJllHcR1TPM6Lot3mPyba+ZVztfAs8AMYAuuKWfWDwvGZfcyM/xNcf+nQ7hs2nGyO/TKy/u4c74J1yQ1c6zeG3CdhO33uQaHWNcR0YW4/812XBPbZ/AJ1HPU/wTufF+Mu5ZewV03awp7Djz/xXUktcI7tv/z5gHg1a+vz/pHca8JcJm8o+Qv1/PgNb39Cy543IG7F/T6wlTYWvs57tx8aFyT2JW481BUeb4OjMvw+743DMf1ap2Iu+6a4nVS570vXInrQGk/LkheSfb/PAx3HlJwPyj+iDv2/LyLC952etv7doA2Cxd8Zr63zsW1VvB9ry2qB3DvwYdwPz5N9ln2R1wnY3/xmvneivshou8ppeTvbtx7327cjxl3WWt/BTDG9DUntxjI97rEXVNHcS18xnvPM1u5xHrTmf+/o7h79DM95s17BPcZdtSbJyIByugWBBEpiHGDyydaa0vlQ98YMwbXodBNBa0rUpYYYxKAEV7AVmHpPJweY8xMXOd3r/u7LiIigUCZWREREREREQk4CmZFREREREQk4KiZsYiIiIiIiAQcZWZFREREREQk4CiYFRERERERkYCjYFZEREREREQCjoJZERERERERCTgKZkVERERERCTgKJgVERERERGRgKNgVkRERERERAKOglkREREREREJOApmRUREREREJOAomBUREREREZGAo2BWREREREREAo6CWREREREREQk4CmZFREREREQk4CiYFRERERERkYCjYFZEREREREQCjoJZERERERERCTgKZkVERERERCTgKJgVERERERGRgKNgVkRERERERAKOglkREREREREJOApmRUREREREJOAomBUREREREZGAo2BWREREREREAo6CWREREREREQk4CmZFRERE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\n",
"text/plain": [
"<Figure size 1152x432 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA7MAAAGQCAYAAAB8uTfeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzdeZhcZZmw8ftJ0kln6+wJgSSEJYSwyGITUAyyyIisKgzKgGwC44y4MIoLOooyzjCCMuPo6IA4iAZFXAAZ/FwwkUUxBInIohj2QICQpSsh3Ul18n5/nNNJpdPdqU66ulKd+3dddXWd97zn1FOnlj5PvcuJlBKSJEmSJNWSftUOQJIkSZKk7jKZlSRJkiTVHJNZSZIkSVLNMZmVJEmSJNUck1lJkiRJUs0xmZUkSZIk1RyTWUmSJElSzTGZlaStFBETI+L2iHgxIlJETG23flBEfCsiChHxUkT8U3UirayIuDYi/hIR6yPi3A7WX5I//0J+PAZ1sp+p+XEcUPGge1n+3OZExOqI+HNEvKWLujdExNqIWFVy69+b8VZKRBwYEQ/mx+HBiDiwi7ozIuLXEdEUEQsj4h29GWtPK/dz0JdFxDH5+391/nnYtYu6V0TEnyKiNSIu78UwJdUQk1lJ2nrrgf8HnNrJ+suBacCuwFHAxyLiuN4JrVf9EfhH4A/tV0TEW4FPAMeQHYfdgc9t7QPVcKL7PeAhYAzwKeCHETGui/pfTCkNK7mt65UoO9BTxzwiBgK3Ad8FRgHfBm7Lyzt6zNuAO4DRwEXAdyNir56Ipbf19OegFkXEWODHwD+TvabzgZu72GQh8DHg/yofnaRaZTIraZtExM4R8aOIWBIRT0fEB/Py0RGxKCJOypeH5a0rZ+fLN0TENyLilxGxMiJ+0/YrfUR8LiL+K79fFxGvRcRV+fLgiGjJ918fEd+NiKURsSIiHoiICXm93fJ9rswf46sR8d2efO4ppZdTSv8NPNBJlXOAK1JKy1NKjwPXAed2VDEino2I1+f3z8xbKPfNl98bEbfm9y+PiFvy570yb7nYKyI+GRGvRMTzEfE3Jfs9LyIez+s+FRF/X7Lu4xHx+7ZkJSL+ISIejYj6bh6Hr6WU7gJaOjkG16eUHk0pLQeu6OwYAHfnf1fkrZFviIhzI+K+iLgmIpYCl+fHYMNr2b5FNyJGRMT1EbE4Il6IiH9pa9lst78V+TF5Y17+fH4MzynZ99yIuKBk+dyIuLc7xydPwA4GPptSak4p/Qj4E53/CNKdfbc9n69G1oL554g4Jl/3hti0dbclIp7J1/WLiE9ExJP55+cHETE6X9d2PN8bEc8Bv87rfzp/n74SETdGxIhuhnskMAD4j5TSmpTSV4AAju6g7t7AzsA1KaV1KaVfA/cB7+nuccjX7xxZL4plkX0PXViy7vL8+d+Yf04ejYjGdttu9h3XTWV/DkqO/0WR9fpYHBEfzdfVR0RzZIkhEfGpyFouG/LlKyLiP/L7N0TEf0fEz/LX/76I2Cki/iMilufH6KCSx217P6yMiMeipCU8Ir4eET8qWf73iLgrIqIbx+CdwKMppVtSSi1kP/YdEBF7d1Q5pfTtlNLPgJXdeAxJOxiTWUlbLSL6AT8la5nbhazV4cMR8daU0jLgfOC6iBgPXAMsSCndWLKLM8lO6sYCC4DZeflvyE58AQ4BXgKOyJffAPwl3/85wAhgMlmL1/uA5rzeTcCD+b6vyOt29jym5IlNZ7e/24pjMwqYmB+bNn8E9u1kk9Ln/GbgKTY+5zfn69ucBHyHrHXrIeDnZN/nuwCfB/6npO4rwIlAA3AecE1EHJyvuwpYA3w6IqYB/wqclZ9osoVj8okyD8W+HRyDCRExpoO6bc93ZN4a+bt8+dD8eEwAvlDGY94AtAJ7AgcBfwNcULL+UOBhsvfMTcD3yd5newJnAV+NiGFlPA4R8XAXx+i/82r7Ak+llEpPyrt6LwD8Y554PRgRW0p6DwWeJHuvfxb4cUSMTin9rq1ll+y98nuyFmKADwBvJ3tv7QwsB77Wbr9vBmYAbyVLvM4l62GwOzAM+GrJcSjnvbIv8HBKKZU8xsNbOA6lAtivu8chX/d9YFH+XE8D/jUiSpPok/M6I4Hb255bV99x+fq/28Jzn1Ly3Mv9HLQ5iqxnx98AH4+It+SfzQfIXhvyv88Ch5csl35XnA58Oj8ma4DfkfWgGAv8EPhySd0ngVlk36mfI2sJn5iv+wiwf/6jwSzgvcA5KaXUje/PTY5BSum1/DHLff0laXMpJW/evHnbqhvZyeNz7co+CfxvyfJ/kbVCvQCMKSm/Afh+yfIwYB1ZYjqYrJVvDFnXvMvITkSHkZ1kfSXf5nzgt8Dr2sUwhSyZGVpSdhPw3QodhwFAAqaWlE3Oy+pLyo4FnulkH+8Fbs/vP06WfH0/X34WODi/fznwy5LtTgJWAf3z5eH5447s5HFuBT5UsjwVWJY/5ie38TjcC5zbruxJ4LiS5br2x6pdLAkYUFJ2bgfvsctLX8vS7cgS3jXA4JL1ZwBzSvb315J1++fbTigpWwocmN+fC1zQLp57u3lc3gPc367sC8ANndQ/OH/vDwCOJ2uZOryTuucCLwJRUjYPeE+7el8n67Lbr+Q9dkzJ+olAMX/MtuO5e8n6u4B/LFme3la/G8fhnyn5zOdls4HLO6hbR/YDxsfy+38DrAV+3t3jQPZZXAcML1n3b23HP38//apk3T5Ac35/i99xZT73rfkc7F1S9kWyll3Ifpz7Sv5avQR8CLgSqCf7MW9MXu8G4LqSfXwAeLzde39FFzEvAE4pWT6U7LviWeCM7jz/fPvrgSvbld1Hu++MDrb7bkfvEW/evHlLKdkyK2mb7ArsXPorPFniOaGkzrVkrSk3pJSWttv++bY7KaVVZCdKO6eUmsnGU72ZrLXuN2RJ6+Fs2vLwHbJWye/n3fG+GBF15C1NKfvlv82zPfKMy7cq/9tQUtZA513mfgPMyltC+gM/AA6PbFKpEWQnlm1eLrnfDLyaNo6pbGuZHgYQEW+LiPvzVr4VZMnR2LaNU0rPAHPITqDbt8z1hFVsfgyge10Hn99ylQ12JUsUFpe8J/8HGF9Sp/3xI6XUvqysltkytT8G0MV7IaX0h5TS0pRSa0rpTrKE751d7P+FlFJpa+ezZJ8BACLrWn4k8HcppfV58a7AT0qO0eNkCV/pZ7f0uO/Mpp+hZ9n440G5yj4OKaUiWcvxCWQJ20fIPhOLuth/Z8dhZ2BZ2rRl/FmyltY2L5XcXw3UR9ZtvZzvuHJszeeg9PiXvqZtvTgOJvuh8Jdk34uHAQvbfc+2f193+j6PiLMjYkHJ89yPTb8rfk/2A0OQvRbd1a3PgSSVw2RW0rZ4Hng6pTSy5DY8pXQ8QGTjFK8FbiTrNrlnu+0nt93Ju3WOJmtdgeyE7WiybqIP5MtvBWaSj61MKRVTSp9LKe0DvJGsO+3ZwGJgVEQMLXmsKXQi7ya3qovbmd09MCkbF7cYOKCk+ADg0U7qLyQ7if4AcHdKqUB2gn0RWUvg+o6260pks6X+CLiarOVxJHAn2cloW50TyLpu30XW7bh0+66OyWVlhvEomx+Dlzv4YQOy1qiOtC9/DRhSsrxTyf3nyVpmx5a8JxtSSlvblbGrxyKy8ZWdHaNv5NUeBXaPiOElm3b6XuhAouQ168AuEZuMXZxC/jnKu4ReQdbCViip8zzwtnaf3fqU0gvtHrfNi2SJXeljtJInR2W+Vx4FXtcu1tfR+Wfi4ZTSm1NKY1JKbyXr3jxvK47Di8Dodsd/CllvkS3Z0nfcmVt47m3fO935HLSZXHJ/w2tK9sPedOAdwG9SSo/l649n0y7GZYtsvoLrgIvJWnZHAo+w6XfF+4FBeRwfKykv9/tzk2OQfz/vQfmfA0najMmspG0xD1gZ2URCgyOif0TsFxGH5OsvIzshPp8sUboxNr3EyPER8abIZjO9gqwrZltrxG/IEtPHUkprybt7kp1YLgGIiKMiYv98nwWybo/rU0rPkrXsfi4iBkbEm8i643YopfRc2nTm2Pa32Z1tG9lkSW2X2BgUm06edCPZeNRRkU1yciFZ17/O/IbsZLLthHRuu+XuGpjHtgRojYi3kXXXbIt9LPBNsuN6DnBSRBzftn4Lx+RfS/YzMH/eAdRFNklN2/+XG4H3RsQ+ETGSbPxeZ8dgCdkM0btv4XktAI7IT6JHkHX7bIt5MfAL4EsR0RDZxEV7RMSbO9tZGY/1zogYkv8Y897SlSmlfbs4Ru/L6zyR7+ez+bF5B1kS96P2DwYQEadFNmFav8gm8zqLbBxnZ8YDH4xssrS/JRvnemdETCZrQTs7j6HUN4AvxMZJ18ZFxCldPMb3gEsim1htGNn46ptTSq35cyznvTKXrPX3g5FdturivPzXnRyH1+XHa0hkEyBNpOvPT4fHIf9O+S3wb/n+Xkf2OpYzIVyX33EppdlbeO7P5fvpzuegzT/nz31fsvHuN+ePuZpsPoD3s/G74bdkcwZs7XfFULLv6rbv1vMoGZ8c2SRm/0L2XnwP2czsB+bxlPv9+RNgv4g4Nf+++AzZGOo/dxRQ/jrWk52rDshfuz5xiSpJPcdkVtJWy7u2nggcCDwNvEqWHI2IbGbefyI7kV4H/DvZyVLpxEE3kU3Usgx4PdmJUpvfko2dbZvh9jGycbR3l9TZiWwSkwJZN8nfkHU9Bvg7No7x+izZyWQlNLOxS/Gf2djNl/xxnyTrIvgb4KqU0v/rYl+/IRvzencny92Sd6v8IFlCs5zsmJQmRdcCt6WU7sxbiN4LfDO6npSmI78ge95vzPfZTD6ZU/58v0jWlfk5smPx2U7iXU02lvS+yLo6HtZJvV+Sndg/THZSf0e7KmeTJfKPkT3vH5IlQlvjGrKxmi+TXUqm0x82tuDdQGMez5XAaSU/ypwZEaWtUx8iazVcQfYj0IUppbld7Pv3ZBMFvUp2/E7LX89jyLrD/rCklaztcf6T7L3wi4hYCdxP9nnpzLfIPlt3k33WW8h6EZQt/1Hq7WSvzwqyH7nenpcTEZdFxM9KNnkPWe+GV/LncmxKaU0XD9HZcYBs3PRUslbFn5DNLP2rMmLu9DuujKdcup+yPwclfkN2eZq7gKtTSr9ot66OjS3V2/pd8RjwJbIJol4mG097H2y4TNJ3gX9PKf0xpfRXsh8qvxPduFZu/n4/ley1WU72fnt32/rIZrf/Rskm15F9l5xBdjmrZjqZzVrSjitS6qxXlyRVTkTcACxKKX26lx7vcmDPlNJZW6or1YqIOJdsgqo3VTuWaupLxyGycfJPA3VtLd+SpI7ZMitJkiRJqjkms5IkSZKkmmM3Y0mSJElSzbFlVpIkSZJUc0xmJUmSJEk1x2RWkiRJklRzTGYlSZIkSTXHZFaSJEmSVHNMZiVJkiRJNcdkVpIkSZJUc0xmJUmSJEk1x2RWkiRJklRzTGYlSZIkSTXHZFaSJEmSVHNMZiVJkiRJNcdkVpIkSZJUc0xmJUmSJEk1x2RWkiRJklRzTGYlSZIkSTXHZFaSJEmSVHNMZiVJkiRJNcdkVpIkSZJUc0xmJUmSJEk1x2RWkiRJklRzTGYlSZIkSTXHZFaSJEmSVHNMZiVJkiRJNcdkVpIkSZJUc0xmJUmSJEk1x2RWkiRJklRzTGYlSZIkSTXHZFaSJEmSVHMGVDuAbTF27Ng0derUaochSeojHnzwwVdTSuOqHUct83+zJKkndfW/uaaT2alTpzJ//vxqhyFJ6iMi4tlqx1Dr/N8sSepJXf1vtpuxJEmSJKnmmMxKkiRJkmqOyawkSZIkqeaYzEqSJEmSao7JrCRJkiSp5pjMSpIkSZJqjsmsJEmSJKnmmMxKkiRJkmqOyawkSZIkqeaYzEqStAOKiG9FxCsR8Ugn6yMivhIRCyPi4Yg4uLdjlCSpKyazkiTtmG4Ajuti/duAafntIuDrvRCTJEllG1DtACRJ6q61ret54JllrF23HoB9d25g/PD6KkdVW1JKd0fE1C6qnALcmFJKwP0RMTIiJqaUFlc8uGIzPHNvxR9G2io77Q/Dd6p2FJIwmZUk1aCf/vFFPnLLHzcsf+Osgzluv4lVjKhP2gV4vmR5UV62WTIbEReRtd4yZcqUbX/k15bA7NO2fT9SJez0Ovj7uyFiy3XXFaG4OvuBZu1r0G8AjNq18jFKOwiTWUlSzXl5ZQsAN190GAMH9GO3sUOrHNGOLaV0LXAtQGNjY9rmHQ6bABfctc27kXrck7+GOV+AH54HRJakFl/L/+YJa9v94mpYX9x8HxfOgV0cgi71BJNZSVLNKTS3MrB/P2buNpoop3VEW+MFYHLJ8qS8rPIGDIJJjb3yUFK3jN8H/nwHPD8P6gZD3ZDsNnBY9iNM3eBNy+uGZMsDh8Da1fCLT8GSv5jMSj3EZFaSVHOamos0DB5gIltZtwMXR8T3gUOBpl4ZLyttzwYOyboYb41ic5bMNi3q2ZikHZjJrCSp5hSaizQMrqt2GDUtIr4HHAmMjYhFwGeBOoCU0jeAO4HjgYXAauC86kQq9RF1g2HoOGh6fst1JZXFZFaSVHMKLUUa6k1mt0VK6YwtrE/A+3spHGnHMGKSLbNSDzKZlSTVnKbmIqOGDKx2GJLUPSMmwZInYP16WFOAlhXQvDyb5Xin/asdnVRzTGYlSTWnqbnI1DHOYCypxoyYDI//FK4YA2n9pus+8AcYs0d14pJqlMmsJKnmFPIJoCSpprz+3CyJHTQc6kfC4FGwein88p9h6UKTWambKnYmEBGTgRuBCUACrk0p/WdEXA5cCCzJq16WUroz3+aTwHuBdcAHU0o/r1R8kqTalFKi0NLKCCeAklRrxk2Ht/37pmWFxVkyuz1ODLV+PaxdCS1N2a15RX5/xcayNSuhpQBrSu7vtD+c/JVqR68dQCV/1m4FPpJS+kNEDAcejIhf5uuuSSldXVo5IvYB3g3sC+wM/Coi9kopratgjJKkGvPa2nWsW59MZiX1DcMmQL+6yk4MVWzJWoBLb83LNyalHSWpzSuycb3tu0O3N6gha2lu+9vSBA99B46/KrtmtFRBFUtm82vRLc7vr4yIx4FdutjkFOD7KaU1wNMRsRCYCfyuUjFKkqrrd08u5eM/eph161PZ27TVdTZjSX1Cv34wYhdYUWbLbEpZIrrqFXjtlZIEddnmCevq5dnf4mud72/AYBg8EupHZF2fh+0EY6dvWlY/Iru1LxvUkMVf6uEfwI8vhGVPw/i9t/64SGXolQFHETEVOAj4PXA42UXYzwbmk7XeLidLdO8v2WwRHSS/EXERcBHAlClTKhq3JKmyHnhmGc8tW82pB08iovztBg7ox1F7j69cYJLUm0ZMhuVPw9InYdXLWaK66pX8/svw2pJNy9cXO97PoBEwZDQMGZMlpeP3zZfzsrbb4LysfkTPt562jftdutBkVhVX8WQ2IoYBPwI+nFIqRMTXgSvIxtFeAXwJOL/c/aWUrgWuBWhsbCz/p3xJ0nanqbnI0IH9+dLpB1Q7FEmqnpFTYMFs+K+DNy2P/jB0HAwbn3VHHr/PxvvDxsPQ8TB0bJ6gjoL+20GPlTF7Zn+XLtx4CaLmZVkrcfPy/P6yrHz/02D07tWNVzWtoslsRNSRJbKzU0o/BkgpvVyy/jrgjnzxBWByyeaT8jJJUh+VzUq8HZx8SVI1zfoIjJ+xMXEdmiesQ0ZDv/7Vjq576kdk8c/5Atz1eehq+ptVr8AJV3e+XtqCSs5mHMD1wOMppS+XlE/Mx9MCvAN4JL9/O3BTRHyZbAKoacC8SsUnSaq+puaiEzlJ0pg94I0fqHYUPefYz8GiBzZ2Zx48avP7s0+FV5+odqSqcZVsmT0ceA/wp4hYkJddBpwREQeSdTN+Bvh7gJTSoxHxA+AxspmQ3+9MxpLUtzU1F53ISZL6mgP/Lrt1Zexe8Mx9vROP+qxKzmZ8L9DRdB53drHNF4AvVComSdL2pdDSyi4jB1c7DElSbxszDR6+Gda+BgOHZmXrWrMxtateySa9eu3VrJv1vu+gW7MEaofRK7MZS5LUkUJzkRkTh1c7DElSbxubTxT17ZNh7aoseV29jKzzZjvjZ2Q3qR2TWUlS1ThmVpJ2UFPeCLs0ZjMwj50Gu74xmwCr9NayAr7/d7Dkzyaz6pDJrCSpKlrXrWfVmlaTWUnaEQ2fABfe1XWdtauzv6/+tfLxqCaZzEqSqmJlSyuAE0BJkjo2cAiMmLLprMfr12VjaVcuhtWvwqRDsssB1ZrWNdnzKDZns1nX8pjglKC4GppXZNcSbsn/TpqZ/WhRQSazkqRek1Lie/OeZ/nqtTQ1FwFsmZUkdW7snvDXX8C1R8LKl7LJoUoveHL4h+DYz1ctvA3WFWH10ixBbZu8anXJ/fbLawobtz3jZph+XPVib9OWlK5emo1fXr00S0pXL8sm5mqfrJYur1u7+f7efRPsfUJFQzaZlST1mmeWruayn/xpw/LA/v3Yc/ywKkYkSdqu7XdalgAOGQMT9oVhO8HwnWD4RLjrc/DyY5V77PXr89mVX85vr2xMqDeU5eUtKzreR/TPYh86DoaOgZ0PgiFjs+Uho+HOS2HRvJ5PZlOCNSvzhHRZnpwuK1leujFJLV23bk3n+xzUAPUjYXB+G793vjwqLxu16fLo3Xv2OXXAZFaS1GuWvZb9cnv9OY3MmjaOfgED+verclSSpO3WQWdmt448+hNY9ED397muFVa9BIUX8+S0JDFdWZKgvvYKrG/dfPu6oVn32WETsompdnvzxmR16LiNyerQsVly16+L/3PzroOXHtlyzClllzHa0NLbdvmifLn0ckZtCWtHsQNEvzzhHJ0l2iOnwM4H5st5Wdu6tuX6kdB/+0sdt7+IJEl9ViHvWjx66EAGDjCJlSRtg7F7wSM/ysad1uXXLC82Z0lq4cVsXG3hhY3LbbfXXoG0ftN9Rb8sAR2WJ6kT9tuYsA4bv7F82AQY1IM9inbaD565F56c03GS+toSWJUvtzZ3vI9BDRtngB6zB0ye2S4pbXd/Swl2DTGZlST1mkJLlsw2OE5WkrStxk4DEnz3VGhpyhLX5uWb1xs0AhomQsPOMGEfaNgl66bcsEveZXmnLNnr17/XnwI7HwR/ugW+8/aNZf0GbGzZHToOxkzbeH/ouCy5blseMhbq6ns/7u2Eyawkqdc46ZMkqcdMOSxrnV2zEkZMhsmH5knrLlniOnznbHnQ8GpH2rnXn5eNLW1rXR02Lms5reXZjXuRyawkqdc0rc5bZr0cjyRpWzXsDBdvxZjZ7cnAITD9bdWOomb1jc7SkqSaUGgpMriuv+NlJUnSNvNsQpLUa5qai3YxliRJPcJkVpLUawrNrSazkiSpR5jMSpJ6TVNzkYbBTtcgSZK2nWcUkqQe19RcJKW0Wfny1WuZNGpwFSKSJEl9jcmsJKlH/e99T/O5nz7W6fr9dxnRi9FIkqS+ymRWktSjFr6yimGDBvCRv9mrw/VvmTGhlyOSJEl9kcmsJKlHNTUXGT98EOcdvlu1Q5EkSX2YE0BJknpUU3OR4c5YLEmSKsxkVpLUowotXn5HkiRVnsmsJKlHFZqLJrOSJKniTGYlST2q0Fykod4pGSRJUmWZzEqSekxKiSZbZiVJUi8wmZUk9ZjVa9fRuj7RYDIrSZIqzGRWktRjCi1FAFtmJUlSxZnMSpJ6TFNzlsw21JvMSpKkynKGDklSp757/7P89slXy66//DVbZiVJUu8wmZUkderrc5+k0FJkp4b6src5cPJI9p44vIJRSZIkmcxKkrpQaCly6sGTuPzkfasdiiRJ0iYcMytJ6tC69YmVLa3OTCxJkrZLJrOSpA6tamkFHP8qSZK2TyazkqQObZyZ2BEpkiRp+2MyK0nqUFsya8usJEnaHpnMSpI6VGjJW2ZNZiVJ0nbIZFaS1CFbZiVJ0vbMZFaS1CGTWUmStD0zmZUkdajQbDdjSZK0/XKKSknqI5rXruOh55eTUs/s7/HFBfr3C4YO7N8zO5QkSepBJrOS1Ed8fe5CvvLrhT26z11GDiYienSf2n5ExHHAfwL9gW+mlK5st34K8G1gZF7nEymlO3s9UEmSOmAyK0l9xMuFNYwZOpCvn/X6HtvnpFGDe2xf2r5ERH/ga8CxwCLggYi4PaX0WEm1TwM/SCl9PSL2Ae4EpvZ6sJIkdcBkVpL6iKbmImOGDWTmbqOrHYpqw0xgYUrpKYCI+D5wClCazCagIb8/AnixVyOUJKkLTgAlSX1EU3PRmYfVHbsAz5csL8rLSl0OnBURi8haZT/Q0Y4i4qKImB8R85csWVKJWCVJ2ozJrCT1EYWWIg31JrPqUWcAN6SUJgHHA9+JiM3OHVJK16aUGlNKjePGjev1ICVJOyaTWUnqI2yZVTe9AEwuWZ6Ul5V6L/ADgJTS74B6YGyvRCdJ0haYzEpSH9HUXPSasOqOB4BpEbFbRAwE3g3c3q7Oc8AxABExgyyZtR+xJGm7YDIrSX3A+vWJVWtaTWZVtpRSK3Ax8HPgcbJZix+NiM9HxMl5tY8AF0bEH4HvAeem1FNXMpYkads4m7Ek9QErW1pJCbsZq1vya8be2a7sMyX3HwMO7+24JEkqR8VaZiNickTMiYjHIuLRiPhQXj46In4ZEX/N/47KyyMivhIRCyPi4Yg4uFKxSVJf09RcBExmJUnSjqOS3YxbgY+klPYBDgPen19w/RPAXSmlacBd+TLA24Bp+e0i4OsVjE2S+pRCS5bMNtTb4UaSJO0YKnbWk1JaDCzO76+MiMfJrl93CnBkXu3bwFzg43n5jflYnPsjYmRETMz3I0l9XnHdet5z/e9Z3NTS7W1biusAW2YlSdKOo1d+wo+IqcBBwO+BCSUJ6kvAhPx+Zxdv3ySZjYiLyFpumTJlSsVilqTetmTlGu5/ahkHTRnJrqOHdHv7YfUDeN2kkRWITJIkaftT8WQ2IoYBPwI+nFIqRMSGdSmlFBHdmhUxpXQtcC1AY2OjMypK6jPaugpfOGt3jt9/YpWjkSRJ2r5V9NI8EVFHlsjOTin9OC9+OSIm5usnApCBAJYAACAASURBVK/k5eVcvF2S+qym1U7iJEmSVK5KzmYcwPXA4ymlL5esuh04J79/DnBbSfnZ+azGhwFNjpeVtCNxRmJJkqTyVbKb8eHAe4A/RcSCvOwy4ErgBxHxXuBZ4PR83Z3A8cBCYDVwXgVjk6TtTqGlFYCGepNZSZKkLankbMb3AtHJ6mM6qJ+A91cqHkna3tkyK0mSVL6KjpmVJJWvLZkd5rViJUmStshkVpK2E4XmIsPrB9C/X2edWiRJktTGZFaSthOF5qLjZSVJkspkMitJ24lCS9HxspIkSWVyYJYkVdEfn1/B/U8tBeCJl1ex88j6KkckSZJUG0xmJamKPn/HYzz47PINy0fvPb6K0UiSJNUOk1lJqqLlr63lbfvtxJdOPwCAwXX9qxyRJElSbTCZlaQqKrQUGTV0IEMG+nUsSZLUHU4AJUlVklKiqdlJnyRJkraGyawkVUlzcR3FdclkVpIkaSuYzEpSlRSaWwG8tqwkSdJWMJmVpCppai4C2DIrSZK0FUxmJalKCi0ms5IkSVvLZFaSqqRpdZbMNgx2JmNJkqTuMpmVpCqxm7EkSdLWszlAkipsTWs2a3F7r65aAzgBlCRJ0tYwmZWkCnp11RqO+OIcVq9d1+H6/v2C4fV+FUuSJHWXZ1CSVEHPL1vN6rXrOGPmZHYfO2yz9VPHDmVAf0d8SJIkdZfJrCRVUNu42NNeP5nX7zqqytFIkiT1HTYHSFIFFVpaARjhjMWSJEk9ymRWkiqorWW2wRmLJUmSepTJrCRVUKEtmXXGYkmSpB5lMitJFVRoLjJoQD/q6/pXOxRJkqQ+xWRWkiqoqbloF2NJkqQKMJmVpAoqtBQZYTIrSZLU40xmJamCmpqLNNQ7k7EkSVJPM5mVpApqarZlVpIkqRJsLpCkHnbT75/j/qeWAvDMq6vZY9ywKkckSZLU95jMSlIP++qv/8rKllbGDh/E+OGDOHL6uGqHJEmS1OeYzEpSD2tqLvLumVP45xP3qXYokiRJfZZjZiWpB7WuW89ra9c5TlaSJKnCTGYlqQcVWloBnMFYkiSpwkxmJakHNTUXARgxxJZZSZKkSjKZlaQeVMiT2YZ6k1lJkqRKMpmVpB60oWXWMbOSJEkVZTIrST3IZFaSJKl3mMxKUg8qtOTdjE1mJUmSKspkVpJ6kC2zkiRJvcNrR0jSNmopruPhRU2klHjipZUMHNCP+rr+1Q5LkiSpTzOZlaRt9LU5C/mvXy/csDx59OAqRiNJkrRjMJmVpG20uKmFscMG8pV3HwTAlDFDqhyRJElS3+eYWUnaRk3NRcYOG8Qb9xzLG/ccy6RRJrOqDRFxXET8JSIWRsQnOqlzekQ8FhGPRsRNvR2jJEmdsWVWkrZRoblIQ70TPqm2RER/4GvAscAi4IGIuD2l9FhJnWnAJ4HDU0rLI2J8daKVJGlztsxK0jZqai56KR7VopnAwpTSUymltcD3gVPa1bkQ+FpKaTlASumVXo5RkqROmcxK0jZa2dLqpXhUi3YBni9ZXpSXldoL2Csi7ouI+yPiuI52FBEXRcT8iJi/ZMmSCoUrSdKmTGYlaRtlLbOO2lCfNACYBhwJnAFcFxEj21dKKV2bUmpMKTWOGzeul0OUJO2oTGYlaRu0rlvPqjW2zKomvQBMLlmelJeVWgTcnlIqppSeBp4gS24lSao6k1lJ2gYrW1oBTGZVix4ApkXEbhExEHg3cHu7OreStcoSEWPJuh0/1ZtBSpLUmYolsxHxrYh4JSIeKSm7PCJeiIgF+e34knWfzC8N8JeIeGul4pKknlRoKQI4m7FqTkqpFbgY+DnwOPCDlNKjEfH5iDg5r/ZzYGlEPAbMAS5NKS2tTsSSJG2qkoO8bgC+CtzYrvyalNLVpQURsQ/ZL8L7AjsDv4qIvVJK6yoYnyRts6bmLJm1ZVa1KKV0J3Bnu7LPlNxPwD/lN0mStisVS2ZTSndHxNQyq58CfD+ltAZ4OiIWkl0y4HcVCk9SFT279DXef9MfaF5b+79XtRTXA3hpHkmSpF5Wjek3L46Is4H5wEfya9ftAtxfUqejywMA2fT/wEUAU6ZMqXCokiphwfMreOSFAkdNH8eQQbU/C/CsaWPZf5cR1Q5DkiRph9LbZ5FfB64AUv73S8D53dlBSula4FqAxsbG1NMBSqq8Qt41999Pex3jh9dXORpJkiTVol6dzTil9HJKaV1KaT1wHVlXYijv8gCS+ohCPgOwkyZJkiRpa/VqMhsRE0sW3wG0zXR8O/DuiBgUEbuRXcNuXm/GJqn3NDUXGTSgH/V1/asdiiRJkmpUxboZR8T3yK5NNzYiFgGfBY6MiAPJuhk/A/w9QH4pgB8AjwGtwPudyVjquwrNRWf/lSRJ0jYpK5mNiPHA4WSXzWkma1Gdn3cX7lBK6YwOiq/vov4XgC+UE4+k2tZkMitJkqRt1GUyGxFHAZ8ARgMPAa8A9cDbgT0i4ofAl1JKhUoHKqnvaGoueikbSZJEsVhk0aJFtLS0VDsUVVl9fT2TJk2irq78c8QttcweD1yYUnqu/YqIGACcCBwL/Kg7gUrasRVais5iLEmSWLRoEcOHD2fq1KlERLXDUZWklFi6dCmLFi1it912K3u7LieASildCiyKiNM7WNeaUro1pWQiK6lb7GYsSZIAWlpaGDNmjInsDi4iGDNmTLdb6Lc4m3E+LvZjWxuYJLVXaG6lob63L3MtSZK2Ryaygq17H5R7NvmriPgocDPwWlthSmlZtx9RUp+0sqXIrQtepNja6bxwm9S1ZVaSJEnbotxk9l353/eXlCVg954NR1Kt+ukfF/PPtz6y5Yq5PcYPq2A0kiRJ5Rk2bBirVq1i7ty5XH311dxxxx1d1j/yyCO5+uqraWxs5Pjjj+emm25ixYoVnHjiiTzySPnnQj3l1ltv5eGHH+Yzn/kMl19+Oddddx3jxo3bsH7u3LnceuutXHrppZxyyil885vf3OI+n3zySU499VQWLlzIqlWryorjU5/6FDfeeCPLly/fZJuvfvWrDBkyhPPPP7/7T24LykpmU0rlj8KVtENavnotAPM+dQyD+vfvsm6/fjC83pZZSZJU2+68804AVqxYUVb9devW0X8L50kAra2tDBhQXrvjF7/4RW6//fYNy5dccgkf/ehHN6v3rne9i69+9atl7XOPPfZgwYIFDBtWfuPDSSedxMUXX8y0adM2KT///PM5/PDDK5LMbnHMLEBE3BsRX4iI4yJieI9HIanmNTUXGTSgH+OH1zNiSF2XNxNZSZK0PSoUCpxwwglMnz6d973vfaxf3/XwqalTp/Lqq68CWQJ65plnMmPGDE477TRWr169oc7HP/5xDj74YG655Rauu+46DjnkEA444ABOPfXUDfXOPfdc3ve+93HooYfysY99jGnTprFkyRIA1q9fz5577rlhuc0TTzzBoEGDGDt2bLee5wknnMDDDz8MwEEHHcTnP/95AD7zmc9w3XXXdWtfbQ477DAmTpy4WfmQIUOYOnUq8+bN26r9dqXcbsbvAWYBpwJXRcQa4J6U0iU9HpGkmlRwhmJJkrQNPvfTR3nsxUKP7nOfnRv47En7ll1/3rx5PPbYY+y6664cd9xx/PjHP+a0004ra9u//OUvXH/99RtaIf/7v/97QwvpmDFj+MMf/gDA0qVLufDCCwH49Kc/zfXXX88HPvABILtU0W9/+1v69+/PiBEjmD17Nh/+8If51a9+xQEHHLBJ92GA++67j4MPPniTsmuuuYbvfve7AIwaNYo5c+ZsFuusWbO455572HXXXRkwYAD33XcfAPfccw/f+MY3Onxu73rXuzYrh6wb88iRI7s8No2Njdxzzz3MnDmzy3rdVVbLbErpaeCXwF3A3cAQYEaPRiKppjU1F2kwmZUkSTVs5syZ7L777vTv358zzjiDe++9t+xtJ0+ezOGHHw7AWWedtcm2pYngI488wqxZs9h///2ZPXs2jz766IZ1f/u3f7uhG/L555/PjTfeCMC3vvUtzjvvvM0ec/HixZsluJdccgkLFixgwYIFHSaykCWzd999N/fddx8nnHACq1atYvXq1Tz99NNMnz59s/rTp0/fsM/2ty0lsgDjx4/nxRdf3GK97iqrZTYingReBW4Crgc+kF+yR5IAKDhDsSRJ2gbdaUGtlPaXh+nO5WK62nbo0KEb7p977rnceuutHHDAAdxwww3MnTu3w3qTJ09mwoQJ/PrXv2bevHnMnj17s8ccPHgwTU1NZcfY5pBDDmH+/PnsvvvuHHvssbz66qtcd911vP71r++w/ra2zLa0tDB48OBux7klZbXMAl8BngPOAD4InBMRe/R4NJJqVpPdjCVJUo2bN28eTz/9NOvXr+fmm2/mTW96U9nbPvfcc/zud78D4Kabbup025UrVzJx4kSKxWKHCWqpCy64gLPOOmuTFttSM2bMYOHChWXH2GbgwIFMnjyZW265hTe84Q3MmjWLq6++miOOOKLD+tvaMvvEE0+w3377dTvOLSm3m/F/ppT+FngL8CBwOfBEj0cjqWYVmltpqC93GL4kSdL255BDDuHiiy9mxowZ7LbbbrzjHe8oe9vp06fzta99jRkzZrB8+XL+4R/+ocN6V1xxBYceeiiHH344e++9d5f7PPnkk1m1alWHXYwBjjjiCB566CFSShvKrrnmGg488MANt2eeeabDbWfNmsX48eMZPHgws2bNYtGiRcyaNau8J9uBj33sY0yaNInVq1czadIkLr/88g3r7rvvPo499tit3ndnovSJd1op4kvAm4BhwG+Be8kmgHqqxyPqhsbGxjR//vxqhiApd8DnfsHbD9yZz53S87+6Sb0lIh5MKTVWO45a5v9mSd3x+OOPM2OGU/F0Zv78+VxyySXcc889ndb50Ic+xEknncRb3vKWTuvccMMNzJ8/v+xL87RpuwbvtnjooYf48pe/zHe+850t1u3o/dDV/+Zyuxn/Djg5pbRvSunClNK3q53IStp+rF+fWNniBFCSJEk95corr+TUU0/l3/7t37qsd9lll224vE9nBg8ezM9+9jMuuOCCsh77ySef5MADD2TChAllx9uZV199lSuuuGKb99ORLltmI2JqSumZLtYHsEtKaVEFYtsif/2Vetea1nV09JWxak0rjf/yKz59wgwumLV77wcm9RBbZred/5sldYctsyrV3ZbZLQ1wuyoi+gG3kY2VXQLUA3sCRwHHAJ8FqpLMSuo9N/3+OS77yZ+6rDNyyMBeikaSJEk7ui6T2ZTS30bEPsCZwPnARKAZeBz4P+ALKaWWikcpqeoeX1xgyMD+XHz0nh2uH9i/H2/dd9u7okiSJEnl2OLUoymlx4BP9UIskrZjTc1Fxg0fxD8e2XEyK0mSJPWmsq6jERH9gROAqaXbpJS+XJmwJG1vvI6sJEmStiflzmb8U+BcYAwwvOQmaQdRaDGZlSRJO44jjzySLU1oN3fuXE488UQAbr/9dq688koAzj33XH74wx9WPMb2UkocffTRFAoFAPr377/JNWfb4ps6dSr777//Fp9fm0svvZSddtqJq6++uqz6f/7zn3nDG97AoEGDNtlm7dq1HHHEEbS2tnbzmXWsrJZZYFJK6XU98oiSalJTc5GdRwyudhiSJEnbpZNPPpmTTz657Pqtra0MGLDldCylREqJfv223A555513csABB9DQ0ABkl+RZsGBBh3XnzJnD2LFjy4r1qquuYujQoWXVBRg9ejRf+cpXuPXWWzcpHzhwIMcccww333wzZ555Ztn760y5LbM/i4i/2eZHk1SzCs2tXkdWkiT1Kc888wz77bffhuWrr76ayy+/fMPyd77zHQ488ED2228/5s2b1+W+brjhBi6++OINy7/61a9obGxkr7324o477thQ5+STT+boo4/mmGOOYdWqVRxzzDEcfPDB7L///tx2220b4po+fTpnn302++23H1dccQUf/vCHN+z7uuuu45JLLtkshtmzZ3PKKad06xg88MADvPOd7wTgtttuY/Dgwaxdu5aWlhZ2333rLrk4fvx4DjnkEOrqNj93fPvb387s2bO3ar/tldsyez/wk/wyPUUggJRSauiRKCRt11JKFJqLNAwu9ytDkiSpm372CXip68sAdttO+8PbrtzqzVevXs2CBQu4++67Of/883nkkUfK3vaZZ55h3rx5PPnkkxx11FEsXLgQgD/84Q88/PDDjB49mtbWVn7yk5/Q0NDAq6++ymGHHbahdfevf/0r3/72tznssMNYtWoVBxxwAFdddRV1dXX87//+L//zP/+z2WPed999m5Q3Nzdz4IEHblj+5Cc/ybve9a5NtjnooIM2tN7ec8897LfffjzwwAO0trZy6KGHdvjcLrnkEubMmbNZ+bvf/W4+8YlPdHlc2vbfE8o9M/0y8AbgTyml1COPLKlmrGldz9p16x0zK0mSdihnnHEGAEcccQSFQoEVK1YwcuTIsrY9/fTT6devH9OmTWP33Xfnz3/+MwDHHnsso0ePBrIGg8suu4y7776bfv368cILL/Dyyy8DsOuuu3LYYYcBMGzYMI4++mjuuOMOZsyYQbFYZP/999/sMZctW8bw4RunNuqqm3GbAQMGsMcee/D4448zb948/umf/om7776bdevWMWvWrA63ueaaa8o6Bh3p378/AwcOZOXKlZvEujXKTWafBx4xkZV2TE3NRQCTWUmSVDnb0IK6tQYMGMD69es3LLe0tGyyPiK6XO5KZ9uWjj2dPXs2S5Ys4cEHH6Suro6pU6duiKH9GNULLriAf/3Xf2XvvffmvPPO6/L5lDO+ttQRRxzBz372M+rq6njLW97Cueeey7p167jqqqs6rL8tLbMA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\n",
"text/plain": [
"<Figure size 1152x432 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"class DataGen(object):\n",
" def __init__(self, *, wmax, expwsq, truemu, seed):\n",
" import random\n",
" \n",
" self.gen = random.Random(seed)\n",
" self.truemu = truemu\n",
" self.wmax = wmax\n",
" \n",
" # E[w^2] = pwmax * wmax^2 + pone\n",
" # 1 = E[w] = pwmax * wmax + pone\n",
" pone = (wmax - expwsq) / (wmax - 1)\n",
" pwmax = (expwsq - 1) / (wmax * (wmax - 1))\n",
" pzero = 1 - pone - pwmax\n",
" self.probs = ( pzero, pone, pwmax )\n",
" \n",
" def genobs(self):\n",
" w = self.gen.choices(population=[0.0, 1.0, self.wmax,],\n",
" weights=self.probs,\n",
" )[0]\n",
" r = 1 if self.gen.random() > self.truemu else 0\n",
" return (w, r)\n",
"\n",
"def conjmix_empbern_ope_cs(w, r, v_opt, alpha=0.05, running_intersection=False):\n",
" import numpy as np\n",
" from confseq.boundaries import gamma_exponential_mixture_bound\n",
" \n",
" \"\"\"\n",
" Conjugate mixture empirical Bernstein OPE confidence sequence\n",
"\n",
" Parameters\n",
" ----------\n",
" w, array-like of reals\n",
" The observed importance weights\n",
" \n",
" r, array-like of [0, 1]-valued reals\n",
" The observed rewards\n",
"\n",
" v_opt, positive real\n",
" Intrinsic time at which to optimize the confidence sequence.\n",
" For example, if the variance is given by sigma, and one\n",
" wishes to optimize for time t, then v_opt = t*sigma^2.\n",
"\n",
" alpha, (0, 1)-valued real\n",
" Significance level\n",
"\n",
" running_intersection, boolean\n",
" Should the running intersection be taken?\n",
"\n",
" Returns\n",
" -------\n",
" l, array-like of reals\n",
" Lower confidence sequence\n",
"\n",
" u, array-like of reals\n",
" Upper confidence sequence\n",
" \"\"\"\n",
" \n",
" w = np.array(w)\n",
" r = np.array(r)\n",
" t = np.arange(1, len(r) + 1)\n",
" \n",
" xlow = np.array(w * r)\n",
" Slow_t = np.cumsum(xlow)\n",
" mulow_hat_t = Slow_t / t\n",
" mulow_hat_tminus1 = np.append(1 / 2, mulow_hat_t[0 : (len(mulow_hat_t) - 1)])\n",
" clipped_mulow_hat_tminus1 = np.clip(mulow_hat_tminus1, a_min=0, a_max=1)\n",
" Vlow_t = np.cumsum(np.power(xlow - clipped_mulow_hat_tminus1, 2))\n",
" bdry = (\n",
" gamma_exponential_mixture_bound(\n",
" Vlow_t, alpha=alpha / 2, v_opt=v_opt, c=1, alpha_opt=alpha / 2\n",
" )\n",
" / t\n",
" )\n",
" l = np.maximum(mulow_hat_t - bdry, 0)\n",
" \n",
" xhigh = np.array(w * (1 - r))\n",
" Shigh_t = np.cumsum(xhigh)\n",
" muhigh_hat_t = Shigh_t / t\n",
" muhigh_hat_tminus1 = np.append(1 / 2, muhigh_hat_t[0 : (len(muhigh_hat_t) - 1)])\n",
" clipped_muhigh_hat_tminus1 = np.clip(muhigh_hat_tminus1, a_min=0, a_max=1)\n",
" Vhigh_t = np.cumsum(np.power(xhigh - clipped_muhigh_hat_tminus1, 2))\n",
" bdry = (\n",
" gamma_exponential_mixture_bound(\n",
" Vhigh_t, alpha=alpha / 2, v_opt=v_opt, c=1, alpha_opt=alpha / 2\n",
" )\n",
" / t\n",
" )\n",
" u = 1 - np.maximum(muhigh_hat_t - bdry, 0)\n",
" \n",
" return get_running_intersection(l, u) if running_intersection else (l, u)\n",
"\n",
"def megasim(*, truemu, T, wmax, expwsq, v_opt, alpha = 0.05, seed=4545):\n",
" import itertools\n",
" from matplotlib import pyplot as plt \n",
"\n",
" datagen = DataGen(wmax=wmax, expwsq=expwsq, truemu=truemu, seed=seed)\n",
" obs = [datagen.genobs() for _ in range(T)]\n",
" w = [ v[0] for v in obs ]\n",
" r = [ v[1] for v in obs ]\n",
" \n",
" l, u = conjmix_empbern_ope_cs(w=w, r=r, v_opt=v_opt, alpha=alpha, running_intersection=False)\n",
" \n",
" fig, ax = plt.subplots(1, 2)\n",
" fig.set_size_inches(16, 6)\n",
" ax[0].plot(list(itertools.accumulate(( w*r for w, r in obs ))))\n",
" ax[0].set_ylabel('sum(wr)')\n",
" ax[1].plot(l, label='lb library (E[w]=1)')\n",
" ax[1].plot(u, label='ub library (E[w]=1)')\n",
"\n",
" ax[1].legend()\n",
" \n",
" fig.suptitle(f'expwsq = {expwsq} wmax={wmax} truemu={truemu} pzero={datagen.probs[0]:.3g} pone={datagen.probs[1]:.3g} pwmax={datagen.probs[2]:.3g}')\n",
" \n",
" return None\n",
" \n",
"megasim(truemu=0.5, T=500, wmax=10, expwsq=2, v_opt=10)\n",
"megasim(truemu=0.5, T=500, wmax=10, expwsq=10, v_opt=10)"
]
},
{
"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.13"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment