{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Epidemics" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "During this seminar we will numerically solve systems of differential equations of SI, SIS and SIR models. This experience is going to help us as we switch to network models. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## SI model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this model a sustainable infection process is considered. Infected part of population has no chance to be healed..
\n", "In other words:\n", "\\begin{equation}\n", " \\begin{cases}\n", " \\cfrac{ds(t)}{dt} = -\\beta s(t)i(t)\\\\\n", " \\cfrac{di(t)}{dt} = \\beta s(t)i(t)\n", " \\end{cases}\n", " \\\\\n", " i(t) + s(t) = 1\n", "\\end{equation}" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from scipy.integrate import odeint\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# spreading coefficient\n", "beta = 0.2\n", "\n", "# initial state\n", "i0 = 0.6\n", "z0 = [1-i0, i0]\n", "\n", "# time domain\n", "t = np.arange(50)\n", "\n", "# system of differential equations..\n", "def si(z, t, beta):\n", " return np.array([\n", " -beta * z[1] * z[0],\n", " beta * z[1] * z[0]])\n", "\n", "# solved\n", "z = odeint(si, z0, t, (beta,))" ] }, { "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": [ "# Lets plot our solution and phase-plot\n", "fig, ax = plt.subplots(1,2,figsize=(14,6))\n", "lines = ax[0].plot(z)\n", "plt.setp(lines[0], color='blue')\n", "plt.setp(lines[1], color='red')\n", "ax[0].set_xlabel('$t$')\n", "ax[0].set_ylabel('proportion')\n", "ax[0].legend(['$S$', '$I$'])\n", "ax[1].plot(z[:,1], z[:,0])\n", "ax[1].set_xlabel('$I$')\n", "ax[1].set_ylabel('$S$')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The cool thing is that we can set $\\beta$ and $\\gamma$ to be dependent on $t$, that is interpreted as some ''sessional'' profile of the desease. \n", "Now, based on this code, implement SIS and SIR models:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## SIS model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "SIS model allowes infected agents to be cured, but without any further immunity.\n", "\\begin{equation}\n", " \\begin{cases}\n", " \\cfrac{ds(t)}{dt} = -\\beta s(t)i(t) + \\gamma i(t)\\\\\n", " \\cfrac{di(t)}{dt} = \\beta s(t)i(t) - \\gamma i(t)\n", " \\end{cases}\n", " \\\\\n", " i(t) + s(t) = 1\n", "\\end{equation}\n", "Implement this model and check cases when $\\gamma \\lessgtr \\beta$" ] }, { "cell_type": "code", "execution_count": 62, "metadata": { "collapsed": false }, "outputs": [], "source": [ "beta = 0.5\n", "gamma = 0.1\n", "\n", "# initial state\n", "i0 = 0.6\n", "z0 = [1-i0, i0]\n", "\n", "# time domain\n", "t = np.arange(50)\n", "\n", "# system of differential equations..\n", "def sis(z, t, beta, gamma):\n", " return np.array([\n", " -beta * z[1] * z[0] + gamma * z[1],\n", " beta * z[1] * z[0] - gamma * z[1]])\n", "\n", "# solved\n", "z = odeint(sis, z0, t, (beta,gamma))" ] }, { "cell_type": "code", "execution_count": 61, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nmdeZ4/dAAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Lets plot our solution and phase-plot\n", "fig, ax = plt.subplots(1,2,figsize=(14,6))\n", "lines = ax[0].plot(z)\n", "plt.setp(lines[0], color='blue')\n", "plt.setp(lines[1], color='red')\n", "ax[0].set_xlabel('$t$')\n", "ax[0].set_ylabel('proportion')\n", "ax[0].legend(['$S$', '$I$'])\n", "ax[1].plot(z[:,1], z[:,0])\n", "ax[1].set_xlabel('$I$')\n", "ax[1].set_ylabel('$S$')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## SIR model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In SIR model healed population gain immunity to the infection\n", "\\begin{equation}\n", " \\begin{cases}\n", " \\cfrac{ds(t)}{dt} = -\\beta s(t)i(t)\\\\\n", " \\cfrac{di(t)}{dt} = \\beta s(t)i(t) - \\gamma i(t)\\\\\n", " \\cfrac{dr(t)}{dt} = \\gamma i(t)\n", " \\end{cases}\n", " \\\\\n", " i(t) + s(t) + r(t) = 1\n", "\\end{equation}" ] }, { "cell_type": "code", "execution_count": 74, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# put your code here\n", "beta = 2\n", "gamma = 0.6\n", "\n", "# initial state\n", "i0 = 0.2\n", "r0 = 0\n", "z0 = [1-i0-r0, i0, r0]\n", "\n", "# time domain\n", "t = np.arange(50)\n", "\n", "# system of differential equations..\n", "def sir(z, t, beta, gamma):\n", " return np.array([\n", " -beta * z[1] * z[0],\n", " beta * z[1] * z[0] - gamma * z[1],\n", " gamma * z[1]])\n", "\n", "# solved\n", "z = odeint(sir, z0, t, (beta,gamma))" ] }, { "cell_type": "code", "execution_count": 75, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 75, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nzE3YXXzcB/ycGPow6rl5Y8XXennuVXWr9firaU5Q0o9e6mT7MRuKY5b1cG6K2HYV+w8VH1tff4N6\nI9bP+4thvDfp93t0+tkddu5eCnybuKeovOUgp9x1ig/yyF3pBuJ9/NriuFxy1x7fOmA/6XN3Fs3F\nzI8jlqE43OO5I6OXxQvrZhMzJ4yYbTHiOui24LL5iV8g5fCglcBfgDdgbtqdT/PNrLmJSUaeX+yv\nImakehP1zk0vz72qbp3YctxHgB8PIKZ+Fvld6BrbT2zdXn/DjK10JdMnZBjGe5N+4sshdxuJe0zO\nnce5KePLIXen0bxicmZxfK/npowvh9y1+h7wjnmeu+h1Wrywrq4h/hL3NDF28z10X4y4brotuGx+\nYjacfxK5uZ24vwfMTbvzac62Z27gFOI1cysx/X/5+7fOuell8XfoXrd+QPwM3kZcHR/U/WL9LPK7\n0DV2vrGdSufX3zBjmyBq7RRxZeIBYmh4t3NziS+H3F1NXIko6/FNs5ybS3w55O4Txfe+hbhqc/Ys\n5+YSXw65a9XaPHU7V5IkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIk\nSaNoC/Cp1EFIktTFEuByYC9waeJYpKSOTh2AJN4J/BvYnjoQSZK6WAYcA1yZOA4pqaNSByDV3JuB\n9wIbgInEsUiS1M05wI2pg5Ak6VepA5AkaRY/Bc5MHYSUmleepLQmgIdTByFJ0iy2AbelDkJKzeZJ\nSuts4Kbi4zGJY5EkqZMJ4BHg2dSBSKnZPElpPQRMAquBJxPHIklSJ+cQf+iTJEmSJHXxOuA64Bpg\nU9pQJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSFrH/A10YF3vK\nUUATAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Lets plot our solution and phase-plot\n", "fig, ax = plt.subplots(1,2,figsize=(14,6))\n", "lines = ax[0].plot(z)\n", "plt.setp(lines[0], color='blue')\n", "plt.setp(lines[1], color='red')\n", "plt.setp(lines[2], color='green')\n", "ax[0].set_xlabel('$t$')\n", "ax[0].set_ylabel('proportion')\n", "ax[0].legend(['$S$', '$I$', '$R$'])\n", "ax[1].plot(z[:,1], z[:,0])\n", "ax[1].set_xlabel('$I$')\n", "ax[1].set_ylabel('$S$')" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.9" } }, "nbformat": 4, "nbformat_minor": 0 }