{ "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## modely v zobecněném pojetí\n", "- kernelové vyhlazování" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$ \\hat{r}(x) = \\sum_{i} {y_{i}\\ w(x_i,x)} $$ " ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/plain": [ "1.0485071749517643" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%matplotlib inline\n", "from numpy import *\n", "nen=30\n", "x=r_[:10:1j*nen]+random.normal(size=nen)*0.1\n", "y=exp(-(x-3)**2+0.1*(x-3)**3)+0.4*exp(-(x-6)**2)\n", "y+=random.normal(size=nen)*0.1\n", "y.max()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "- 1 čistý a 1 asymetrický gaussovský pík\n", "- šum na úrovni 0.1" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from matplotlib import pyplot as plt\n", "plt.plot(x,y,'d')\n", "fun=lambda x:exp(-(x-3)**2+0.1*(x-3)**3)+0.4*exp(-(x-6)**2)\n", "plt.plot(r_[:10:.1],fun(r_[:10:.1]))\n", "plt.grid()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "klouzavý průměr odpovídá konstantnímu kernelu\n", "\n", "průměrování obecně\n", "- snižuje výšku píků\n", "- zvyšuje šířku\n", "- zachovává momenty - plochu pod píkem a těžiště (nultý a první mom.)\n" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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\nAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "k=5\n", "xf=r_[:10:100j]\n", "vf=[]\n", "vf8=[]\n", "for f in xf:\n", " ford=argsort(abs(f-x))\n", " vf.append(y[ford[:5]].mean())\n", " vf8.append(y[ford[:8]].mean())\n", "plt.plot(xf,vf)\n", "plt.plot(xf,vf8)\n", "plt.legend([\"5 sousedu\",\"8 sousedu\"])\n", "plt.ylim(-0.4,1)\n", "plt.grid()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "nyní zkusíme \"vážené\" průměrování - kernel klesající se vzdáleností od středu" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX8AAAD8CAYAAACfF6SlAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XlclNX+wPHPmWEZ9n1TQFBBURCQxV2xXHMtc1/LtNu+\n36zrvXXrdltuZlaaabZrZlamuWeSS664A+6igqIIsjMwzJzfH5g/c0UZGJbzfr18xTDnec73AH3n\nzJnzfB8hpURRFEVpWDSWDkBRFEWpeSr5K4qiNEAq+SuKojRAKvkriqI0QCr5K4qiNEAq+SuKojRA\nZkn+QojPhBDnhRAHbvC8EEJ8IIQ4KoTYJ4Roa45+FUVRlDtjrpn/F0CfmzzfFwi59G8y8LGZ+lUU\nRVHugFmSv5RyA5BzkyaDgK9kha2AqxDCzxx9K4qiKLfPqob6aQycvuJx+qXvnb2ykRBiMhXvDLCz\ns4sJCAi44w5NJhMaTcP6SKOhjbmhjRfUmBuKqoz58OHDF6SUXrdqV1PJX1zne9fUlZBSzgHmAMTG\nxsqdO3fecYeJiYkkJCTc8fF1UUMbc0MbL6gxNxRVGbMQ4mRl2tXUy2k6cOU03h84U0N9K4qiKFep\nqeS/FBh3addPeyBPSnn2VgcpiqIo1cMsyz5CiG+BBMBTCJEOvAJYA0gpZwMrgHuAo0Ax8IA5+lUU\nRVHujFmSv5Ry5C2el8Bj5uhLUZS6y2AwkJ6ejl6vr/QxLi4upKamVmNUtU9lxqzT6fD398fa2vqO\n+qipD3wVRVFIT0/HycmJoKAghLjePpBrFRQU4OTkVM2R1S63GrOUkuzsbNLT0wkODr6jPhrW/ilF\nUSxKr9fj4eFR6cSvXJ8QAg8Pj9t6B3U1lfwVRalRKvGbR1V/jir5K4qiNEAq+SuKotSg0tJShg8f\nTvPmzWnXrh1paWnXbffggw/i7e1NeHh4tcShkr+iKEoNmjdvHm5ubhw9epRnnnmGF1988brtJkyY\nwKpVq6otDpX8FUVpUF5//XVatmxJz549GTlyJO+++y4Ac+fOJS4ujsjISIYMGUJxcTFQkYQXL158\n+XhHR0cAzp49S9euXYmKiiI8PJyNGzdiNBqZMGEC4eHhREREMH369Gv6//nnnxk/fjwA999/P+vW\nraNiN/xfde3aFXd3d7OP/09qq6dy23KLy3hy4R4OZxZQbpKYpKRHmDevDQpHZ621dHhKHfHvZcmk\nnMm/ZTuj0YhWW7m/q1aNnHllQOsbPr9z505++OEHdu/eTXl5OW3btiUmJgaA++67j0mTJgEwdepU\n5s2bxxNPPHHDcy1YsIDevXvzj3/8A6PRSHFxMXv27CEjI4MDBypubZKbm3vNcRkZGfxZtNLKygoX\nFxeys7Px9PSs1BjNRSV/5bZcLCpj9KfbOJpVyMDIRlhrNRSXlbNoZzqHzxUyZ1wM3k46S4epKNe1\nadMmBg0ahJ2dHQADBgy4/NyBAweYOnUqubm5FBYW0rt375ueKy4ujgcffBCDwcDgwYOJioqiadOm\nHD9+nCeeeIJ+/frRq1eva4673izfEjugVPJXKi27sJTRn27jxIUi5o6LpVvo/1eN7RvuxzPf7WHw\nR5uZNyGOMD9nC0aq1AU3m6FfyZwXeV0v8f5pwoQJLFmyhMjISL744gsSExOBitm5yWS6fHxZWRlQ\nsSyzYcMGli9fztixY3nhhRcYN24ce/fuZfXq1cycOZNFixbx2Wef/aUff39/Tp8+jb+/P+Xl5eTl\n5VXr8s6NqDV/pVIMRhNj523nxIUiPh3/18QP0Cfcl+//1gGThIe+3ElxWbmFIlWUG+vcuTPLli1D\nr9dTWFjI8uXLLz9XUFCAn58fBoOB+fPnX/5+UFAQSUlJQMV6vcFgAODkyZN4e3szadIkJk6cyK5d\nu7hw4QImk4khQ4bw+uuvs2vXrmtiGDhwIF9++SUAixcv5q677rLIzF8lf6VSlu09Q8rZfKYNi6RL\nyPXvExHe2IUPRkaTkVvCh78dreEIFeXW4uLiGDhwIJGRkdx3333Exsbi4uICVHwQ3K5dO3r27EnL\nli0vHzNp0iR+//134uPj2bZtGw4ODkBFzf2oqCiio6P54YcfeOqpp8jIyCAhIYGoqCgmTJjAm2++\neU0MEydOJDs7m+bNm/Pee+/x1ltvAXDmzBnuueeey+1GjhxJhw4dOHToEP7+/sybN8+8PwwpZa38\nFxMTI6ti/fr1VTq+LqquMRuNJnn3tETZe/rv0mQy3bL9c4v2yGYvLZeHM/OrJZ4/qd9x3ZOSknLb\nx+Tnm/fvqKCgQEopZVFRkYyJiZFJSUlmPb85VHbM1/t5AjtlJXKsmvkrt7QmJZOj5wt5tHvzSr09\nfalvSxxsrfjnzwduusaqKJYwefJkoqKiaNu2LUOGDKFt27aWDski1Ae+yk1JKZm5/hhBHvb0i/Cr\n1DEejra82KclL/+0n592Z3BfW/9qjlJRKm/BggWWDqFWUDN/5aY2HrnA/ow8HklohlZT+Q+lRsQF\nEBngyrQ1hzGa1OxfUWobNfNXbuqj9Ufxc9Fxb/RfZ+8n8k5wNPco+aX55JXl0dixMV0ad8He2h4A\njUbwSLem/O2bXaw/eJ4erXwsEb6iKDegkr9yQ0fOFbD9RA5T+4VhY1XxJlFKyVcpXzE9aTpGafxL\nexuNDR0bdWRC+ARifGLoEeaDj7Mt32w7qZK/otQyKvkrN7TqQCYAAyIbAVBQVsC/Nv+LX0/9Sk/v\nOCbbN8O1KBvHgnMcdPFhnbMrq9LX88RvT7B08FI87TwZERfIB78d4VR2MYEe9pYcjqIoV1Br/soN\nrUrOpG2gKz7OOrKKsxi1fBTrT6/nBbe2TNv2Iy3Xv4Pvrvk4ZiYTu3UeL278jHmeXdGX63lnxzsA\njIwPRCME87eftPBoFKV2qExJ5/T0dLp3705YWBitW7dmxowZZo9DJX/luk7nFJN8Jp8+4b5c1F9k\n0ppJnC8+x1xNY8btWoJoMxyeOwT/yISn9sDkRGgcS9MN7zOpVMvKEyvZlLEJXxcdPcN8WLTjNHqD\n8VbdKkq9V5mSzlZWVkybNo3U1FS2bt3KzJkzSUlJMWscKvkr17U6uWLJp3OoIw+vfZj0wtN8lGcg\n7vg26DcN7p0NTr7w577/RtEwZjEMn8/EjGMEY8N/trxOsaGYMe2bcLHYwMoDZy04IkWpUBdKOvv6\n+l6+/sDJyYmwsDAyMjLM+nMwy5q/EKIPMAPQAp9KKd+66vlA4EvA9VKbKVLKFeboW6keqw5k0tLP\ngbd3/50juUeYYRtKXNYaGPczBHe98YFh/bG553+88utLTGhUxsd7ZvFMzHM09XRg/tZT1+waUhqw\nlVMgc/8tm9kZy0FbyVTlGwF937rh03WxpHNaWhq7d++mXbt2lfsZVFKVZ/5CCC0wE+gLtAJGCiFa\nXdVsKrBIShkNjABmVbVfpfqcL9CTdOoiIcHH2HV+F682GUzXlFXQ5bmbJ/4/xU0kJmYyQwoK+Trl\nK47nHWNIjD87T14kM09f/QNQlBu4sqSzk5PTNSWdu3TpQkREBPPnzyc5Ofmm54qLi+Pzzz/n1Vdf\nZf/+/Tg5Of2lpPOqVatwdr62uu31rnq/0ZXzhYWFDBkyhPfff/+656oKc8z844GjUsrjAEKIhcAg\n4MoFKgn8GbkLcMYM/SrVZG3KOaQ0cdywlObOQQzY+iX4RUK3699u7rp6vMZTFw6xVp/CW3+8youx\ns/jf6kOsSclkXIegaotdqUNuMkO/UkkDLelsMBgYMmQIo0eP5r777jPL+K9kjuTfGDh9xeN04Or3\nJ68Ca4QQTwAOQI/rnUgIMRmYDODj43P5h38nCgsLq3R8XWSuMX+7Q4+nxyFOFR7n5WJnKMlne+uH\nKN64+bbOY+s+jMdTnuO/2r38snMevg4t+G5TKoGlaVWOEdTvuC5ycXGhoKDgto4xGo23fcyNREdH\n8/TTT/P4449TXl7OsmXLmDBhAgUFBeTn5+Pk5EROTg5fffUVfn5+l8s8b9myhb59+/LLL79gMBgo\nKCjg1KlTNGrUiBEjRpCdnc3WrVvp2rUr1tbW9OrVC19fXx555JFrYu/Vqxeffvop4eHhLF68mK5d\nu1JYWPiXNuXl5YwbN45mzZoxadKkG45fr9ff+d9DZaq/3ewfMJSKdf4/H48FPryqzbPAc5e+7kDF\nuwLNzc6rqnrePnOMObe4TDZ76ReZMP9e2fvbbtLwirOUmz+44/OVr3td3v9JqLz72y7y9eW7ZLOX\nlsvcorIqxyml+h3XRbWhqucrr7wiQ0NDZc+ePeWoUaPknDlzpJRSzpo1SwYFBclu3brJxx9/XI4f\nP15KKWVmZqZs166djIuLk1OmTJEODg5SSim/+OIL2bp1axkVFSU7d+4sjx8/Lvfs2SOjo6NlZGSk\njIyMlCtWrLim/5KSEnn//ffLZs2aybi4OHns2DEppZQZGRmyb9++UkopV69eLQEZERFx+VzLly+/\n5lxVqeppjuTfAVh9xeOXgJeuapMMBFzx+DjgfbPzquR/+8wx5uX7zsim/54hw78Il9991kXKd1tI\nadDf+QlLC+Xu91vK8C/C5ZTf3pRNXvxF/pB0uspxSql+x3VRbUj+qqSz+Uo67wBChBDBQggbKj7Q\nXXpVm1PA3QBCiDBAB2SZoW/FzDYeuYC9VyKeNs4MOrUXOj0FVrZ3fkIbB6ISXmFAQRFrTi/Ey7Xk\n8jZSRbEEVdK5QpXX/KWU5UKIx4HVVGzj/ExKmSyEeI2KV6ClwHPAXCHEM1R8+Dvh0iuUUsv8nrYX\nPI4wzuCJrZ0ntB1f9ZNGDOOxbbNYacqhceBGfk91oKTMiJ2NturnVpTbpEo6VzDLRV5SyhVSylAp\nZTMp5RuXvvevS4kfKWWKlLKTlDJSShklpVxjjn4V8zqVXUw2m9Gi5d60PdDxcbAxQz0ejYbGXadw\nf0EhpwyJlJLFhiPqjZ+iWJK6wle5LPHIWaxc9tAFe1xtnCF2ovlOHtqbydIZa2nC0Xcda5LPme/c\niqLcNpX8lct+ObIejVUh9507Du3+BjozXlSi0eIV/wgj8/LBYRe/HturbvKiKBakkr8CgNEkSS1Y\nj6PJms4lZRBnxln/n6JG82CJCTs0lDqu4EBGnvn7UBSlUlTyVwD4I+0U0i6ZAcXFWIf2AUdv83ei\nc8Y1chSj8/Oxdkpm1cGD5u9DUW4iNzeXWbNuXF2mY8eOZu8zMTGR/v37m/28VaWSvwLA/P0/IzRG\n7su7AG3HVl9H8ZO5Lz8fBKw5pWr7KTXrRsnfaKwoN/7HH3/UdEgWo5K/AkBSzlr8y6xoaeMOzXtW\nX0cezQho2pPI0nLOGTdRVGqovr4U5SpTpkzh2LFjREVFERcXR/fu3Rk1ahQRERHA/5drLiws5O67\n76Zt27ZERETw888/AxUVNsPCwpg0aRKtW7emV69elJSUALBjxw7atGlDhw4deOGFFwgPD7fMICtJ\n3cZRIeXCEfSaNEYU5ELkA5Uvn3unYsYz+JeJ7PW04ocDWxkX06V6+1Nqpbe3v83BnFsv/RmNRrTa\nyl0T0tK9JS/G37gA4VtvvcWBAwfYs2cPiYmJ9OvXjwMHDhAcHPyXdjqdjp9++glnZ2cuXLhA+/bt\nGThwIABHjhzh22+/Ze7cuQwbNowffviBMWPG8MADDzBnzhw6duzIlClTKhWvJamZv8LX+34BoE9R\nEUSNqf4Om91NT6MtViZYcvTqi8EVpebEx8dfk/ihouzNyy+/TJs2bejRowcZGRmcO1exPTk4OJio\nqCgAYmJiSEtLIzc3l4KCgsufGYwaNarmBnGH1MxfYfOZ3wnRS7z8YsArtPo7tLLBpfUQuqct4Tc2\nYjAasNZaV3+/Sq1ysxn6lQrMWNL5ag4ODtf9/vz588nKyiIpKQlra2uCgoLQ6yvuRWFr+//lTrRa\nLSUlJTctFV1bqZl/A5dZlMlF4zHuKc5DE10Ds/4/tRnO4MICjJoilh/9reb6VRo0JyenSpWHzsvL\nw9vbG2tra9avX8/Jkydv2t7NzQ0nJye2bt0KwMKFC80Sb3VSM/8GbumRtQAklJRBq0E117F/LDHW\nPjiVw7epSxjconfN9a00WB4eHnTq1Inw8HDs7Ozw8fG5brvRo0czYMAAYmNjiYqKomXLlrc897x5\n85g0aRIODg4kJCTg4uJi7vDNSiX/Bm750bX4l5nw8ekIdq4117EQ2EWPZND+T1hgtYWCsgKcbKrn\nrb2iXOlmhd3+vKmKp6cnW7ZsuW6bP+/PC/D8889f/rp169bs27cPqPhgOTY2FoCEhAQSEhKqGrbZ\nqWWfBiy/LJ8ThXvpVVyAQ7T5bxN3K5rI4fQqKsKEkU3pm2q8f0Uxp+XLlxMVFUV4eDgbN25k6tSp\nlg7pptTMvwHbcHoDUphIKC5F07JfzQfg3hQ/u5Y4Gy+y7Oha+jbtW/MxKIqZDB8+nOHDh1s6jEpT\nM/8GbOmRtbiVS7yd24L9tTeQrgnWbYZzd3ER2zMrdv0o9V9d3BlTG1X156iSfwNVZiwj6fwmehQX\n4hB1v8XicI8dQkJRCaVSz45zOywWh1IzdDod2dnZ6gWgiqSUZGdno9Pp7vgcatmngdqeuZ0yWUa3\n4lJcowZbLA7h7EcjmmJrKmD9qfV0bGT+wlpK7eHv7096ejpZWZW/mY9er69SkquLKjNmnU6Hv7//\nHfehkn8DtfH0JmxMEi+rVuDgYdFY9EH30Cn7c349sYaX272MEMKi8SjVx9ra+rpX1N5MYmIi0dHR\n1RRR7VQTY1bLPg3U72m/EavXI0IHWjoUvNsNpXtxCRfKckjJSbF0OIrSIKjk3wCdKzpHRulZ2peU\nEthpqKXDoVFQCxqVeKORsP7UekuHoygNgkr+DdCWsxUXrwSU++Hg3sjC0VS44N6DqFI969PWWDoU\nRWkQVPJvgNYeWYNHuRG3RtVYt/82acIHcVdRCYfzT5BekG7pcBSl3jNL8hdC9BFCHBJCHBVCXLeQ\ntRBimBAiRQiRLIS48fXVSrUySRO7zu+gg15P43Y1f1XvjURExtKksKIWSuLpRMsGoygNQJWTvxBC\nC8wE+gKtgJFCiFZXtQkBXgI6SSlbA09XtV/lzhzKOUQhelqXWOPbvK2lw7mssasdaZqONC0zkKiW\nfhSl2plj5h8PHJVSHpdSlgELgavLQ04CZkopLwJIKc+boV/lDvx2vOID1UaO7aCWbanMa9Kbu4qL\n2Zm1h7zSPEuHoyj1mjn2+TcGTl/xOB1od1WbUAAhxGZAC7wqpVx19YmEEJOByQA+Pj4kJibecVCF\nhYVVOr4uqsyYV534kZDyMkrtI2vdz6dI40J8kQ1GV8ncX+cS6xB70/bqd9wwqDFXD3Mk/+tNH6++\ndtsKCAESAH9goxAiXEqZ+5eDpJwDzAGIjY2VVSmDmpiYWCvLqFanW425pLyE9LTzDCspp9f4x9Da\n1K6rJsPy9ax8JxIPYyqZ9hkkJDx/0/bqd9wwqDFXD3Ms+6QDAVc89gfOXKfNz1JKg5TyBHCIihcD\npQZtP7ODciEJILjWJX4AH2cdKc5dSCguYVP6RsqMZZYOSVHqLXMk/x1AiBAiWAhhA4wArr4r9xKg\nO4AQwpOKZaDjZuhbuQ3L9i7C1mSiRbDlr+q9EYeQbrQvMlJkKmVn5k5Lh6Mo9VaVk7+Ushx4HFgN\npAKLpJTJQojXhBB/ZpnVQLYQIgVYD7wgpcyuat9K5UkpScreTry+lLBacFXvjbQL8aWoKAydSfLb\nqXWWDkdR6i2z7POXUq6QUoZKKZtJKd+49L1/SSmXXvpaSimflVK2klJGSClr/92N65m0/DQuiBLC\nypxxdPezdDg31L6pB4nGWDqWlJB4cq0q/aso1URd4dtALN7zMwCtPbtaOJKbc7W34Zx3F7oWl3Ku\n9CKHLx62dEiKUi+p5N9A/JG2kqZlBmLbj7J0KLcUHdIE66JAoOK+A4qimJ9K/g1AUVkRJ+QZ2pWY\ncA6++d752qBDMw92lMURYDCw/aSq8qko1UEl/wbgp9TfMApoZdcKNLX/Vx4f7E6ijCVeX0rShb0Y\nTUZLh6Qo9U7tzwRKla1JXoyDyUTnyGGWDqVS7G2s8A1sRkCpCwWmMg5dPGTpkBSl3lHJv56TUnJU\nf4AOJXo8I/paOpxK69DMkzP5EQDsUEs/imJ2KvnXc7+n7aVAW0YbvMDOzdLhVFqXEE82l3WkicHA\nDlXlU1HMTiX/em7x7p8A6BLc28KR3J7oAFcybINpU6ohqSBNrfsripmp5F/PHcveRPOyMppH32/p\nUG6LlVZDlxAvNCVBFGLi4Lldlg5JUeoVlfzrsYy8As5ZnSe6TAM+4ZYO57Z1C/UiJbc9ADtSFlk4\nGkWpX1Tyr8e+2bkegwaiXFvXuhu3VEa3UG/2lkfRxGBkx9ltlg5HUeoVlfzrsT3HlyKkpFtE3Vry\n+ZOvi44QX1cCDO4kGXIoN5RYOiRFqTdU8q+nCvQGcowHCCsz4BJ6j6XDuWPdWnhxIa8lRRpBasp3\nlg5HUeoNlfzrqdWppzmnKyJa4wY6Z0uHc8cSQr3ZX9gFgF2Hr75NhKIod0ol/3pq9b7lGAV0Cuhs\n6VCqJKaJG1qND75Ga3ZePAhqy6eimIVK/vVQabmRnIu/YiUlMeEjLR1OldhYaejU3BMbvT+7rcB0\ncrOlQ1KUekEl/3roj2PZlNidprVBYt+oraXDqbJuLbw4kRdJnlbLsX3zLR2OotQLKvnXQ6sPHCHD\ntox2TsF1covn1e5q6U1JcQgASad/V0s/imIGKvnXM1JK0k7+iEkI2gf3tHQ4ZuHnYkcb36bYG+3Y\nJcrgtNrzryhVpZJ/PXMsqxArzW5spKRNeO2/a1dl9Q33o6iwGUk6HfLAT5YOR1HqPJX865nEQ1mU\n2J0nDB22Dl6WDsdserf2pbS4OeettKQfXgYmk6VDUpQ6TSX/emZv8i5O2EJb95aWDsWsgj0dCLRv\nDUCSMV8t/ShKFZkl+Qsh+gghDgkhjgohptyk3f1CCCmEqP03kq2D9OUSsn/BIASRTevOjVsqq1/L\nKGS5HUl29rBfFXpTlKqocvIXQmiBmUBfoBUwUgjR6jrtnIAnATVlqyYHc4y46lIAiGxWt+r3V0bf\niEaUlwSzzd4FDvyAxlhm6ZAUpc4yx8w/HjgqpTwupSwDFgKDrtPudeAdQG+GPpXrOJhVRL4uh8Ya\nOzztPC0djtm19HXCmVDOasrIMhTgkb3D0iEpSp1ljuTfGDh9xeP0S9+7TAgRDQRIKX8xQ3/KdUgp\nsc/aw36dNZEerS0dTrUQQtAtoKK+/yZXX3zOqXv7KsqdsjLDOa53FZG8/KQQGmA6MOGWJxJiMjAZ\nwMfHh8TExDsOqrCwsErH1zVnC02EsIO1VlY4GALr7dhDTbasKPPgG7tSBmXsYvOaJRhsXC0dVo1p\naH/XoMZcXcyR/NOBgCse+wNnrnjsBIQDiaLialNfYKkQYqCUcueVJ5JSzgHmAMTGxsqEhIQ7Diox\nMZGqHF/XzNt4HBf7Q4CO+zsPp5XHNR+71AvdpGTurHUcdvyFDK2gk3MmtB9s6bBqTEP7uwY15upi\njmWfHUCIECJYCGEDjAAu196VUuZJKT2llEFSyiBgK3BN4leq5mTKVk7qDNgJa0LdQi0dTrURQjC4\n+UCkFCx0awx7v7V0SIpSJ1U5+Uspy4HHgdVAKrBISpkshHhNCDGwqudXbq2s3IRHxnr26mwI92yF\nlcYcb+hqr7FxkRiLQvjZ3gbj2T1wPtXSISlKnWOWff5SyhVSylApZTMp5RuXvvcvKeU1d9+QUiao\nWb957U3PpYPYwUEbWyJ94ywdTrULcLeniU0CeZpSttk7QNIXlg5JUeocdYVvPbA3ORmN3RmMAqK8\noiwdTo0Y16Yfstye73yaw+75UFpg6ZAUpU5Ryb8+OLSSvbY2ALTxamPhYGrGgMgATAWR/E4+eeWF\nsHehpUNSlDpFJf86rqi0nJa5G9hi74a3lTduOjdLh1QjnHTWhFi1w4iRHxu3gO1zVLE3RbkNKvnX\ncbsOpxEtUtij09LCroWlw6lRPXyaUF7YnE+tJcXZR+C4uuhLUSpLJf867sLuX0ixs6IUIy119auS\n56209tTiUjqAfFnCAk/fitm/oiiVopJ/Hedx+lcS7V3RCi0huhBLh1OjNELwYGw3ygtb8JmTPQVH\n1kDOCUuHVa2KDZL1h87z/c7TbDySxdHzBZSUqdtaKrevfm8Ir+dy8gpoW7aD6U7BhHs2x05jZ+mQ\natzw2ECmb+hDgeMMvnF15pEtH0G/aZYOy6z0BiOfbT7BL3vPknq2GMlfC9rZ22gZFR/IQ12a4uui\ns1CUSl2jkn8ddnTbClpoSzmuKWaSX3vIs3RENc/F3pr7WrfjpzPhfOmayqjdX+HS6SlwDbR0aFUm\npWR18jneWJHC6ZwS4oPdGdTcmmEJbWnsZse5/FLO5pWQeCiLz/9I48staQyPC2Bqv1borLWWDl+p\n5dSyTx0mD/7CJlsnTEg6NOpg6XAsZkLHIPTne1CEiXkujrDhf5YOqcpyi/WM/moJj/24CCvdad4Z\n6cXcCa0Y3NyGjs09aeLhUPFiENWY6cOjSHw+geFxAXyz9RTjPttOvt5g6SEotZya+ddVxnJa5CTy\njU8g9lbltPFqw+bUzZaOyiJCfJzoGBBOcnEs3zjvZOj+hQR0fgbcm1o6tNsipeT7w9+z/Ngadp/f\nixR67JvABeD1PfDGXg2B1gGk7k2la+OuhHmEoREV87cAd3v+MziCuCB3nlu0l+GfbOXLB+LwdlbL\nQMr1qeRfR53fvxZv8kl20BDrG4u1xtrSIVnUhI5BTFrQE/fQvUx3d+W939+Be2dbOqxKKywr5J+b\n/8mvp35FGHyxL2nJZF8d4YYs9Hmn0RdlcsRKyyb7Ej7encasPbPw1NjS1TuWPq3H0MG/MwCDohrj\nam/D375O4v7ZW/j5sU64OdhYeHRKbaSSfx1VmLSIXK0DWTKXB/0a7pLPn7q39CbYzQ99UU/W2i8n\n6dBPxGQTvewUAAAgAElEQVQ9C161v8LpsdxjPL3+aU7lnyLyQnNeKjxFa7kdsgH3ZuAdBiED6WXv\nTr9DB3D2cWLz+d38XnCSNeUb+TFzMwPcInip18c46VzoFurFNw/FM/yTrfxraTIfjoy29BCVWkgl\n/7qovAyfjLX8zyEUyKa9X3tLR2RxWo3gqbtDeOq7i/iHb+Edj3K+Xf0ymtHfg7je/YZqhz/O/MGz\n65/Bqryc6Wdyuav0NwzeEdDm39B6MLgF/aV9WllFnfcBwAB9PoYja5iz43/MzdnHjoVd+U/b52nX\nZiwxTdx58u4Q3lt7mD6tfenXxs8i41NqL/WBbx0kjyfiYCpgl7sTXnZeNHNtZumQaoX+bRrR3Msd\nLvYnxcaKZZl/wIEfLB3WDf18cBGPrf0bfsX5LD51AidaUjh6BdaPboLOT1+T+K+hc8Y64n4em7CF\nr0MfQGcsZ9Kut/loxUMYTUYeSWhGG38Xpi7ZT1ZBaY2MSak7VPKvg/J3fkeK1pE0zSkGNhuIqMUz\n25qk1Qie7hFCenpL/O1C+cDTi+JVL0JxjqVD+wtpLGf2yr8xddvrxJSUMDbdj5m+c4h4fgWOIZ1u\n/4QaDREdn2PR8PUM0rjySdY2Jn/Xkzz9BaYNjaSozMjLP+1HSnnrcykNhkr+dU15Kbrjq3jXuQla\noWFU2ChLR1Sr3BPuRwsfFwrP9ue8MPGZjRFW/8PSYV2Wd2wdT34Zx8zzm+lSpCXn1MOc6jKbVycO\nqfLefDtHb14fnchrDq3Ypz/H0MV9sLXN4vleoaxNOcfvh7PMNAqlPlDJv645ug69qZhdziXc0/Qe\nvO29LR1RraK5NPs/fdabcJcEvnB15eyB7+DoOssGVpBJ8qKRDF//OJs0BkLOR7At+22ee3ACT/cI\nRasx07s3rRX3DlnIN4H3YTTq+duyEQyMdsbPRcesxGPm6UOpF1Tyr2NMB37gayc3jJpyxrUaZ+lw\naqXerX2JaOzCkYNdkRot0/0C4MfJcPFkzQdjLCfv9/f56PNOjCneTy52GNMnEx76Miuf7kan5p7m\n71MIWtz9Oh/59iCrvIhnlg/ngc6N2H4ihx1ptWsJTLEclfzrEn0ehtRfmO/sTIhTW1q4N6wSzpWl\n0QheHxxOdp49zWwGsNLaxG6tCb4dUWN3/DqdU8yypYtZNS2G8Yc/5hMXe2yLwujt+zG/PjWZ1waF\n4+1UvRdgtenzPu/ompOiP8/uC1Nxc9Aya/3Rau1TqTtU8q9Lkn9ilZ2WQisjD0c+aOloarWoAFdG\nxQeStC8SD1tvHvPxYkNhGvzwEJiqpwqmlJKV+88y7v0f+X52P1ZkTOEFHxMXbNx5OvwtNj+yiH/3\nb1ftSf8yjYbu9y/kZZMzm/IP06HFWtYfyiL5TAMsAqVcQyX/OsS0+xvmurhjbWxEr6ZdLR1OrfdC\n7xa46Bxxyn2SRs5NeNzHk9nn/8C0/DmzvwBsO57NsJm/sXrpk5Tav8znjS+Q7ODK4xEPs3rUr0yM\n6We+df3bYW3H8GFL6KcvZ3PxGlydT6i1fwVQyb/uyDrM+pwDnLQRtHcfqrZ3VoKrvQ0v9W3J/jQr\nBnq/Qf+mA5jp5sqj6b+QuXA4lBZWuQ+jSfLf5cnM+mYqNlZPsM7/IHm29vwz4hHWjNrEw20fx8Ha\nwQyjqQJHb/7R5U38ystxbfQFK5JPkHahyLIxKRZnluQvhOgjhDgkhDgqhJhyneefFUKkCCH2CSHW\nCSGamKPfhkTu/oY5ri6IMlceiBpk6XDqjCFt/Wnf1J03lx9nQsgU/tn+n+xycOK+0lR+/upuZF7G\nHZ+7oFjPhx+/wfnjw9nVZBPpOiteaj6cZWO2Mazto+isak9RNadWg3nLvT256Gns+yXfbj9l6ZAU\nC6ty8hdCaIGZQF+gFTBSCNHqqma7gVgpZRtgMfBOVfttUIzl/JG6iBRbGzQFvWgbWA07ROopjUYw\nY0Q09jZaHl2wm/7B9/HD4KWEuDRnqk0xTy68m+zE/4KhpPInLcnlYuIs1n4Uwy+6+ax3Ejzg3ZGV\nI/9gVKepWGtrZ5G9qH4f8kipljznEyxLXUK5Ud3wviEzx8w/HjgqpTwupSwDFgJ/mZpKKddLKYsv\nPdwK+Juh34bj2G/M0RnRlduT0KivZdaO6zAfZx0zRkRzLKuQf/x0AH8nfz6/9ydeCJvAHzob7jv+\nDb/PjoEts+BcMpiukxRzT8P+xfDjZM5OD+PN5Hd5xUeDtc6Hb+75hmf7foK9rWPND+522Doyse8c\nmpYZ0Dp/z7qDZywdkWJB5ijs1hg4fcXjdKDdTdpPBFaaod8GY2fSbHbpdBgy7+Lu2EaWDqdO6hzi\nydN3hzL918NEB7oyrkMQ4+Kfo0PIQKase4LHtRkM2fk/nlvzMk62LuDVEqQRjAYoPA8FZygSgm/d\nPJnl50U5GoY0Hc/LHR/DRlt3SiZbBbbjGY94nijYzfxt0+jderqlQ1IsRFS13ocQYijQW0r50KXH\nY4F4KeUT12k7Bngc6CalvKbSlBBiMjAZwMfHJ2bhwoV3HFdhYSGOjrV8JlYJtvoLfJb2Esk2jmQe\nfYUPu7vgYH39mX99GXNl3e54TVLy/q5S9mUZGd/Khu6BFcszBmlg+cXl/FbwG67Y8lSpO3cVF1Ek\nNBy2MrHHRrDNRnCQPEyYoCiMyY2GEuHqVV1DuyFz/I61ZQV8dvwFUm2sedr3DXztnc0UXfVoaH/X\nULUxd+/ePUlKGXurduaY+acDAVc89geueT8phOgB/IMbJH4AKeUcYA5AbGysTEhIuOOgEhMrSt/W\ndbuWP8FWOx2NixIIaOJDv543rt1fX8ZcWXcy3o6djTw6fxdfppwnsGlzJnYOBqAnPTlw4QCv/PEK\nr148zFyPxpwtOotJViwBNbZvjjEjCltDOAvHjSTEx8ncw6kUc/2ONWtTeSTjK7bkzGfGPd9VPbBq\n1ND+rqFmxmyONf8dQIgQIlgIYQOMAJZe2UAIEQ18AgyUUp43Q58NQ1kxszJ+xR0rDp7uyl0tVR2f\nqtJZa5k9Joa+4b68/ksKb608SHFZOQDhnuEs7L+Qp9s+TahbKA+3eZiP7vqIB/y/5NCuh2hqNYzl\nk8dZLPGbU6ceL5BQbMOG8mROZu6xdDiKBVQ5+Uspy6lYylkNpAKLpJTJQojXhBADLzX7H+AIfC+E\n2COEWHqD0ylX2LHlXbbZWtHFsQdIG5X8zcTGSsOHI6MZHhvA7N+P0f3dRBbtPI3RJLHWWDMxYiLv\ndn2fxgzi/WVWfLD2LP3bNGLRwx3wdak92zerRAg6NP8n1lLyztpnLB2NYgFmuZOXlHIFsOKq7/3r\niq97mKOfhkQajcw8uhgvreBMwSD83cpo7t2w1j2rk5VWw9v3t2ForD//WZ7K3xfv443lqXg62uDu\nYMPJ7GLOF5QS5GHPG/eGMyo+sN5dWNe/a38SP/6QDe5Z7En9kaiw+ywdklKD1G0ca6ntu+eQZCV5\nzrcH/91QwOj29S/51AaxQe789GhHVuzP5I9jF8gtNpBTVEZUgCsj2wXSLcQLTT3dWuuks8be40U8\nDM/yv23/5ZsWgxEaddF/Q6GSfy0kpWRW8md4GyU2jpMoM57g3ujGlg6r3hJC0K+NX4O8z22/2Ciy\nl7Vit+9B1mx5m96dXrJ0SEoNUS/ztVDS/vnsQs+DXu1YmpxHU08HIhq7WDospR7qGupFin48wQZ4\n/9ACymqo5LVieSr510Kf7v4Ad6OkU+xrbD2ew+DoxmrJR6kWNlYa+kYGYXP+LtK1MH/t05YOSakh\nKvnXMin7vmYzJYz1ac+qw3oABkWpq3qV6jM4ujE783vRvtyej7O2kXnugKVDUmqASv61iZTM2zkD\nR5NkeMJbLNmdQXSgK008LFwSWKnX2ga6Euhuj5VhMiZg2ronLR2SUgNU8q9F0vZ8xVqNnhHe7UnP\nt+FgZoH6oFepdkIIBkc1YtVJX8Y5tGSVIYut+7+2dFhKNVPJv7YwlvNZ0gxsEIxJeIMlezLQagT9\nIhreDhSl5g2OboyUYOv+Iv5GE/9NmoahvMzSYSnVSCX/WiL99zdYZlXGvT7tcbL14ufdZ+ga4omH\no62lQ1MagKZejsQ2cWPhniKmNBvGCWHk69+et3RYSjWqd/v8c0uKeeTHORQVlrAw5wR21rZ423vT\nxDkAPyc3vJxs8XPR4e5gU3t20GQd5uPUr9E62vNQ1/+wbO8ZMvP1vDkkwtKRKQ3IiPhAnv9+LzaN\nHyXh+DI+yfiNfhdS8fEMs3RoSjWod8n/wsXTHCifBzo48eeW5ZyK/2jK7TAUN6M0LwatviVN3J0I\n9XEixMeRNv4uxAd74Ghbwz8Sk5HjS//GLw46xoQMwdvemzkbNtLCx4mE0JovGaw0XP0i/Pj3smQW\n7kzn793fZXDi47y3+lHeHr3e0qEp1aDeJf9gF09W+vXn7PF9OOsM6AszOVdygdNWGk5YF7LBoZCL\nzgdwkla4lzcjNas9K5KbI03WaDWCSH8X7g7zYXhcAJ41seSyfS6z9GnonN2Y2PYJEg9ncehcAdOG\nRtaedyZKg2Bno2VwVGO+23mafw+8mwdcwvkkP5mhSZ8QG/OwpcNTzKzeJX+tgwf+vd7kaGIicX/W\nwy4vhexjkJWKIWMXm8/8wTJ9Bht1qZS4HcLTVdDWpjHONr05eC6K/60+xIxfj9C/jR8TuwTTulE1\nXV17ZjcHN/yH1T5uTG49AXedO5/8vgU/Fx0DItXefqXmjYwP5OutJ/lxVwYT+37C0m878+aej/iu\n9QisdOoq8/qk3iX/67KyBZ9W4NMK6/AhJAAJRgNlp7awI+U71mduY63+JDmGeTg6CMbHRyDkZL7f\nm8mSPRlM7tqMp3uEoLPWmi+m3FPIBcP50M0NJ2tHxoePZ8/pXLYez2FqvzBsrNRn8UrNa9XImUh/\nFxbuOMUDnYJ4IeJhnk3+hAXLHmTc0B8sHZ5iRg03w2itsQnuSqd+M5k6cSfrBi7lE98edC/X8FP+\nXjbnPspHkQt5NEIy+/djDPhwE/vSc83Td0kuxvn384Y9bLCBh9pMwtnGmTkbjuGks2JEfKB5+lGU\nOzAiPpDD5wrZdSqXHjGP0c3Wh+lFhziwdYalQ1PMqOEm/6tYeTanY+/p/Hfibr6KeRl7a3ueLEwi\nJ+dJVjefS1DxAe7/eAvrUs9VraPSAkq+G8Uzmot852DLA+EPMKH1BJJOXmTF/kzGdWhS8x86K8oV\nBkQ2wsnWirkbjiOE4D8Dv8ULK55P/oS8jJ2WDk8xE5X8ryYEURGjWDR6E5NajmalkxPjtUfpZP8m\ni+1eZfE3s1m5L/3Ozn0uhey5CUwqPUqivY4p8VN4NuZZTCaYuuQAvs46Hklobt7xKMptcrS14sHO\nwaxKziT5TB6u9l68m/Ae57Qapq6aiNSryp/1gZpi3oCt1pYn201hUNhI3tn2JtM0m/F3LWZM7hyC\nflzAvqMTadPnIbB3v/XJpIS9Czm05gWe9HQl29qRaV3fpmeTngB88UcaqWfzmT2mrZr1K7XCg52D\n+XzzCd7/9Qhzx8XSJugunms+lLePLebL7wczYeSKis/SalBhaTmpZ/NJOZPPwcx88koMlJQZKS03\n4e1kSwtfZ1r4OhIb5I6zzrpGY6uLVKa5hSbOTZjZczYb0jfwyd7ZvKXdj70bDEmfifWM92gZfDci\nYij4x4JzY7hye2ZxDuxdCEmf81vxaaZ4e+Nk586Xd8+ktWdrAM7mlTB97WG6t/Cid2tfC41SUf7K\nxc6aSV2aMm3tYfan5xHh78LoTv8i6fweZuQfIXrhECKHLwbr6runsdEk2XP6Ij8dKWNGymb2ns7F\nJCuec7W3xtPRFjtrLTZWGradyGHJnjMA2FlrGRTViNHtmhDhr3Yo3YhK/pXU1b8rXf27sjdrL1/s\n/4pvTv3K1y4mmhXuod+aDSQUl9Dcygnh0RzKiqAkB4qyKJZGZgSEssDJi3CPVsy46wO87StuxC6l\n5LVlKZSbJK8NClf7+pVaZUKnIOZtPsH0Xw/z2YQ4hBD8u/+XDFvclxeLj7FowVCcR34HNvZm69No\nkmw7kc3K/ZmsTD7DxbI03HSH8XNPp3XLLMo0ekooo1gasLFyJMihEc1cgmnmG4OvcxjFhR6s2HeB\nn/ecYeGO03Ro6sGrA1vTwtfJbDHWFyr536ZIr0im3zWNIxcyGbVgDidsd/CBexofuLviK2zpZCok\nVOdEU+8gynSu/Lf4IBklWYxqOYpnYp5BZ/X/M6V5m06w8kAmL/RuQYC7+f4HUhRzcNJVzP7/t/oQ\nu09dJDrQDWcbZ97p+THjV4zl1aIUpn3eBzFoFviGV6mvU9nFLE46zepd23HkV4TjMWz98rHXSkqB\nLJOJFvoyvMuNOJlM2EvJWW0+x4uy2HQxhfKTK4CKDzFD7XwZ07srJUUtWLbdxD0fbGRCxyCe6hGi\nloOuoJL/HQrx9GXhyGcZ8vEfuDkW80APPXuzt7Lm7HZ+MJyForNQBIFOgXzR5wtifGL+cvyqA5m8\nsSKVvuG+PNKtmYVGoSg3N6FjEJ9vPsFLP+7np0c7YWejpY1XG56MeZr3kt7j88LzPDCnG6LT09D1\nhdtaBpJSsvXwGdas/5ZzBWvJcTpDpq/EJATuRiNdhQMdnVrgVOJG13aD0bg3BVtnsLIBjTXoc6Eg\nE0NeOqfS/+BoZhJH80+wqySNH4vPUiYE9kE2BGg78kVSK37Zd4Z3h0bSJUSVTQGV/KukmZcjn46L\nZdxn2/lqjSsLJr2Jr7OOrJIsjucdJ6ckh+6B3bGzsvvLcbtPXeTp73YTFeDK9OFRaDRquUepnRxs\nrZg2LIoJn2/nnz8f4N2hkQCMbz2evVl7mX5qHUfdIpm6aRr2u76CVoMg/D4IaA+a62wmLLqAKT2J\nDbtWsOn8VlJ0uey3swE7aGqy4iHXMO4KuZew0AFoLr2QJCYmommecO25rH3ByRfrRlE0C+tPM6C3\nyQint6FP/pHdR5ezXFPIGsf12AclUl7uycQl0Qxs1p/X+3fDzsaMF23WQWZJ/kKIPsAMQAt8KqV8\n66rnbYGvgBggGxgupUwzR9+WFhvkztcT45nw2Q6Gf7KVBZPa4e/mfXld/2obj2Tx9MI9eDvpmDsu\n1rxXDStKNegW6sUT3ZvzwW9HiQ9yZ1hcABqhYVq3aczZN4eP935Mclgc7xpdCNn9NeyYC1Z24OgF\nDt6gtUEWneNAaQ6rbSS/29mRZmMNrtBUuvOYf2d6tRlPU6+qLR0BoNFCk47omnSkg+ltOhxZw5Rt\ns1l9fgfLnMpI8r7A6oK1rP8igg97vkPHYP+q91lHVTn5CyG0wEygJ5AO7BBCLJVSplzRbCJwUUrZ\nXAgxAngbGF7VvmuLmCbufPNQO8bO28bQ2Vv4e58WDGjTCCvt/898isvKeXPFQb7eepLm3o7MGRtT\nM4XjFMUMnuoRStKpi/zz5wO0auRMeGMXtBotj0Q9QrRPNC9ueJFhhmMMu+tRHtEF4Zp1GFl4nozC\nM/xmyuN7Jw1pzk5oTAJXQ2MG+vbm4Q73E+hcjclXo4UWfXFs0ZchF44wZPP7nDnwPUsc7fnEZT9/\nWzuWoQGvM6VXR6y1De+SJ3PM/OOBo1LK4wBCiIXAIODK5D8IePXS14uBj4QQQkopzdB/rRAZ4MqC\nSe15dtEenvluL9PWHGZ0uyaUlhs5mV3M9hM5nMkr4aHOwTzfu4Wa8St1ilYjmDEimv4fbGLo7C28\n3C+MMe0CEULQ3q89Pw78kVl7ZrHwyGKWWTsQ6xPLfuMxLpAFGjCWBOBs6MiT7YcyPCYUbU0vdXqG\nwKCZNOr6dx7dNJ3o1O941svEsjNPsGP2o7x933DC/JxrNiYLE1XNv0KI+4E+UsqHLj0eC7STUj5+\nRZsDl9qkX3p87FKbC1edazIwGcDHxydm4cKFdxxXYWEhjo6Od3z8nTJJyd4sI8uPGziaa0IA7jqB\nn4OG/s2saelefUnfUmO2lIY2XrD8mC/qTczbX8aBbCMRnlqGt7ChkaNAc2mbcnppBouzl3Km7Bz6\nwgBKiprgbGzG4EB/OjayuqOkXx1jtis+izj5Bf+yPkWWVkv4+Va4uj5Av+Y6bLSW/wyuKmPu3r17\nkpQy9lbtzJH8hwK9r0r+8VLKJ65ok3ypzZXJP15KmX2j88bGxsqdO++8jkhiYiIJf5Z0tgApJZn5\netzsbWpslm/pMde0hjZeqB1jllLyzdaTvLEiFb3BhK2Vhha+TgghOJSZj95gAqBrqBdj2zfhrpbe\nVZrpV+eYc9I28ELis2wXpfTKMyGKJzBoyASL7wiqypiFEJVK/uZY9kkHAq547A+cuUGbdCGEFeDC\n5ftr1U9CCPxc7G7dUFHqGCEEYzsEcXeYD1uOZZNyNp/Us/lICaPbNaGVnzNxQe4EetT+a1fcg7ry\nydgtfLjuGT7jdyJs55K5YCmvBD7Pw/f2opFr/f1/2BzJfwcQIoQIBjKAEcCoq9osBcYDW4D7gd/q\n03q/ojREjVztGBLjzxBLB1JFVlprnun1ERHHV/GPTS/zQUAOb2Y+zIr3emKV8HfGdGv9l80b9UWV\nRySlLAceB1YDqcAiKWWyEOI1IcTAS83mAR5CiKPAs8CUqvarKIpiTj2a9uHbQYtxdw3isUZeSLdE\n7t7Qn/em/YddJ+vfQoVZXs6klCuklKFSymZSyjcufe9fUsqll77WSymHSimbSynj/9wZpCiKUps0\ndWnKggGL6NGkFx+4uzKmiQvu1nMp/LwXX/3wEwajqdpjMJpqZlGk/r2XURRFqQIHawfe7fYu83rN\no2Xj9sxwd+X5JnoOnn2OT2b05fjxQ9Xa/7+X7efjfXmYqvlFQJV3UBRFuYoQgni/eOL94knNTuW7\nlK9ZdXwlRZxhUeJ9dPgjmJHdXiTSv7NZq/GuTE7j+/R/4+5oQtKfiqIJ1UPN/BVFUW4izCOMV7v8\nlw1jtvFa+N8JKnNineEEY397lD4LOvLp7plc1F+scj8p507x4h+TsXY4wv22bmg11btFXCV/RVGU\nSrDR2nBvzFjmTNzMQDmFMeccCCi4wIx9s+n5XQL/Wv8cJ/JO3NG5k7OSeWDFUGytzjL73DkmndlZ\ncQfAaqSSv6Ioym3QWWuZOmEM2sgvOX/yCf59wZ+BBQWsTFvF4CUDmbJkGCcyd9/6RFJizNzPZ0vG\nMHb5CJxN+czNNtAx4TV2tf3fX+8KWA3Umr+iKMpt0mgEz/dugZ+rjueWNKOPfxk/+2xl4emVLDQl\ns3LVWDoZtdzrEEyCXwes7dz/P5nnnoasg5zMSmaqrow9Oluii6yI414in54KVjaYEhOrfQwq+SuK\notyh0e2a4GJnzTPf7eGEoR9fTHiVCXk7mb9rJkvyD/Fs6TFcjx2mZ1ExPYpLiCvRc1hnz5devqxx\nFdgJJ+wz+5Jl24sH/tYRYVVzKVklf0VRlCro36YRzjpr/vZNEgNmbmb2mBieuHchj5qMbDm7hZ8P\n/8AvGZv43lmPnVZHiVGPg7UtgwKHsXxjKLbCjS8eiMfRtmbTsUr+iqIoVdQ11IsfH+3I5K+SGDln\nK/+5N5xhsQF0btyZzo07oy/Xs/XsVjambyTQOZCmtnfx8o9HKC01sOCROHycK3/7S3NRH/gqiqKY\nQUtfZ5Y+3on4YHf+vngfYz7dxobDWUgp0VnpSAhI4IXYl0lPi2PcvH1ICV8+GE+oj5NF4lUzf0VR\nFDNxtbfhiwfimLfpBPM2nWDcZ9tp6euEj7OOC4WlZOSWkFtsYHS7QF66J6zGl3qupJK/oiiKGVlp\nNTzcrRkTOgWxdM8Z5m87RU5RGT7OOlo3cmZgZGM6h3haOkyV/BVFUaqDrZWWobEBDI0NuHVjC1Br\n/oqiKA2QSv6KoigNkEr+iqIoDZBK/oqiKA2QSv6KoigNkEr+iqIoDZBK/oqiKA2QSv6KoigNkEr+\niqIoDVCVkr8Qwl0IsVYIceTSf92u0yZKCLFFCJEshNgnhBhelT4VRVGUqqvqzH8KsE5KGQKsu/T4\nasXAOClla6AP8L4QwrWK/SqKoihVUNXkPwj48tLXXwKDr24gpTwspTxy6eszwHnAq4r9KoqiKFUg\nZBXuEC+EyJVSul7x+KKU8pqlnyuej6fiRaK1lNJ0necnA5MBfHx8YhYuXHjHsRUWFuLo6HjHx9dF\nDW3MDW28oMbcUFRlzN27d0+SUsbeqt0tq3oKIX4FfK/z1D9uJyAhhB/wNTD+eokfQEo5B5gDEBsb\nKxMSEm6ni79ITEykKsfXRQ1tzA1tvKDG3FDUxJhvmfyllD1u9JwQ4pwQwk9KefZScj9/g3bOwHJg\nqpRy6x1H+3/t3V2IFWUcx/HvL01KRSokM5U0kEqCspbQJInWBaPIboqiQqPwwl4sgujlootuvKgo\nKAJRy1CMMkMJ6T3qTjIV0kwUC13b1Ipe7MakfxczC9u2rpvPmTM6z+8Dy5mZ85wz/4dz+O3ZmTn/\nNTOzlkg95r8BmF8uzwfW9x8gaQTwLvBGRLyduD8zM2uB1PBfAnRJ2g10letI6pC0rBxzOzAbWCBp\nW/lzZeJ+zcwsQdJ/8oqIn4HOAbZvBu4vl1cBq1L2Y2ZmreVv+JqZZcjhb2aWIYe/mVmGHP5mZhly\n+JuZZcjhb2aWIYe/mVmGHP5mZhly+JuZZcjhb2aWIYe/mVmGHP5mZhly+JuZZcjhb2aWIYe/mVmG\nHP5mZhly+JuZZcjhb2aWIYe/mVmGHP5mZhly+JuZZcjhb2aWoaTwl3SepI8k7S5vzx1k7BhJByS9\nnLJPMzNLl/rJ/wngk4iYCnxSrh/Ps8DnifszM7MWSA3/ecDKcnklcOtAgyRdDYwDPkzcn5mZtcDw\nxMePi4gegIjokXR+/wGSzgCeB+4BOgd7MkkLgYXl6hFJuxJqGwv8lPD401Fuc85tvuA55yJlzhcN\nZbpsSpoAAANpSURBVNAJw1/Sx8AFA9z19BALWQRsjIj9kgYdGBFLgaVDfN5BSdocER2teK7TRW5z\nzm2+4Dnnoh1zPmH4R8Sc490n6aCk8eWn/vHAoQGGzQSuk7QIGA2MkHQkIgY7P2BmZhVKPeyzAZgP\nLClv1/cfEBF39S5LWgB0OPjNzOqVesJ3CdAlaTfQVa4jqUPSstTiErXk8NFpJrc55zZf8JxzUfmc\nFRFV78PMzE4x/oavmVmGHP5mZhlqXPhLmitpl6Q9khp/YlnSJEmfSdopaYekxXXX1C6ShknaKum9\numtpB0nnSFor6dvy9Z5Zd01Vk/Ro+b7eLmmNpLPqrqnVJK2QdEjS9j7bhtw652Q1KvwlDQNeAW4E\npgF3SppWb1WVOwY8FhGXATOABzKYc6/FwM66i2ijl4D3I+JS4AoaPndJE4CHKa4QvBwYBtxRb1WV\neB2Y22/b/2mdc1IaFf7ANcCeiNgbEUeBNylaUDRWRPRExJZy+Q+KQJhQb1XVkzQRuAmo+6qytpA0\nBpgNLAeIiKMR8Wu9VbXFcOBsScOBkcAPNdfTchHxBfBLv81Dap2TomnhPwHY32e9mwyCsJekycB0\nYFO9lbTFi8DjwN91F9ImFwOHgdfKQ13LJI2qu6gqRcQB4DlgH9AD/BYRufQH+1frHOA/rXNSNS38\nB+ofkcW1rJJGA+8Aj0TE73XXUyVJNwOHIuKrumtpo+HAVcCrETEd+JMKDgWcSsrj3POAKcCFwChJ\nd9dbVXM0Lfy7gUl91ifSwD8T+5N0JkXwr46IdXXX0wazgFskfU9xaO8GSavqLaly3UB3RPT+VbeW\n4pdBk80BvouIwxHxF7AOuLbmmtrlYNkyh0Fa5yRpWvh/CUyVNEXSCIqTQxtqrqlSKrrlLQd2RsQL\nddfTDhHxZERMjIjJFK/xpxHR6E+EEfEjsF/SJeWmTuCbGktqh33ADEkjy/d5Jw0/yd1Hb+scOE7r\nnFSpvX1OKRFxTNKDwAcUVwasiIgdNZdVtVkU7bK/lrSt3PZURGyssSarxkPA6vKDzV7g3prrqVRE\nbJK0FthCcVXbVhrY6kHSGuB6YKykbuAZilY5b0m6j+KX4G0t36/bO5iZ5adph33MzGwIHP5mZhly\n+JuZZcjhb2aWIYe/mVmGHP5mZhly+JuZZegf5lAkLWbHNRsAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "k=5\n", "xf=r_[:10:100j]\n", "kf=[]\n", "kf1=[]\n", "kf2=[]\n", "for f in xf:\n", " dist=abs(f-x)\n", " ford=argsort(dist)\n", " norm=exp(-dist[ford[:10]]**2/0.2)\n", " norm/=norm.sum()\n", " norm1=exp(-dist[ford[:10]]**2/0.4)\n", " norm1/=norm1.sum()\n", " norm2=(1-dist[ford[:10]])\n", " norm2[norm2<0]=0\n", " norm2/=norm2.sum()\n", " kf.append((y[ford[:10]]*norm).sum())\n", " kf1.append((y[ford[:10]]*norm1).sum())\n", " kf2.append((y[ford[:10]]*norm2).sum())\n", " #vf8.append(y[ford[:8]].mean())\n", "plt.plot(xf,kf)\n", "plt.plot(xf,kf1)\n", "plt.plot(xf,kf2)\n", "plt.legend([\"gauss 0.1\",\"gauss 0.2\",\"triangl\"])\n", "plt.ylim(-0.4,1)\n", "plt.grid()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### průměrování po skupinách" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ymid=y.reshape(10,3).mean(1)\n", "ystd=y.reshape(10,3).std(1)/sqrt(3)\n", "xmid=x.reshape(10,3).mean(1)\n", "xstd=x.reshape(10,3).std(1)/sqrt(3)\n", "\n", "ymid2=y.reshape(6,5).mean(1)\n", "ystd2=y.reshape(6,5).std(1)/sqrt(5)\n", "xmid2=x.reshape(6,5).mean(1)\n", "xstd2=x.reshape(6,5).std(1)/sqrt(5)\n", "\n", "plt.errorbar(xmid,ymid,ystd,xstd)\n", "plt.errorbar(xmid2,ymid2,ystd2,xstd2)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### fitovani analytickymi (parametrickymi) funkcemi" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "fun2=lambda p:p[0]+p[1]*exp(-(xc-3)**2)+p[2]*exp(-(xc-6)**2)\n", "fun3=lambda p:p[0]+p[1]*exp(-(xc-3)**2+0.1*(xc-3)**3)+p[2]*exp(-(xc-6)**2)\n", "fun3x=lambda p:p[0]+p[1]*exp(-(xc-3)**2+p[3]*(xc-3)**3)+p[2]*exp(-(xc-6)**2)\n", "mat2=array([ones(x.shape),exp(-(x-3)**2),exp(-(x-6)**2)])\n", "mat3=array([ones(x.shape),exp(-(x-3)**2+0.1*(x-3)**3),exp(-(x-6)**2)])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- model 2: 2 symetrické píky\n", "- model 3: správná asymetrie 1. píku" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "(array([-0.01228823, 0.96550222, 0.34427082]),\n", " array([-0.01208853, 0.96378374, 0.33675906]))" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#reseni pro oba modely\n", "dcov2=linalg.inv(mat2.dot(mat2.T)) #hessian\n", "dcov3=linalg.inv(mat3.dot(mat3.T))\n", "dcov2.dot(mat2.dot(y)),dcov3.dot(mat3.dot(y))" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pars2,pars3=dcov2.dot(mat2.dot(y)),dcov3.dot(mat3.dot(y))\n", "plt.plot(x,y,'d')\n", "xc=r_[:10:0.1]\n", "plt.plot(xc,fun2(pars2))\n", "plt.plot(xc,fun3(pars3))\n", "plt.grid()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "*porovnání s nelineární optimalizací*" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Optimization terminated successfully.\n", " Current function value: 0.302759\n", " Iterations: 91\n", " Function evaluations: 158\n", "Optimization terminated successfully.\n", " Current function value: 0.301742\n", " Iterations: 98\n", " Function evaluations: 175\n" ] }, { "data": { "text/plain": [ "(array([ 1.06920488e-05, 1.93059657e-05, -1.33197154e-05]),\n", " array([ -6.39490172e-06, -3.36273035e-05, 1.12208883e-05]))" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from scipy import optimize\n", "xc=x\n", "minpars2=optimize.fmin(lambda p:((y-fun2(p))**2).sum(),[0,1,1])\n", "minpars3=optimize.fmin(lambda p:((y-fun3(p))**2).sum(),[0,1,1])\n", "pars2-minpars2,pars3-minpars3" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Optimization terminated successfully.\n", " Current function value: 0.300148\n", " Iterations: 222\n", " Function evaluations: 378\n" ] }, { "data": { "text/plain": [ "(array([-0.01191005, 0.96497139, 0.34055406, 0.05673663]),\n", " array([ 0.00017208, 0.00115403, 0.00380622]))" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "minpars3x=optimize.fmin(lambda p:((y-fun3x(p))**2).sum(),[0,1,1,.3])\n", "minpars3x,minpars3x[:3]-minpars3" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.34015759348399499" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#skutecne reziduum\n", "((y-fun(x))**2).sum()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### bez konstatního členu" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 0.94889603 0.32775809] 0.305118069645\n", "[-0.01228823 0.96550222 0.34427082] 0.302758999292\n" ] } ], "source": [ "mat1=array([exp(-(x-3)**2),exp(-(x-6)**2)])\n", "dcov1=linalg.inv(mat1.dot(mat1.T))\n", "pars1=dcov1.dot(mat1.dot(y))\n", "pars2=dcov2.dot(mat2.dot(y))\n", "print(pars1,((y-mat1.T.dot(pars1))**2).sum())\n", "print(pars2,((y-mat2.T.dot(pars2))**2).sum())" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "(array([ 0.25299914, 0.61044248, 0.60855514]),\n", " array([ 0.50571148, 0.50473318]))" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sqrt(dcov2.diagonal()),sqrt(dcov1.diagonal())" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## další parametry" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Optimization terminated successfully.\n", " Current function value: 0.294435\n", " Iterations: 579\n", " Function evaluations: 932\n" ] }, { "data": { "text/plain": [ "array([-0.00929389, 0.97365716, 0.33717848, 2.95119721, 3.13620186])" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fun5=lambda p:p[0]+p[1]*exp(-(xc-p[3])**2+0.1*(xc-p[4])**3)+p[2]*exp(-(xc-6)**2)\n", "minpars5=optimize.fmin(lambda p:((y-fun5(p))**2).sum(),[0,1,1,3,6])\n", "minpars5" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 0.03036048 0.07105162 0.06684098 0.06724396 0.60992758]\n" ] }, { "data": { "text/plain": [ "array([[ 1. , -0.32254521, -0.56428318, -0.15016285, 0.43564564],\n", " [-0.32254521, 1. , 0.2249496 , -0.19307237, 0.33412667],\n", " [-0.56428318, 0.2249496 , 1. , 0.01861413, -0.163825 ],\n", " [-0.15016285, -0.19307237, 0.01861413, 1. , -0.33892915],\n", " [ 0.43564564, 0.33412667, -0.163825 , -0.33892915, 1. ]])" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "min10,cov10=optimize.curve_fit(lambda xc,a0,a1,a2,p1,p2:fun5([a0,a1,a2,p1,p2]),xc,y,minpars5)\n", "import numpy as np\n", "err=np.sqrt(covmat10.diagonal())\n", "print(err)\n", "cov10/err[:,np.newaxis]/err[np.newaxis,:]" ] }, { "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.6" } }, "nbformat": 4, "nbformat_minor": 2 }