{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Robustní metody\n", "-----------------\n", "\n", "problém odlehlých hodnot \n", "\n", "M-odhady - pomocí vhodné váhové funkce je menší citlivost na vychýlené body než u nejm. čtverců ($d^2$)\n", "\n", "minimalizujeme $\\sum g(x_i,\\theta)$, ve většině případů lze derivovat podle odhadu $\\theta$: $\\psi(x_i,\\theta)=\\partial g(x_i,\\theta)/\\partial \\theta$ a váha se vyjádří jako\n", "\n", "$$w(r_i)=\\frac{\\psi(r_i)}{r_i}$$ kde $r_i=x_i-\\theta$\n", "\n", "[zdroj pro M-funkce](https://www.microsoft.com/en-us/research/wp-content/uploads/2016/11/RR-2676.pdf)\n", "\n", "\n", "![M-formule](https://is.muni.cz/auth/el/1431/podzim2018/FX003/um/extern/mfunc-form.png)\n", "\n", "[M-plot](https://is.muni.cz/auth/el/1431/podzim2018/FX003/um/extern/mfunc-plot.png \"grafy\")\n", " " ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [], "source": [ "%matplotlib inline\n", "from matplotlib import pyplot as pl\n", "import matplotlib\n", "matplotlib.rcParams['figure.figsize'] = [10, 5]\n", "#mpl.use(\"pgf\")\n", "#mpl.use('GTK')\n", "from numpy import r_,random" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "vytvoříme sadu dat s normálně rozdělenou nejistotou a příměsí **rovnoměrně rozdělených** vychýlených bodů \n", "\"správná\" funkce je lineární se sklonem `slp=-0.6`" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "\n", "frac=2.6\n", "slp=-.6\n", "x=r_[2:10:50j]\n", "y=x*slp+random.normal(3,0.4,size=x.shape) #sigma=0.4\n", "x2=np.concatenate([x,random.uniform(2,10,size=int(frac*x.size))])\n", "y2=np.concatenate([y,random.uniform(y.min()-3,y.max()+3,size=int(frac*x.size))])\n", "pl.plot(x2,y2,'.')" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Optimization terminated successfully.\n", " Current function value: 359.456525\n", " Iterations: 38\n", " Function evaluations: 73\n" ] }, { "data": { "text/plain": [ "array([-0.36046753, 2.22814956])" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c=2 #tuning constant\n", "gfunw=lambda z:c**2/2*(1-np.exp(-z**2/c**2)) #welsh\n", "gfunh=lambda z:(abs(z)=c)*(abs(c*z)-c**2/2) #huber\n", "gfun=gfunh\n", "#gfun=lambda z:abs(z)\n", "wei=lambda p:gfun(y2-p[1]-p[0]*x2).sum()\n", "from scipy import optimize as op\n", "eslp=-0.5 # uvodni odhad sklonu\n", "op.fmin(wei,[eslp,y2.mean()-eslp*x2.mean()])" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Optimization terminated successfully.\n", " Current function value: 480.614814\n", " Iterations: 38\n", " Function evaluations: 71\n" ] }, { "data": { "text/plain": [ "array([-0.19950445, 1.33355382])" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#klasicke nejmensi ctverce\n", "gfun=lambda z:z**2/2\n", "wei=lambda p:gfun(y2-p[1]-p[0]*x2).sum()\n", "op.fmin(wei,[eslp,y2.mean()-eslp*x2.mean()])" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "xn=r_[-5:5:0.1]\n", "pl.plot(xn,gfunw(xn))\n", "pl.plot(xn,gfunh(xn))\n", "pl.legend([\"Welsh\",\"Huber\"])\n", "np.polyfit(x2,y2,1)\n", "pl.ylabel(\"g-function\")\n", "pl.grid()" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Optimization terminated successfully.\n", " Current function value: 220.400542\n", " Iterations: 53\n", " Function evaluations: 103\n" ] }, { "data": { "text/plain": [ "array([-0.45024374, 2.52862874])" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# jina volba tuning constant\n", "c=1.\n", "op.fmin(wei,[-0.5,y2.mean()-0.5*x2.mean()])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### test 1: ruzná míra příměsi chybných bodů" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([[-6.08959666e-01, 3.13757895e+00, 3.92637486e+00],\n", " [-3.13869244e-01, 1.57777459e+00, 8.02712073e+01],\n", " [-2.64308623e-01, 1.49099130e+00, 1.28039101e+02],\n", " [-1.42113427e-01, 6.46775558e-01, 1.82791051e+02],\n", " [-9.89020838e-02, 4.24855483e-01, 2.37582129e+02],\n", " [-1.10087759e-01, 2.33485006e-01, 2.78530494e+02],\n", " [-9.31788691e-02, 1.79376265e-01, 3.08444432e+02],\n", " [-5.09951125e-02, -1.25000810e-01, 3.85642436e+02],\n", " [-3.59898911e-02, -1.69279406e-01, 4.30772941e+02],\n", " [-4.95478082e-02, -1.13680681e-01, 4.93414698e+02],\n", " [-3.58196399e-02, -2.28841317e-01, 5.35389812e+02],\n", " [-3.26899715e-02, -2.74270193e-01, 5.80518045e+02],\n", " [-2.35084188e-02, -3.65981566e-01, 6.26344737e+02]])" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# nejmensi ctverce\n", "gfunc=lambda z:z**2/2\n", "gfun=gfunc\n", "wei=lambda p:gfun(y3-p[1]-p[0]*x3).sum()\n", "rep=[]\n", "for j in range(len(y),len(y2),10):\n", " x3,y3=x2[:j],y2[:j]\n", " pars=op.fmin(wei,[eslp,y3.mean()-eslp*x3.mean()],disp=0)\n", " rep.append(list(pars)+[wei(pars)])\n", "arep=np.array(rep)\n", "arep" ] }, { "cell_type": "code", "execution_count": 75, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ -0.64126009, 3.30361015, 15.22644796],\n", " [ -0.5762716 , 3.01168627, 52.92207225],\n", " [ -0.56006586, 2.93240097, 79.23455588],\n", " [ -0.54906221, 2.85299144, 114.07496512],\n", " [ -0.50611256, 2.5898306 , 144.34935711],\n", " [ -0.52489502, 2.6112838 , 167.41217633],\n", " [ -0.49758764, 2.4673662 , 193.04907322],\n", " [ -0.48970335, 2.42586538, 232.86535561],\n", " [ -0.47130052, 2.32895698, 261.32180231],\n", " [ -0.48039263, 2.38306839, 290.42827521],\n", " [ -0.46391569, 2.29007158, 317.60531327],\n", " [ -0.46391751, 2.29007742, 342.3073334 ],\n", " [ -0.43087284, 1.98486189, 371.31153049]])" ] }, "execution_count": 75, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# median\n", "gfund=lambda z:abs(z)\n", "gfun=gfund\n", "wei=lambda p:gfun(y3-p[1]-p[0]*x3).sum()\n", "rep=[]\n", "for j in range(len(y),len(y2),10):\n", " x3,y3=x2[:j],y2[:j]\n", " pars=op.fmin(wei,[eslp,y3.mean()-eslp*x3.mean()],disp=0)\n", " rep.append(list(pars)+[wei(pars)])\n", "arepd=np.array(rep)\n", "arepd" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[-0.61821466, 3.19804894, 2.69353252],\n", " [-0.60932795, 3.13852253, 6.9363462 ],\n", " [-0.61579794, 3.14866671, 9.90087564],\n", " [-0.6173967 , 3.14778772, 13.74806474],\n", " [-0.62736467, 3.20777987, 17.22631185],\n", " [-0.62951194, 3.19870398, 20.6245352 ],\n", " [-0.62867645, 3.17827894, 24.6005521 ],\n", " [-0.62592605, 3.15080313, 28.85026654],\n", " [-0.62246403, 3.11127214, 32.47586517],\n", " [-0.63460864, 3.18949332, 35.81388724],\n", " [-0.62713478, 3.16079941, 39.68634182],\n", " [-0.62915309, 3.17963365, 42.63994786],\n", " [-0.64282686, 3.22902577, 46.23522185]])" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Geman-McClure - vychazi podobne jako Welsch\n", "gfunm=lambda z:z**2/2/(1+z**2)\n", "gfun=gfunm\n", "wei=lambda p:gfun(y3-p[1]-p[0]*x3).sum()\n", "rep=[]\n", "for j in range(len(y),len(y2),10):\n", " x3,y3=x2[:j],y2[:j]\n", " pars=op.fmin(wei,[eslp,y3.mean()-eslp*x3.mean()],disp=0)\n", " rep.append(list(pars)+[wei(pars)])\n", "arepm=np.array(rep)\n", "arepm" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([[ -0.61056797, 3.15013751, 3.9161817 ],\n", " [ -0.52037462, 2.66125443, 35.59781431],\n", " [ -0.50733224, 2.62327189, 57.42015026],\n", " [ -0.45446402, 2.3076043 , 86.63191423],\n", " [ -0.44222583, 2.24473079, 111.49880387],\n", " [ -0.44640274, 2.12914138, 129.81680715],\n", " [ -0.42165324, 1.99679521, 149.76149983],\n", " [ -0.39558253, 1.83485728, 184.24664415],\n", " [ -0.37381648, 1.73165223, 207.50546061],\n", " [ -0.39448041, 1.8367487 , 232.45862459],\n", " [ -0.36120213, 1.63901475, 253.820715 ],\n", " [ -0.35096498, 1.57438101, 273.89172845],\n", " [ -0.34791731, 1.4950359 , 297.62150897]])" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#Huberova funkce\n", "gfun=gfunh\n", "rep=[]\n", "wei=lambda p:gfun(y3-p[1]-p[0]*x3).sum()\n", "for j in range(len(y),len(y2),10):\n", " x3,y3=x2[:j],y2[:j]\n", " pars=op.fmin(wei,[eslp,y3.mean()-eslp*x3.mean()],disp=0)\n", " rep.append(list(pars)+[wei(pars)])\n", "areph=np.array(rep)\n", "areph" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([[-0.6169335 , 3.19343961, 3.08075253],\n", " [-0.60952179, 3.13900462, 7.74977683],\n", " [-0.61894493, 3.16797654, 10.96860818],\n", " [-0.62153829, 3.17221963, 15.04848392],\n", " [-0.63120374, 3.22985839, 18.89029532],\n", " [-0.63254527, 3.21984346, 22.84942969],\n", " [-0.63182213, 3.19580913, 27.37731856],\n", " [-0.62835212, 3.16571914, 31.93741664],\n", " [-0.62556002, 3.12899429, 35.90740688],\n", " [-0.63760218, 3.20548728, 39.65984109],\n", " [-0.63001351, 3.17939272, 43.97153902],\n", " [-0.63233994, 3.19534952, 47.19884854],\n", " [-0.64757426, 3.25313727, 51.16989575]])" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#Welshova funkce\n", "gfun=gfunw\n", "rep=[]\n", "wei=lambda p:gfun(y3-p[1]-p[0]*x3).sum()\n", "for j in range(len(y),len(y2),10):\n", " x3,y3=x2[:j],y2[:j]\n", " pars=op.fmin(wei,[eslp,y3.mean()-eslp*x3.mean()],disp=0)\n", " rep.append(list(pars)+[wei(pars)])\n", "arepw=np.array(rep)\n", "arepw" ] }, { "cell_type": "code", "execution_count": 77, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(-0.1, 0.8)" ] }, "execution_count": 77, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#vysledky testu pro sklon\n", "ix=np.arange(len(y),len(y2),10.)/len(y)\n", "ix=1-1/ix\n", "pl.plot(ix,arep[:,0],'s')\n", "pl.plot(ix,arepw[:,0],'d')\n", "pl.plot(ix,areph[:,0],'v')\n", "pl.plot(ix,arepd[:,0],'o')\n", "pl.legend([\"quad\",\"Welsh\",\"Huber\",\"absol.\"],loc=2)\n", "pl.ylabel(\"slope\")\n", "pl.ylim(-0.7,0.1)\n", "pl.grid()\n", "pl.xlabel(\"frac. outlier.\")\n", "pl.xlim(-0.1,0.8)" ] }, { "cell_type": "code", "execution_count": 113, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(-0.1, 0.8)" ] }, "execution_count": 113, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnEAAAFACAYAAADTQyqtAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3X18XGWd8P/Pt0lqaINVaIrtghZ/QJXFAqUiBXVTQKkPpfCyCKwPsD5gXNiVrnovu6wsAi760xV0662LqyL4AIWVbYvcCAIRERBaLCDU0orodtvb0gKlASpNe91/zKQkaZJOHmbOnJnP+/XKK3OuOXPm+80kk+9c17muEyklJEmSlC9jsg5AkiRJQ2cRJ0mSlEMWcZIkSTlkESdJkpRDFnGSJEk5ZBEnSZKUQxZxkiRJOWQRJ0mSlEMWcZIkSTnUmHUAo+0Vr3hFOuCAA7IOo+Kee+45xo8fn3UYFWfe9cW864t515d6zXv58uUbU0qtw3lszRVx++yzD8uWLcs6jIrr6Oigra0t6zAqzrzri3nXF/OuL/Wad0T8friPdThVkiQphyziJEmScsgiTpIkKYcs4iRJknLIIk6SJCmHLOIkSZJyyCJOkiQphyzicm7z0qWsPvY4JrV/nNXHHsfmpUuzDkmSJFVAzS32W082L13K+s9cQNq6lQC61q1j/WcuAGDC3LnZBidJksrKnrgc23DZ5aStW3u1pa1b2XDZ5RlFJEmSKsUiLse61q8fUrskSbmwYSV87ajCdw3IIi7HGidPHlK7JO2W/zyVtRefg++fAk/+pvD9xeeyjqhqWcTl2KQF5xLNzb3aormZSQvOzSgiSblWTf88N6zkjff9jcVkPVp8Njz3JJAK3xefk3VEVcsiLscmzJ3L5IsvonHKFBLQOGUKky++yEkNkoanWv55FovJcc//d/bFZC2rxl7XB74Hj/0Euorne3dthcduLrRrFxZxOTdh7lwOvGYhr/lQIwdes9ACTtLwVNM/z2IxGZUuJquxqCmXLHpdS/n53nYhbHu+d9u25wvt2oVFXN75iVW1opb/geYht2r555lVMVlNQ8mVMNJe16H+Tpf68z3uQmga17utaRwc/9mhxVcnLOLyLqtPrNJoquV/oHnJrVr+eWZVTJZ7KLmaCvmRFsrD+Z0u9ec74/1w0AnQWDzfu7EZDpoDh7+vtNjqjEVcnlXT8IcGVk1v3tWqWs7FKoe85FYt/zyzKCbL/V5abYX8SAvlof5OD/XnO+9rML4ViML3eQtLi6sOWcTl2PwHLuUN+07kDfu/+qWvfScy/4FLsw5N3artzbsa1fKHkbzlVg3/PLMoJsvd+1eOQn4kHw5HUigP53d6qD/fsePhfddB6+sK38eO331cdcoiLse2vbA/TTtSr7amHYltL+yfUUTaRV56YbJULedilUPecquWf57FYjJVqpgsZ+9fOQr5kX44HEmhPJzf6eH8fCe9Hs6+t/BdA7KIy7GH/vi+wptcD4ngof/7/owiUi9564XJSrWci1UOecytGv55FovJ58ftV5lispy9f+Uo5Efjw+Fwe12H8ztdLUP1NcgiLsdS18t58ZmZNBZ74xp3JF58ZiZp+54ZRyYgf70wWanlN/hazq3cJr2e+4/8t8oVk+UaSh7tQn60PhwOt9d1uL/T1TBUX4Ms4nLu+U1vp4tGALpo5PmNJ2QckXbKYy9MVmr5Db6Wc6sl5RpKHu1CfjQ/HA6313U4v9PVMlRfYyzicq67Ny6l4MVn3mgvXDWxF6Z0tfwGX8u51ZpyDSWPZiFfDR8Oh/s7XQ1D9TXGIq4GvLjpOLY/P5UXNx6XdSjqy16Y0tXyG3wt56bdG81Cvlo+HPo7XRUs4nJsYstYoNAb98IfPrazF667XVXAXhhJMLpFjx8OVdSYdQAavmX/9Ladtzs6Omhra8suGA2s+81bkkZD94fD6/4KTvmOHw7rWGY9cRHRHBH3RcSDEfFIROwyoB8RL4uIayNiTUT8MiKmVj5Safg2L13K6mOPY+XrD2b1scexeenSrEOSVAsczhTZDqf+CTg2pXQocBgwJyKO6rPPh4GnU0oHAJcBX6hwjNKwbV66lPWfuYCudesgJbrWrWP9Zy6wkJMkjYrMirhU0FncbCp+pT67zQO+W7x9PXBcRARSDmy47HLS1q292tLWrWy47PKMIpIk1ZJMJzZERENErAA2ALemlH7ZZ5c/A/4bIKXUBWwG9q5slNLwdK1fP6R2SZKGIlLq2/mVQRARrwBuAP4mpfTrHu2PACeklNYWt38LHJlS2tTn8WcBZwG0trYesWjRoorFXi06OztpaWnJOoyKq+a8J/7j+TQ89dQu7dv32ouN//K5ER27mvMuJ/OuL+ZdX+o179mzZy9PKc0czmOroogDiIh/Bp5LKX2pR9tPgAtTSvdERCPwf4HWNEjQ06ZNS6tWrSp/wFWmXmenVnPe3efE9RxSjeZmJl98ERPmzh3Rsas57+HYvHQpGy67nK7162mcPJlJC87t92dUa3mXyrzri3nXl4gYdhGX5ezU1mIPHBGxB3A88Js+uy0Bzijeng/cPlgBJ1WTCXPnMvnii2icMgUiaJwyZVQKuFrjBBBJGp4s14mbDHw3IhooFJOLUko3RsRFwLKU0hLgW8DVEbEGeAo4LbtwpaGbMHeuRdtuDDYBxJ+dJA0ssyIupfQQcHg/7Rf0uL0VOKWScUmqLCeASNLweNktSZlqnDx5SO2SpAKLOEmZmrTgXKK5uVdbNDczacG5GUUkSflgEScpU7U+AcRLr0kqlywnNkgSULsTQPouM9M98xaoyXwlVZY9cZJUJl56TVI5WcRJUpk481ZSOVnESVKZOPNWUjlZxElSmTjzVlI5ObFBksqke/JCKdeFlaShsoiTpDKq1Zm3krLncKokSVIOWcRJkiTlkEWcJElSDlnESZIk5ZBFnCRJUg45O1Uqk/lL5rPq6VW7tE975TSuP/H6DCKSJNUSe+KkMjl00qE0jWnq1dY0ponDJh2WUUSSpFpiT5xUJu3T21m8ZnGvtjExhvZD2zOKqDrZYylJw2NPnFQmreNamXfAvJ29cU1jmjjpgJOYuMfEjCOrLvZYqq/NS5ey+tjjmNT+cVYfexybly7NOiSpKlnESWXUPr2dMVH4M7MXrn89f0bd/Fllo7t4Wvn6gzMrnjYvXcr6z1xA17p1BNC1bh3rP3OBhZzUD4s4qYy6e+OCsBduAPZYVoeexRMpZVY8bbjsctLWrb3a0tatbLjs8orGIeWBRZxUZu3T25mxzwx7lgZhj2X2qqV46lq/fkjtUj2ziJPKrHVcK1fOudKepUHYY5m9aimeGidPHlK7VM8s4iRVBXsss1UtxdOkBecSzc292qK5mUkLzq1oHFIeWMRJqgr2WGarWoqnCXPnMvnii2icMoUENE6ZwuSLL2LC3LkVjUPKg8zWiYuI/YCrgFcBO4ArUkpf6bNPG7AY+F2x6UcppYsqGack1YPuImnDZZfTtX49jZMnM2nBuZkUTxPmzmXC3Ll0dHTQ1tZW8eeX8iLLxX67gE+mlB6IiD2B5RFxa0rp0T77/Tyl9O4M4pOkutJdPEnKh8yGU1NK61NKDxRvbwFWAn+WVTySJEl5EimlrGMgIqYCdwKHpJSe7dHeBvwnsBZYB3wqpfRIP48/CzgLoLW19YhFixaVP+gq09nZSUtLS9ZhVJx51xfzri+VzLv5l/fRsngxY556ih177UXnvHlsfdORFXnuvny968vs2bOXp5RmDuexmRdxEdEC/Az4XErpR33uezmwI6XUGRHvBL6SUjpwsONNmzYtrVq163UYa129njti3vXFvOtLpfLuXui45zp50dyc2YQKX+/6EhHDLuIynZ0aEU0Uetq+37eAA0gpPZtS6izevgloiginrkmSRk25FzquhsuZqTZlOTs1gG8BK1NKXx5gn1cBf0wppYg4kkLRuamCYUqSalw5Fzru28vXfTkzwEkkGrEse+KOAT4AHBsRK4pf74yI9ojoXu1zPvDriHgQ+CpwWsp6/FeSVFPKudBxtVzOTLUps564lNJdQOxmn4XAwspEJEmqR5MWnNvvOXGjsdBxtVzOrK/NS5dWxZqAGpks14mTJClz5VzouHHyZLrWreu3PSsO8dYOizhJUt0r10LH5ezlG67Bhngt4vLFIk6SpDKppsuZdavWIV4NnUWcJEllNNq9fCM9n60ah3g1PBZxklQm85fMZ9XTuy4+Pu2V07j+xOsziEh5Nxrns1XjEK+GJ9PFfiWplh066VCaxjT1amsa08Rhkw7LKCLl3WgsWTJh7lwmX3wRjVOmQASNU6ZkdnUKjYxFnCSVSfv0dsZE77fZMTGG9kPbB3iENLjROp9twty5HHj7bbx+5aMcePttQyrghnMFCq9aUR4WcZJUJq3jWpl3wLydvXFNY5o46YCTmLiHVw/U8JRzYeJSdA/ndq1bByntHM4drCgbzmNUGos4SSqjnr1x9sJppCYtOJdobu7VVsnz2YYznOtVK8rHiQ2SVEbdvXHXrbquqnvhnISRD1kvWTKc4VyXNCkfizhJKrP26e389pnfVnUv3KGTDuXxzY+zbce2nW1OwqhO5VqYuBTDWZ7EJU3Kx+FUSSqz1nGtXDnnyqrthQMnYag0wxnOzXoIuJZZxEmSnIShkgxneRKXNCkfh1MlSUChN27xmsWAvXAa2HCGc7McAq5l9sRJkoCXeuOCsBdOygF74iRJO+VhEoakAos4SdJO3ZMwsrLLUiffLXxzqRNpVw6nSpKqhteblUpnESdJqhoudSKVziJOklQ1XOpEKp1FnCSpqni9Wak0FnGSpKriUidSaSziJElVp316O6992WvthZMGYREnSao6reNaOfdV59oLJw3CIk6SJCmHMlvsNyL2A64CXgXsAK5IKX2lzz4BfAV4J/A8cGZK6YFKxypJql27LDBc5ALDqnZZ9sR1AZ9MKb0eOAo4OyIO7rPPO4ADi19nAV+vbIiSpFrnAsPVZfPSpaw+9jhWvv5gVh97HJuXLs06pKqVWRGXUlrf3auWUtoCrAT+rM9u84CrUsG9wCsiYnKFQ5Uk1TAXGK4em5cuZf1nLqBr3TpIia5161j/mQss5AYQKaWsYyAipgJ3AoeklJ7t0X4j8PmU0l3F7duAv08pLevz+LMo9NTR2tp6xKJFiyoUefXo7OykpaUl6zAqzrzri3nXl0rmfe2ma7mn8x62s50GGpjVMotT9z61Is/dVz2/3lP/5VIannpql/u277UXG//lcxlEVX6zZ89enlKaOZzHZnZOXLeIaAH+Ezi3ZwHXfXc/D9ml6kwpXQFcATBt2rTU1tY22mFWvY6ODsy7fph3fTHv8vvz5/+cd/zoHWzfvp3GhkYufufFmc2MrefXu+Hpp/u9r+Hpp+vyZ7I7mc5OjYgmCgXc91NKP+pnl7XAfj229wXWVSI2SVL9cIHh6tA4uf8zpgZqr3eZFXHFmaffAlamlL48wG5LgA9GwVHA5pTS+ooFKUmqG+3T25mxzwzPhcvQpAXnEs3NvdqiuZlJC87NKKLqluVw6jHAB4CHI2JFse0fgVcDpJS+AdxEYXmRNRSWGPmrDOKUJNWB1nGtXDnnyqzDqGsT5s4FYMNll9O1fj2NkyczacG5O9vVW2ZFXHGyQn/nvPXcJwFnVyYiSZKUtQlz51q0lcgrNkiSJOWQRZwkSVIOZb7EiCRJtaoaL+lVjTFpeOyJkySpTKrxkl7VGJOGxyJOkqQyqcZLelVjTBoeizhJksqkexHh7p6vpjFNmS8mXI0xaXgs4iRJKqOePV/V0uNVjTFp6CziJEkqo2q8pFc1xqShc3aqJEll1j69nd8+89uq6vGqxpg0NBZxkiSV2Whd0ms0lwfxMmP553CqJEk54fIg6skiTpKknHB5EPVkESdJUk64PIh6soiTJClHXB5E3SziJEnKEZcHUTdnp0qSlDNZLQ8ymrNjNXL2xEmSlDPdy4NUuhfO2bHVxSJOkiSVxNmx1WXYRVxEXDiKcUiSpCrn7NjqMpKeuOWjFoUkScoFZ8dWj2FPbEgpLR3NQKRaM/OSW9nY+eIu7RNbxrLsn96WQUSSNHLdvXHXrbqupF44J0OUz6BFXET8G5AGuj+l9LejHpFUI/or4AZrl6S8GMrs2EMnHcrjmx9n245tO9ucDDE6dtcTt6wiUUiSpNzonh1bivbp7Sxes7hXm8Owo2PQIi6l9N2e2xGxZ6E5dZY1KkmSVBO6h19vWH0D23ZsczLEKCppYkNEHBIRvwJ+DTwaEcsj4s/LG5okSaoFToYoj1InNlwB/F1K6Q6AiGgDvgkcPZInj4hvA+8GNqSUDunn/jZgMfC7YtOPUkoXjeQ5JVUXJ4BIta/UyRBOghiaUpcYGd9dwAGklDqA8aPw/FcCc3azz89TSocVvyzglBsTW8YOqb1eOQFEqg/t09uZsc+MQXvhvCLE0JTaE/d4RHwGuLq4/X5e6h0btpTSnRExdaTHkaqRvUiS9JJSJkM4CWJoIqUBVxB5aaeIVwKfBd4MBPAz4LMppadHHEChiLtxkOHU/wTWAuuAT6WUHulnv7OAswBaW1uPWLRo0UjDyp3Ozk5aWlqyDqPizDv/zrz5uQHvu3JO7w7/Wsp7KMy7vtR73tduupZ7Ou9hO9tpoIFZLbM4de9Tsw6vbGbPnr08pTRzOI8tqYjr9YCIBgrDq88O5wn7Od5UBi7iXg7sSCl1RsQ7ga+klA4c7HjTpk1Lq1btOp5e6zo6Omhra8s6jIoz7/ybet6PB7zvic+/q9d2LeU9FOZdX+o97yeff5J3/Ogd/Gn7n3hZw8u4+T031/RM1ogYdhFX6uzUH0TEyyNiPPAIsCoiPj2cJxyKlNKz3cuZpJRuApoionZfSUmS6lz3JIggXIpkN0qd2HBwseftJOAm4NXAB8oWVVFEvCoionj7SArxbir380qqHCeASOqrlEkQKn1iQ1NENFEo4hamlLZFxNDGYfsRET8E2oCJEbEW+GegCSCl9A1gPvDxiOgCXgBOS0Md/5VU1ZwAIqmvoVwRop6VWsT9O/AE8CBwZ0S8BhjxOXEppdN3c/9CYOFIn0eSJKnWlFTEpZS+Cny1R9PvI2J2eUKSJEnS7pQ6sWHviPhqRDxQvOTWV4AJZY5NkiRJAyh1YsM1wJPAeyicp/YkcG25gpIkSdLgSj0nbq+U0sU9ti+JiJPKEZAkSZJ2r9SeuDsi4rSIGFP8ei8w8AqdkiRJKqtBe+IiYguQKFxq6+946dqpDUAnhSVBJEmSVGGDFnEppT27b0fEXsCBQHO5g5IkSdLgSjonLiI+AnwC2BdYARwF3A0cV77QJEmSNJBSz4n7BPBG4PcppdnA4cDGskUlSZKkQZVaxG1NKW0FiIiXpZR+A0wrX1iSJEkaTKlLjKyNiFcA/wXcGhFPA+vKF5YkSZIGU+plt04u3rwwIu6gcLWGm8sWlSRJkgZVak/cTimln5UjEEmSJJWu1HPiJEmSVEUs4iRJknLIIk6SJCmHLOIkSZJyyCJOkiQphyziJEmScsgiTpIkKYcs4iRJknLIIk6SJCmHLOIkSZJyyCJOkiQphzIt4iLi2xGxISJ+PcD9ERFfjYg1EfFQRMyodIySJEnVKOueuCuBOYPc/w7gwOLXWcDXKxCTJElS1cu0iEsp3Qk8Ncgu84CrUsG9wCsiYnJlopMkSapekVLKNoCIqcCNKaVD+rnvRuDzKaW7itu3AX+fUlrWZ7+zKPTU0draesSiRYvKHXbV6ezspKWlJeswKs6864t51xfzri/1mvfs2bOXp5RmDuexjaMdzCiLftp2qTpTSlcAVwBMmzYttbW1lTms6tPR0YF51w/zri/mXV/MW6XK+py43VkL7Ndje19gXUaxSJIkVY1qL+KWAB8szlI9CticUlqfdVCSJElZy3Q4NSJ+CLQBEyNiLfDPQBNASukbwE3AO4E1wPPAX2UTqSRJUnXJtIhLKZ2+m/sTcHaFwpEkScqNah9OlSRJUj8s4iRJknLIIk6SJCmHLOIkSZJyyCJOkiQphyziJEmScsgiTpIkKYcs4iRJknLIIk6SJCmHLOIkSZJyyCJOkiQphyziJEmScsgiTpIkKYcs4iRJknLIIk6SJCmHGrMOQJJq1cxLbmVj54u7tE9sGcuyf3pbBhFJqiX2xElSmfRXwA3WLklDYREnSZKUQxZxkiRJOWQRJ0mSlEMWcZIkSTlkESdJZTKxZeyQ2iVpKFxiRJLKxGVEJJWTPXGSJEk5ZBEnSZKUQ5kWcRExJyJWRcSaiDivn/vPjIgnI2JF8esjWcQpSZJUbTI7Jy4iGoCvAW8D1gL3R8SSlNKjfXa9NqV0TsUDlCRJqmJZ9sQdCaxJKT2eUnoRuAaYl2E8kiRJuREppWyeOGI+MCel9JHi9geAN/XsdYuIM4FLgSeBx4AFKaX/7udYZwFnAbS2th6xaNGi8idQZTo7O2lpack6jIoz7/pi3vXFvOtLveY9e/bs5SmlmcN5bJZLjEQ/bX0ryqXAD1NKf4qIduC7wLG7PCilK4ArAKZNm5ba2tpGOdTq19HRgXnXD/OuL+ZdX8xbpcqyiFsL7Ndje19gXc8dUkqbemx+E/hCBeKSpLoz85Jb2dj54i7tE1vGut6dVKWyPCfufuDAiNg/IsYCpwFLeu4QEZN7bJ4IrKxgfJJUN/or4AZrl5S9zHriUkpdEXEO8BOgAfh2SumRiLgIWJZSWgL8bUScCHQBTwFnZhWvJElSNcn0slsppZuAm/q0XdDj9j8A/1DpuCRJkqqdV2yQJEnKIYs4SZKkHLKIkyQxsWXskNolZS/Tc+IkSdXBZUSk/LEnTpIkKYcs4iRJknLIIk6SJCmHLOIkSZJyyCJOkiQph5ydKkmqGjMvubX39Vpv/jFQWOrEGbRSb/bESZKqRq8CroR2qZ5ZxEmSJOVQXQynbtu2jbVr17J169asQymbCRMmsHLlykH3aW5uZt9996WpqalCUUmSpHKpiyJu7dq17LnnnkydOpWIyDqcstiyZQt77rnngPenlNi0aRNr165l//33r2BkklTddjkPr8jz8FTt6mI4devWrey99941W8CVIiLYe++9a7o3UpKGw/PwlFd1UcQBdV3AdfNnIKnaTWwZO6R2qZ7VxXCqJCkfeg5fdnR00NbWll0wUpWziOsjb+dGnHnmmbz73e/mhBNOyDoUSZJUQXUznFoqz42QJEl5YBFXQZ/73OeYNm0axx9/PKeffjpf+tKXaGtrY9myZQBs3LiRqVOnAvDEE0/wlre8hRkzZjBjxgzuvvtuoDDL9JxzzuHggw/mXe96Fxs2bMgqHUmqCZ6Hp7xyOLVCli9fzjXXXMOvfvUrurq6mDFjBkccccSA+0+aNIlbb72V5uZmVq9ezemnn86yZcu44YYbWLVqFQ8//DB//OMfOfjgg/nQhz5UwUwkqbZU46kyUiks4irk5z//OSeffDLjxo0D4MQTTxx0/23btnHOOeewYsUKGhoaeOyxxwC48847Of3002loaGDKlCkce+yxZY9dkiRVH4u4CupviY/GxkZ27NgB0GsNt8suu4x99tmHBx98kB07dtDc3DzocSRJUn3xnLg+ynVuxFvf+lZuuOEGXnjhBbZs2cLSpUsBmDp1KsuXLwfg+uuv37n/5s2bmTx5MmPGjOHqq69m+/btO49zzTXXsH37dtavX88dd9wxorgkSVI+2RPXR7nOjZgxYwannnoqhx12GK95zWt4y1veAsCnPvUp3vve93L11Vf3Ghr967/+a97znvdw3XXXMXv2bMaPHw/AySefzO23384b3vAGDjroIP7iL/6iLPFKkqTqlmkRFxFzgK8ADcB/pJQ+3+f+lwFXAUcAm4BTU0pPVDrO0XL++edz/vnnA3DhhRcC8LrXvY6HHnpo5z6XXHIJAAceeGCv9ksvvRQoDKUuXLhwl2Nv2bKlXGFLkqQqlNlwakQ0AF8D3gEcDJweEQf32e3DwNMppQOAy4AvVDZKSZKk6pRlT9yRwJqU0uMAEXENMA94tMc+84ALi7evBxZGRKSUUiUDLYfunjhJkqThiKzqoYiYD8xJKX2kuP0B4E0ppXN67PPr4j5ri9u/Le6zsc+xzgLOAmhtbT1i0aJFvZ5rwoQJHHDAAeVMJ3Pbt2+noaFht/utWbOGzZs3VyCiyujs7KSlpSXrMCrOvOuLedcX864vs2fPXp5Smjmcx2bZE9ffOhl9K8pS9iGldAVwBcC0adNS3wsmr1y5kj333HN4UebEli1bSsqxubmZww8/vAIRVUa9XiDbvOuLedcX81apslxiZC2wX4/tfYF1A+0TEY3ABOCpikQnSZJUxbIs4u4HDoyI/SNiLHAasKTPPkuAM4q35wO3V+x8uA0r4WtHFb6PggULFnD55Zfv3D7hhBP4yEc+snP7k5/8JF/+8pcHfPzuupgnT5488iAlSVJuZDacmlLqiohzgJ9QWGLk2ymlRyLiImBZSmkJ8C3g6ohYQ6EH7rSKBPfic/D9U2Dz2sL3s38JY8eP6JBHH3001113Heeeey47duxg48aNPPvsszvvv/vuu3sVeZIklcPMS25lY+eLu7RPbBnrdWRzJtN14lJKNwE39Wm7oMftrcAplY6LxWfDc08CqfB98TlwyndGdMhjjjmGBQsWAPDII49wyCGHsH79ep5++mnGjRvHypUrOfzww/niF7/IokWL+NOf/sTJJ5/MZz/72V7HWb9+PaeeeirPPvssXV1dfP3rX9+5cPD555/PjTfeyB577MHixYvZZ599RhSzJGlkqrFg6i+ewdpVvbzsVl8PfA8e+wl0Fa9j2rUVHru50D4CU6ZMobGxkT/84Q/cfffdzJo1ize96U3cc889LFu2jOnTp9PR0cHq1au57777WLFiBcuXL+fOO+/sdZwf/OAHnHDCCaxYsYIHH3yQww47DIDnnnuOo446igcffJC3vvWtfPOb3xxRvJKkkbNgUjlZxPV124Ww7fnebdueL7SP0DHHHMPdd9+9s4ibNWvWzu2jjz6aW265hVtuuYV3MFJkAAAOx0lEQVTDDz+cGTNm8Jvf/IbVq1f3OsYb3/hGvvOd73DhhRfy8MMP75yROnbsWN797ncDcMQRR/DEE0+MOF5JklS9vHZqX8ddCP/n070LuaZxcPxnB3xIqY4++mjuvvtuHn74YQ455BD2228//vVf/5WXv/zlfOhDH6Kjo4N/+Id/4GMf+9iAx3jrW9/KnXfeyY9//GM+8IEP8OlPf5oPfvCDNDU1EVFYkaWhoYGurq4RxytJqi7VODyr7NgT19eM98NBJ0Bjc2G7sRkOmgOHv2/Ehz7mmGO48cYb2WuvvWhoaGCvvfbimWee4Z577mHWrFmccMIJfPvb36azsxOA//mf/2HDhg29jvH73/+eSZMm8dGPfpQPf/jDPPDAAyOOS5KUDw7Pqid74voz72vwtTcVZqeOb4V5u15wfjje8IY3sHHjRv7yL/+yV1tnZycTJ07k7W9/OytXrmTWrFlAYVmR733ve0yaNGnn/h0dHXzxi1+kqamJlpYWrrrqqlGJTZJUHya2jB2wN0/5YhHXn7Hj4X3XwXV/VZiVOsLlRbo1NDT0WlYE4Morr+y1/YlPfIJPfOITuzy2u3fujDPO4Iwzztjl/vXr1++8PX/+fObPnz8KEUuSRqIaCyaHXWuHRdxAJr0ezr436ygkSTlWawWT5+RVF8+JkyRJJfGcvOpiESdJUk4MNAzr+Wz1yeFUSZJyIo9Dlg7Blo89cZIkqWwcgi0fizhJkqQcsoiTJEkl8Zy86uI5cX3MXzKfVU+v2qV92iuncf2J1w/7uC0tLTvXeoPC+nDLli1j4cKBFxLu6OjgS1/6EjfeeOOwn1eSpNHiOWzVxZ64Pg6ddChNY5p6tTWNaeKwSYdlFNHwbd++PesQJElSmVjE9dE+vZ0x0fvHMibG0H5oe9me88wzz+T661/q5Wtpadl5+9lnn+Xkk0/m4IMPpr29nR07dgBwyy23MGvWLGbMmMEpp5yys5dv6tSpXHTRRbz5zW/muuuuK1vMkiSVYihDsDMvuZWp5/14l6+Zl9xa7jBzyeHUPlrHtTLvgHncsPoGtu3YRtOYJk464CQm7jFxRMd94YUXOOywl3rznnrqKU488cTdPu6+++7j0Ucf5TWveQ1z5szhRz/6EW1tbVxyySX89Kc/Zfz48XzhC19g4cKFfO5znwOgubmZu+66a0TxSpI0GoYyBOtM1qGxiOtH+/R2Fq9ZDIxeL9wee+zBihUrdm53nxO3O0ceeSSvfe1rATj99NO56667aG5u5tFHH+WYY44B4MUXX2TmzJk7H3PqqaeOOF5JklTdLOL60d0bd92q60alF253Ghsbdw6TppR48cWXPnFERK99I4KUEm9729v44Q9/uLN9y5YtO2+PHz++rPFKkqTseU7cANqntzNjnxllPReu29SpU1m+fDkAixcvZtu2bTvvu++++/jd737Hjh07uPbaa3nzm9/MUUcdxS9+8QvWrFkDwPPPP8/q1avLHqckSaoeFnEDaB3XypVzrix7LxzARz/6UX72s59x5JFH8stf/rJXT9qsWbM477zzOOSQQ9h///05+eSTaW1t5corr+T0009n+vTpHHXUURZxkiTVGYdTK6TnGnFQmJF65plnArDPPvtw77337rzv0ksvBaCtrY22trZ+j3fsscdy//3379zuHk594oknRi9oSZIqaGLL2AGvs6pdWcRJkqSq4GLCQ+NwqiRJUg5lUsRFxF4RcWtErC5+f+UA+22PiBXFryUjec6U0kgeXhP8GUiSVDuy6ok7D7gtpXQgcFtxuz8vpJQOK37tfmXcATQ3N7Np06a6LmJSSmzatInm5uasQ5EkSaMgq3Pi5gFtxdvfBTqAvy/Xk+27776sXbuWJ598slxPkbmtW7futkBrbm5m3333rVBEkiSpnCKL3qmIeCal9Ioe20+nlHYZUo2ILmAF0AV8PqX0XwMc7yzgLIDW1tYjFi1aVJ7Aq1hnZ2eva67WC/OuL+ZdX8y7vtRr3rNnz16eUpq5+z13VbaeuIj4KfCqfu46fwiHeXVKaV1EvBa4PSIeTin9tu9OKaUrgCsApk2blgZalqOWdXR0DLgcSS0z7/pi3vXFvOtLveY9EmUr4lJKxw90X0T8MSImp5TWR8RkYMMAx1hX/P54RHQAhwO7FHGSJEn1JquJDUuAM4q3zwAW990hIl4ZES8r3p4IHAM8WrEIJUmSqlhW58TtDSwCXg38ATglpfRURMwE2lNKH4mIo4F/B3ZQKDYvTyl9q4RjbwFWlS/6qjUR2Jh1EBkw7/pi3vXFvOtLveY9LaW053AemEkRV04RsWy4JwjmmXnXF/OuL+ZdX8y7vowkb6/YIEmSlEMWcZIkSTlUi0XcFVkHkBHzri/mXV/Mu76Yd30Zdt41d06cJElSPajFnjhJkqSaZxEnSZKUQ7kv4iJir4i4NSJWF7/vcg3W4n43R8QzEXFjpWMcTRExJyJWRcSaiDivn/tfFhHXFu//ZURMrXyUo6+EvN8aEQ9ERFdEzM8ixnIoIe+/i4hHI+KhiLgtIl6TRZyjrYS82yPi4YhYERF3RcTBWcQ52naXd4/95kdEKq6tmXslvN5nRsSTxdd7RUR8JIs4R1spr3dEvLf4N/5IRPyg0jGWQwmv92U9XuvHIuKZLOIcbSXk/eqIuCMiflV8T3/nbg+aUsr1F/D/A+cVb58HfGGA/Y4D5gI3Zh3zCHJtoHDZsdcCY4EHgYP77PPXwDeKt08Drs067grlPRWYDlwFzM865grmPRsYV7z98Tp6vV/e4/aJwM1Zx12JvIv77QncCdwLzMw67gq93mcCC7OONYO8DwR+BbyyuD0p67grkXef/f8G+HbWcVfo9b4C+Hjx9sHAE7s7bu574oB5wHeLt78LnNTfTiml24AtlQqqTI4E1qSUHk8pvQhcQyH/nnr+PK4HjouIqGCM5bDbvFNKT6SUHqJwhY9aUUred6SUni9u3gvsW+EYy6GUvJ/tsTkeqIUZWqX8fQNcTOHD69ZKBldGpeZda0rJ+6PA11JKTwOklPq9znjODPX1Ph34YUUiK69S8k7Ay4u3JwDrdnfQWiji9kkprQcofp+UcTzl9GfAf/fYXlts63eflFIXsBnYuyLRlU8pedeioeb9YeD/lDWiyigp74g4OyJ+S6Gg+dsKxVZOu807Ig4H9ksp5fq0kD5K/T1/T3GI6fqI2K8yoZVVKXkfBBwUEb+IiHsjYk7Foiufkt/XiqeH7A/cXoG4yq2UvC8E3h8Ra4GbKPRCDioXRVxE/DQift3PVz18Wuupvx61vj0QpeyTN7WYUylKzjsi3g/MBL5Y1ogqo6S8U0pfSyn9f8DfA/9U9qjKb9C8I2IMcBnwyYpFVBmlvN5LgakppenAT3lptCHPSsm7kcKQahuFHqn/iIhXlDmuchvK+/lpwPUppe1ljKdSSsn7dODKlNK+wDuBq4t/9wNqHKXgyiqldPxA90XEHyNickppfURMBmqhu3kga4Gen0D3Zdfu1u591kZEI4Uu2acqE17ZlJJ3LSop74g4Hjgf+IuU0p8qFFs5DfX1vgb4elkjqozd5b0ncAjQUTxD4lXAkog4MaW0rGJRjr7dvt4ppU09Nr8JfKECcZVbqe/n96aUtgG/i4hVFIq6+ysTYlkM5e/7NODsskdUGaXk/WFgDkBK6Z6IaAYmMkhdk4ueuN1YApxRvH0GsDjDWMrtfuDAiNg/IsZS+AVf0mefnj+P+cDtqXiWZI6Vknct2m3exeG1fwdOrJHzZaC0vA/ssfkuYHUF4yuXQfNOKW1OKU1MKU1NKU2lcA5k3gs4KO31ntxj80RgZQXjK5dS3tf+i8LkJSJiIoXh1ccrGuXoK+n9PCKmAa8E7qlwfOVSSt5/oDAJk4h4PdAMPDnoUbOesTEKMz72Bm6j8CZ+G7BXsX0m8B899vt58YfxAoWK+ISsYx9mvu8EHqMwy+X8YttFFN7MKb7o1wFrgPuA12Ydc4XyfmPxdX0O2AQ8knXMFcr7p8AfgRXFryVZx1yhvL8CPFLM+Q7gz7OOuRJ599m3gxqYnVri631p8fV+sPh6vy7rmCuUdwBfBh4FHgZOyzrmSuRd3L4Q+HzWsVb49T4Y+EXx93wF8PbdHdPLbkmSJOVQLQynSpIk1R2LOEmSpByyiJMkScohizhJkqQcsoiTJEnKIYs4SbkTEX8bESsj4vtZx9JTRPxjn+3O4vcpEXF9NlFJqlUuMSIpdyLiN8A7Ukq/69PemArXDM5ERHSmlFoG2h7CcRpSbVxqSFIZ2RMnKVci4hvAaylccmpBRFwYEVdExC3AVRExNSJ+HhEPFL+O7vHY/xURD0fEgxHx+d08T3NEfKe4/68ionvl/DMjYmGP/W6MiLbi8faIiBV9ewiLMf26eLshIr4YEfcXL+j+sWJ7W0TcERE/oLCwqyQNKhfXTpWkbiml9oiYA8xOKW2MiAuBI4A3p5ReiIhxwNtSSluLl+f6ITAzIt4BnAS8KaX0fETstZunOrv4fG+IiNcBt0TEQYPEdV5EnJNSOmw3x/0wsDml9MaIeBnwi2IBCnAkcEjfHkZJ6o9FnKRasCSl9ELxdhOwMCIOA7ZTuN4kwPHAd1JKzwOklJ7azTHfDPxbcd/fRMTvexxrJN4OTI+I+cXtCRQuav4icJ8FnKRSWcRJqgXP9bi9gML1ZA+lcMrI1mJ7AEM5CTgGaO+i96kozUM4Zvdx/yal9JNejRFt9M5DkgblOXGSas0EYH1KaQfwAaCh2H4L8KHicCslDKfeCbyvuO9BwKuBVcATwGERMSYi9qMwBNptW0Q07ea4PwE+3r1fRBwUEeNLTU6SulnESao1/xs4IyLupTD8+RxASulmYAmwLCJWAJ8CiIj2iGgf4DgNEfEwcC1wZkrpT8AvgN9RmHzwJeCBHo+5AnhoN0uf/AfwKPBAcbLDvzPAqEhE3BQRU0pLW1K9cYkRSZKkHLInTpIkKYcs4iRJknLIIk6SJCmHLOIkSZJyyCJOkiQphyziJEmScsgiTpIkKYf+H1HYsWe1yCWfAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pl.plot(ix,arep[:,1],'s')\n", "pl.plot(ix,arepw[:,1],'d')\n", "pl.plot(ix,areph[:,1],'v')\n", "pl.plot(ix,arepd[:,1],'o')\n", "\n", "pl.legend([\"quad\",\"Welsh\",\"Huber\"],loc=3)\n", "pl.ylabel(\"absol.\")\n", "#pl.ylim(-0.7,-0.1)\n", "pl.grid()\n", "pl.xlabel(\"frac. outlier.\")\n", "pl.xlim(-0.1,0.8)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### test2: ladící parametr " ] }, { "cell_type": "code", "execution_count": 114, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 114, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "gfun=gfunh\n", "rep=[]\n", "wei=lambda p:gfun(y3-p[1]-p[0]*x3).sum()\n", "for c in np.r_[0.1:3:0.1]:\n", " x3,y3=x2[:120],y2[:120]\n", " pars=op.fmin(wei,[eslp,y3.mean()-eslp*x3.mean()],disp=0)\n", " rep.append(list(pars)+[wei(pars)])\n", "arech=np.array(rep)\n", "gfun=gfunw\n", "rep=[]\n", "wei=lambda p:gfun(y3-p[1]-p[0]*x3).sum()\n", "for c in np.r_[0.1:3:0.1]:\n", " x3,y3=x2[:120],y2[:120]\n", " pars=op.fmin(wei,[eslp,y3.mean()-eslp*x3.mean()],disp=0)\n", " rep.append(list(pars)+[wei(pars)])\n", "arecw=np.array(rep)\n", "pl.plot(np.r_[0.1:3:0.1],arech[:,0],'gv')\n", "pl.plot(np.r_[0.1:3:0.1],arecw[:,0],'yd')\n", "pl.xlabel(\"tuning constant c\")\n", "pl.grid()\n", "pl.legend([\"Huber\",\"Welsh\"],loc=2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### odhad nejistot pomocí bootstrapu \n", "\n", "co je **bootstrap**: vybereme `bootfr` bodů ze sady dat a nahradíme je nějakými (jinými) z původního vzorku\n", "\n", "použitelné tehdy, pokud klasické metody (derivace minim. funkce podle parametru) selhávají" ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([0.04381848, 0.2670285 , 8.45792191])" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "boofr=20\n", "gsel=(len(x)+len(x2))//2\n", "gfun=gfunw\n", "rep=[]\n", "for i in range(1000):\n", " x3,y3=x2[:gsel],y2[:gsel].copy()\n", " ifrom=np.random.choice(gsel,boofr)\n", " ito=np.random.choice(gsel,boofr)\n", " y3[ito]=y3[ifrom]\n", " pars=op.fmin(wei,[eslp,y3.mean()-eslp*x3.mean()],disp=0)\n", " rep.append(list(pars)+[wei(pars)])\n", "brepw=np.array(rep)\n", "brepw.std(0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "poměr dobrých a vychýlených dat 50:65" ] }, { "cell_type": "code", "execution_count": 51, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([ 0.05484164, 0.35090801, 21.40206349])" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gfun=gfunc\n", "rep=[]\n", "wei=lambda p:gfun(y3-p[1]-p[0]*x3).sum()\n", "for i in range(1000):\n", " x3,y3=x2[:gsel],y2[:gsel].copy()\n", " ifrom=np.random.choice(gsel,boofr)\n", " ito=np.random.choice(gsel,boofr)\n", " y3[ito]=y3[ifrom]\n", " pars=op.fmin(wei,[eslp,y3.mean()-eslp*x3.mean()],disp=0)\n", " rep.append(list(pars)+[wei(pars)])\n", "brepc=np.array(rep)\n", "brepc.std(0)" ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([ 0.06040849, 0.35997978, 17.86539675])" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gfun=gfunh\n", "rep=[]\n", "wei=lambda p:gfun(y3-p[1]-p[0]*x3).sum()\n", "for i in range(1000):\n", " x3,y3=x2[:gsel],y2[:gsel].copy()\n", " ifrom=np.random.choice(gsel,boofr)\n", " ito=np.random.choice(gsel,boofr)\n", " y3[ito]=y3[ifrom]\n", " pars=op.fmin(wei,[eslp,y3.mean()-eslp*x3.mean()],disp=0)\n", " rep.append(list(pars)+[wei(pars)])\n", "breph=np.array(rep)\n", "breph.std(0)" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([ 0.06044923, 0.35979261, 19.79105909, 0.07671245])" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# definujeme obecnou funkci\n", "def bootme(gfunx, boofr=20,niter=1000,gsel=115):\n", " rep=[]\n", " wei=lambda p:gfunx(y3-p[1]-p[0]*x3).sum()\n", " for i in range(niter):\n", " x3,y3=x2[:gsel],y2[:gsel].copy()\n", " ifrom=np.random.choice(gsel,boofr)\n", " mask=np.ones(gsel,'bool')\n", " mask[ifrom]=False\n", " ito=np.random.choice(np.r_[:gsel][mask],boofr)\n", " y3[ito]=y3[ifrom]\n", " #gfun=gfunx\n", " wei=lambda p:gfunx(y3-p[1]-p[0]*x3).sum()\n", " pars=op.fmin(wei,[eslp,y3.mean()-eslp*x3.mean()],disp=0)\n", " rep.append(list(pars)+[wei(pars),y3.std()])\n", " return np.array(rep)\n", "bootme(gfunh,20,500).std(0)" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.02552403, 0.16697942, 4.66485374, 0.07776097])" ] }, "execution_count": 64, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c=2\n", "bootme(gfunw,20,500,115).std(0)" ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([0.04109321, 0.251992 , 9.20919697, 0.08021824])" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Welsch\n", "bootme(gfunw,20,500,115).std(0)" ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([ 0.07590273, 0.39715915, 11.4431551 , 0.10848691])" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#zamenujeme 2x tolik bodu\n", "bootme(gfunw,40,500,115).std(0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "zavisí na různých parametrech - bootstrap slouží jako **relativní hodnota** pro porovnání metod " ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([0.01510802, 0.09761547, 1.0233503 , 0.07833261]),\n", " array([-0.62351861, 3.14792708, 28.86632891, 2.46400267]))" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# McClure vychazi nejlepe..\n", "barr=bootme(gfunm,20,500)\n", "barr.std(0),barr.mean(0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### úloha z pravděpodobnosti..." ] }, { "cell_type": "code", "execution_count": 102, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(72.989999999999995, 64, 84, 3.5128193804976653)" ] }, "execution_count": 102, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#kolik ruznych prvku bude mit nahodny vyber s opakovanim\n", "reprod=np.array([len(set(np.random.randint(gsel,size=gsel))) for i in range(200)])\n", "reprod.mean(),reprod.min(),reprod.max(),reprod.std()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### testování v simulaci\n", "\n", "numerický experiment místo bootstrapu" ] }, { "cell_type": "code", "execution_count": 67, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([0.02983815, 0.18830616, 1.23687689])" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gfun=gfunw\n", "x1=x.copy()\n", "c=1\n", "rep=[]\n", "for i in range(500):\n", " y1=x1*slp+random.normal(3,0.4,size=x.shape)\n", " x3=np.concatenate([x1,random.uniform(2,10,size=int(gsel-x.size))])\n", " y3=np.concatenate([y1,random.uniform(y.min()-3,y.max()+3,size=int(gsel-x.size))])\n", " pars=op.fmin(wei,[eslp,y3.mean()-eslp*x3.mean()],disp=0)\n", " rep.append(list(pars)+[wei(pars)])\n", "crepw=np.array(rep)\n", "crepw.std(0)" ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [], "source": [ "rep=[]\n", "for c in np.r_[0.6:3:0.2]:\n", " barr=bootme(gfunw,20,500,115)\n", " rep.append(np.r_[barr.std(0),barr.mean(0)])\n", "bootdis=np.array(rep)" ] }, { "cell_type": "code", "execution_count": 84, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[-0.63972293, 0.01535566],\n", " [-0.63491628, 0.01525895],\n", " [-0.628015 , 0.01646708],\n", " [-0.62232537, 0.0173105 ],\n", " [-0.61320435, 0.01891562],\n", " [-0.60810887, 0.02047981],\n", " [-0.59587978, 0.02453 ],\n", " [-0.58208254, 0.02811258],\n", " [-0.56515842, 0.03135531],\n", " [-0.54661209, 0.03475814],\n", " [-0.52617457, 0.03933812],\n", " [-0.50113351, 0.04187983]])" ] }, "execution_count": 84, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#linearni clen\n", "bootdis[:,[4,0]]" ] }, { "cell_type": "code", "execution_count": 74, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[3.26301191, 0.09326071],\n", " [3.22251292, 0.09388452],\n", " [3.17045434, 0.10540777],\n", " [3.1334417 , 0.1155018 ],\n", " [3.06940554, 0.1229748 ],\n", " [3.03459368, 0.13286638],\n", " [2.94444519, 0.15971805],\n", " [2.85814454, 0.18461468],\n", " [2.74239158, 0.2012196 ],\n", " [2.6300811 , 0.22330456],\n", " [2.51625662, 0.23912331],\n", " [2.36640377, 0.25927715]])" ] }, "execution_count": 74, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#absolutni clen\n", "bootdis[:,[5,1]]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### nejmenší medián\n", "použije se místo sumy čtverců\n", "\n", "nelze minimalizovat analyticky, v praxi pomocí MC" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Optimization terminated successfully.\n", " Current function value: 1.360260\n", " Iterations: 63\n", " Function evaluations: 119\n" ] }, { "data": { "text/plain": [ "array([-0.4084894, 1.8100606])" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gfun2=lambda x:abs(x)\n", "wei2=lambda p:np.median(gfun2(y2-p[1]-p[0]*x2))\n", "op.fmin(wei2,[-0.5,y.mean()-0.5*x.mean()])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Vychýlenost (*bias*)\n", "---------------------- \n", "\n", "Odstranění rozdělením vzorku (M rozdělíme na $m_1$ a $m_2$ o velikostech *N*)\n", "\n", "$$E(M)=\\theta + \\frac{1}{2N}\\beta + O(1/N^2)$$\n", "\n", "$$E(m_{1/2})=\\theta + \\frac{1}{N}\\beta + O(1/N^2)$$\n", "\n", "$$2E(M)-\\frac{E(m_1)+E(m_2)}{2} = \\theta + O(1/N^2)$$\n", "\n", "Zvýší se ovšem rozptyl členem řádu $1/N$\n", "\n", "#### Jackknife (vynechání měření) \n", "\n", "optimalizovaná varianta, rozptyl naroste jen člen řádu $1/N^2$\n", "(porovnání s metodou [bootstrapu](http://www.jstor.org/stable/10.2307/2958830))\n", "\n", "$$\\hat \\alpha^* = N \\hat \\alpha - \\frac{N-1}{N}\\sum \\alpha_j,$$\n", "kde $\\alpha_j=f(x_1,x_2,..x_{j-1},x_{j+1}...)$ je odhad s vynecháním j-tého vzorku.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Další manipulace se vzorky (robustnost)\n", "--------------\n", "\n", "* ořez (trimming) - vynechání $n/2$ nejmenších a největších hodnot\n", "\n", "* winsorizace - nahrazení ořezaných hodnot minimem/maximem zbytku \n", "(kombinace průměru a midrange)\n", "\n", "#### Příklad: odhad středu (symetrického) rozdělení \n", "(location parameter)\n", "\n", "posuzuje se asymptotická efektivita (poměr k MVB pro $N \\to \\infty$) \n", "\n", "pro normálně rozdělená data s rostoucím $n$ efektivita klesá, pro rozdělení s větším vlivem okrajových hodnot (dvojexponenciála, Cauchy) roste\n", "\n", "Optimum (*minimax*) pro $r=(N-n)/2N=0.23$ \n", "\n", "![class=left asym.efektivita](http://physics.muni.cz/praktika/static/docs/TPX/asym_effectivity.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Ořez\n", "testování ořezaného průměru \n", "\n", "odhady nejistot pomocí bootstrapingu" ] }, { "cell_type": "code", "execution_count": 107, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[318, 44, 4]" ] }, "execution_count": 107, "metadata": {}, "output_type": "execute_result" } ], "source": [ "size=1000\n", "def gendata(gaus=2,extr=10,exran=5,exshi=1):\n", " data=random.normal(0,2,size)\n", " if extr>0: data[::extr]+=random.uniform(-exran+exshi,exran+exshi,size//extr) #every extr-th point is an outlier\n", " return data\n", "data=gendata()\n", "moms=[(data**i).mean() for i in [1,2]]\n", "from numpy import sqrt\n", "vari=moms[1]-moms[0]**2\n", "[sum((data-moms[0])**2>i**2*vari) for i in [1,2,3]]" ] }, { "cell_type": "code", "execution_count": 108, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(array([0.0986538 , 0.01518959, 0.03715531]),\n", " array([0.12421346, 0.10446847, 0.10343885]))" ] }, "execution_count": 108, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def bootest(nite=200,nsig=2,ntrim=0,extr=10,exran=10):\n", " '''vraci prumer a smerod. odchylku z \n", " - prumeru\n", " - orezaneho prumeru na nsig nasobek smerod. odchylky\n", " '''\n", " rep=[]\n", " for j in range(nite):\n", " bootstr=gendata(extr=10,exran=exran)[random.randint(0,size,size)] #\n", " moms=[bootstr.mean(),(bootstr**2).mean()] # vypocet momentu\n", " vari=moms[1]-moms[0]**2 #odhad rozptylu (vychyleny?)\n", " orez=bootstr[(bootstr-moms[0])**20:\n", " mtrim=np.sort(bootstr)[ntrim:-ntrim].mean()\n", " rep.append([moms[0],orez,mtrim])\n", " else:\n", " rep.append([moms[0],orez])\n", " arep=r_[rep]\n", " return arep.mean(0),arep.std(0)\n", "bootest(ntrim=100)" ] }, { "cell_type": "code", "execution_count": 109, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# pro 2 sigma a 10% orez\n", "zoo=np.array([bootest(ntrim=100) for i in range(200)])" ] }, { "cell_type": "code", "execution_count": 85, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 85, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#dual exponent - trimming efficiency\n", "q=np.r_[0.01:0.5:0.01]\n", "D=2-(2-2*np.log(q)+np.log(q)**2)*q\n", "pl.plot(q,1/D)" ] }, { "cell_type": "code", "execution_count": 110, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([[0.10020933, 0.0115809 , 0.0368371 ],\n", " [0.12063685, 0.10278526, 0.10299998]])" ] }, "execution_count": 110, "metadata": {}, "output_type": "execute_result" } ], "source": [ "abs(zoo).mean(0)" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(array([ 34., 26., 38., 28., 23., 20., 10., 8., 9., 2., 1.,\n", " 1., 0., 0., 0., 0., 0., 0., 0.]),\n", " array([ 0. , 0.00157895, 0.00315789, 0.00473684, 0.00631579,\n", " 0.00789474, 0.00947368, 0.01105263, 0.01263158, 0.01421053,\n", " 0.01578947, 0.01736842, 0.01894737, 0.02052632, 0.02210526,\n", " 0.02368421, 0.02526316, 0.02684211, 0.02842105, 0.03 ]),\n", " )" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pl.hist(abs(zoo[:,0,0]),r_[:0.03:20j],alpha=.5)\n", "pl.hist(abs(zoo[:,0,1]),r_[:0.03:20j],alpha=.5)" ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([[ 0.00790551, 0.00637971],\n", " [ 0.11957548, 0.1024984 ]])" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# porovnani bez vychylenych bodu (extr=0)\n", "zoo2=r_[[bootest(extr=0) for i in range(200)]]\n", "abs(zoo2).mean(0)" ] }, { "cell_type": "code", "execution_count": 111, "metadata": {}, "outputs": [], "source": [ "zoo3=np.array([bootest(nsig=1,ntrim=200) for i in range(200)])" ] }, { "cell_type": "code", "execution_count": 112, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[0.10022503, 0.05338531, 0.03129469],\n", " [0.12063947, 0.11512605, 0.10463471]])" ] }, "execution_count": 112, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# pro 1 sigma a 20% orez\n", "zoo3.mean(0)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "anaconda-cloud": {}, "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.6.5" } }, "nbformat": 4, "nbformat_minor": 2 }