{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "###### Copyright (c)2015 DiGangi, C." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Managing Epidemics Through Mathematical Modeling" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This lesson will examine the spread of an epidemic over time using Euler's method. The model is a system of non-linear ODEs which is based on the classic Susceptible, Infected, Recovered (SIR) model. This model introduces a new parameter to include vaccinations. We will examine the various paremeters of the model and define conditions necessary to erradicate the epidemic.\n", "\n", "In this module we will also introduce ipywigets, an IPython library that allows you to add widgets to your notebooks and make them interactive! We will be using widgets to vary our parameters and see how changing different parameters affects the results of the model. This is a great technique for making quick and easy comparisons because you don't have to re-run your cell for the widget to make changes to the graph. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Introducing Model Parameters" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The most important part of understanding any model is understanding the nomenclature that is associated with it. Please review the below terms carefully and make sure you understand what each parameter represents.\n", "\n", "$S$: Susceptible Individuals\n", "\n", "$V$: Vaccinated Individuals\n", "\n", "$I$: Infected Individuals\n", "\n", "$R$: Recovered Individuals with Immunity (Cannot get infected again)\n", "\n", "$p$: Fraction of individuals who are vaccinated at birth \n", "\n", "$e$: Fraction of the vaccinated individuals that are successfully vaccinated\n", "\n", "$\\mu$: Average Death Rate\n", "\n", "$\\beta$: Contact Rate (Rate at which Susceptibles come into contact with Infected)\n", "\n", "$\\gamma$: Recovery Rate\n", "\n", "$R_0$: Basic Reporoduction Number\n", "\n", "$N$: Total Population ($S + V + I + R$)\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Basic SVIR Model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Model Assumptions\n", "The model will make the following assumptions:\n", "\n", "- The population N is held constant\n", "- The birth rate and death rate are equal\n", "- The death rate is the same across all individuals (Infected do not have higher death rate)\n", "- A susceptible individual that comes in contact with an infected automatically becomes infected\n", "- Once an individual has recovered they are forever immune and not reintroduced into the susceptible population\n", "- Vaccination does not wear off (vaccinated cannot become infected)\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Susceptible Equation\n", "Let's examine the model by component. First we will breakdown the equation for susceptible individuals. In order to find the rate of change of susceptible individuals we must calculate the number of newborns that are not vaccinated:\n", "\n", "$$(1-ep) \\mu N$$\n", "\n", "The number of Susceptible Individuals that become infected:\n", "\n", "$$ \\beta IS_{infections}$$\n", "\n", "and finally the number of Susceptibles that die:\n", "\n", "$$ \\mu S_{deaths}$$\n", "\n", "Therefore the change in Susceptible Indivduals becomes:\n", "\n", "$$\\frac{dS}{dt} = (1-ep) \\mu N - \\beta IS - \\mu S$$\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Vaccinated Equation\n", "\n", "Now examining the vaccinated individuals we start with the newborns that are vaccinated:\n", "\n", "$$ep \\mu N$$\n", "\n", "And the number of vaccinated individuals that die:\n", "\n", "$$\\mu V$$\n", "\n", "The change in vaccinated individuals becomes:\n", "\n", "$$\\frac{dV}{dt} = ep \\mu N - \\mu V$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Infected Equation\n", "\n", "For the infected individuals we start with the number of Susceptible individuals that are exposed and become infected:\n", "\n", "$$\\beta IS_{infections}$$\n", "\n", "Next we need the number of Infected individuals that recovered:\n", "\n", "$$\\gamma I_{recoveries}$$\n", "\n", "Finally we examine the infected who die:\n", "\n", "$$\\mu I_{deaths}$$\n", "\n", "Putting this all together we get the following equation:\n", "\n", "$$\\frac{dI}{dt} = \\beta IS - \\gamma I - \\mu I$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Recovered Equation\n", "\n", "The number of recovered individuals first relies on the infected who recover:\n", "\n", "$$\\gamma I$$\n", "\n", "Next it depeds on the recovered individuals who die:\n", "\n", "$$\\mu R$$\n", "\n", "Putting this together yeilds the equation:\n", "\n", "$$\\frac{dR}{dt} = \\gamma I - \\mu R$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Model Summary\n", "\n", "The complete model is as follows:\n", "\n", "$$\\frac{dS}{dt} = (1-ep) \\mu N - \\beta IS - \\mu S$$\n", "\n", "$$\\frac{dV}{dt} = ep \\mu N - \\mu V$$\n", "\n", "$$\\frac{dI}{dt} = \\beta IS - \\gamma I - \\mu I$$\n", "\n", "$$\\frac{dR}{dt} = \\gamma I - \\mu R$$\n", "\n", "This is a very simplified model because of the complexities of infectious diseases. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Implementing Numerical Solution with Euler!\n", "\n", "For the numerical solution we will be using Euler's method since we are only dealing with time derivatives. Just to review, for Euler's method we replace the time derivative by the following:\n", "\n", "$$\\frac{dS}{dt} = \\frac{S^{n+1} - S^n}{\\Delta t}$$\n", "\n", "where n represents the discretized time.\n", "\n", "Therefore after we discretize our model we have:\n", "\n", "$$\\frac{S^{n+1} - S^n}{\\Delta t} = (1-ep) \\mu N - \\beta IS^n - \\mu S^n$$\n", "\n", "$$\\frac{V^{n+1} - V^n}{\\Delta t} = ep \\mu N - \\mu V^n$$\n", "\n", "$$\\frac{I^{n+1} - I^n}{\\Delta t} = \\beta I^nS^n - \\gamma I^n - \\mu I^n$$\n", "\n", "$$\\frac{R^{n+1} - R^n}{\\Delta t} = \\gamma I^n - \\mu R^n$$\n", "\n", "And now solving for the value at the next time step yeilds:\n", "\n", "$$S^{n+1} = S^n + \\Delta t \\left((1-ep) \\mu N - \\beta IS^n - \\mu S^n \\right)$$\n", "\n", "$$V^{n+1} = V^n + \\Delta t ( ep \\mu N - \\mu V^n)$$\n", "\n", "$$I^{n+1} = I^n + \\Delta t (\\beta I^nS^n - \\gamma I^n - \\mu I^n)$$\n", "\n", "$$R^{n+1} = R^n + \\Delta t ( \\gamma I^n - \\mu R^n)$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we want to implement this into our code we can build arrays to hold our system of equations. Assuming u is our solution matrix and f(u) is our right hand side:\n", "\n", "\\begin{align}\n", "u & = \\begin{pmatrix} S \\\\ V \\\\ I \\\\ R \\end{pmatrix} & f(u) & = \\begin{pmatrix} S^n + \\Delta t \\left((1-ep) \\mu N - \\beta IS^n - \\mu S^n \\right) \\\\ V^n + \\Delta t ( ep \\mu N - \\mu V^n) \\\\ I^n + \\Delta t (\\beta I^nS^n - \\gamma I^n - \\mu I^n) \\\\ R^n + \\Delta t ( \\gamma I^n - \\mu R^n) \\end{pmatrix}.\n", "\\end{align}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Solve!\n", "\n", "Now we will implement this solution below. First we will import the necessary python libraries" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline\n", "import numpy \n", "from matplotlib import pyplot\n", "from matplotlib import rcParams\n", "rcParams['font.family'] = 'serif'\n", "rcParams['font.size'] = 16" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let us first define our function $f(u)$ that will calculate the right hand side of our model. We will pass in the array $u$ which contains our different populations and set them individually in the function:" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def f(u):\n", " \"\"\"Returns the right-hand side of the epidemic model equations.\n", " \n", " Parameters\n", " ----------\n", " u : array of float\n", " array containing the solution at time n.\n", " u is passed in and distributed to the different components by calling the individual value in u[i]\n", " \n", " Returns\n", " -------\n", " du/dt : array of float\n", " array containing the RHS given u.\n", " \"\"\"\n", " \n", " S = u[0]\n", " V = u[1]\n", " I = u[2]\n", " R = u[3]\n", " \n", " return numpy.array([(1-e*p)*mu*N - beta*I*S - mu*S,\n", " e*p*mu*N - mu*V,\n", " beta*I*S - gamma*I - mu*I,\n", " gamma*I - mu*R])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next we will define the euler solution as a function so that we can call it as we iterate through time." ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def euler_step(u, f, dt):\n", " \n", " \"\"\"Returns the solution at the next time-step using Euler's method.\n", " \n", " Parameters\n", " ----------\n", " u : array of float\n", " solution at the previous time-step.\n", " f : function\n", " function to compute the right hand-side of the system of equation.\n", " dt : float\n", " time-increment.\n", " \n", " Returns\n", " -------\n", " approximate solution at the next time step.\n", " \"\"\"\n", " \n", " return u + dt * f(u)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we are ready to set up our initial conditions and solve! We will use a simplified population to start with." ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": true }, "outputs": [], "source": [ "e = .1 #vaccination success rate\n", "p = .75 # newborn vaccination rate\n", "mu = .02 # death rate\n", "beta = .002 # contact rate\n", "gamma = .5 # Recovery rate\n", "\n", "S0 = 100 # Initial Susceptibles\n", "V0 = 50 # Initial Vaccinated\n", "I0 = 75 # Initial Infected\n", "R0 = 10 # Initial Recovered\n", "\n", "N = S0 + I0 + R0 + V0 #Total population (remains constant)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we will implement our discretization using a for loop to iterate over time. We create a numpy array $u$ that will hold all of our values at each time step for each component (SVIR). We will use dt of 1 to represent 1 day and iterate over 365 days. " ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": true }, "outputs": [], "source": [ "T = 365 # Iterate over 1 year\n", "dt = 1 # 1 day\n", "N = int(T/dt)+1 # Total number of iterations\n", "t = numpy.linspace(0, T, N) # Time discretization\n", "\n", "u = numpy.zeros((N,4)) # Initialize the solution array with zero values\n", "u[0] = [S0, V0, I0, R0] # Set the initial conditions in the solution array\n", "\n", "for n in range(N-1): # Loop through time steps\n", " u[n+1] = euler_step(u[n], f, dt) # Get the value for the next time step using our euler_step function\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we use python's pyplot library to plot all of our results on the same graph:" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nUurR8akoBaNFixYsWbKERYsWMXv2bD7//HO2b9/Oa6+9xmuvvcaIESN45513ChTpNDw8nODgYJ55\n5hnq169Pr169KFeuHNWrV2ft2rVZct988w379u1j8ODBhISEZGujfv36fPvtt0RERAAwe/Zs0tLS\n6NWrV47zdezYEYDPPvuM/v37Z9vXsGFDGjdunK2uR48eBAUF8emnn5KZmZlr5Nj80rNnzxx1vXv3\nZunSpcydO5cJEybkemxmZiYzZ84kJCSE7t27Z9tXo0YNGjduzOrVq9m5cyd169YtFH0LEzUwFUUp\nOCkpsGSJNSbdxcOPIRv160PLltlLixbWDzLQCA2FSy6xZeJE2LkT5s6Ft96CNWvgscfgqafgzjvh\n4YetkaooiqKUPaR0RQDt0qULXbp04ZVXXmH16tVMnTqV119/nWnTpnHJJZcwcuTIfLcZFRXF1KlT\nGT9+PP3796d69er06tWLIUOGcOWVV2YZrRs2bACgXr16PtvxfIHkln3hhRd48803s8llZGQQFhZG\nSkqKT128KVeuHBEREezZs4fk5GSfMgXBVztuf9fNuT0rOezbt49Dhw7hcrmIiYnJsf/EiROEhYWx\ne/duNTAVRckbCQkJgfcmPi0NVq2C//0Pfv3Vfm7alFOufHkbTKdt29Pl/POhcuXi17mwqFvXBgEa\nOxZ++MEGA5ozB158EaZPh4cegvHjy0RU2oAcm4rioONTUQqP1q1b88ILL3DeeecxZswYFixYcFYD\nMzMz02f90KFDGThwIJ988gkff/wxH3/8MTNnziQ+Pp6vvvqK8uXLZ8mePHnyrLq5jdLHHnuM8ePH\n56NXvimuHJ95PY+7f1WqVCEpKakoVSoS1MBUFMU3+/bBjz/Czz9bY3LZMvD+YQwNhfbtbXEbky1a\n2KiupRFjoEsXW1atgvvug2++gfvvh6lTbbn4Yn9rqSiKoih55qeffmLw4MG5RkO97LLLADh27FhW\nXTnn/3xGRka2dB3Jyck+28jIyKBChQrccMMN3HDDDezfv59hw4bxxRdfMHPmTIYPH06LFi0A2LVr\nl882du/eTdWqValUqRLNmzcHyFXn3377jerVq9O0adNs9b6MtdTUVA4ePEjlypVzTdVSEHyda/fu\n3QA0adLkjMdGRERQvXp1Dh06xF9//UVYWFi2/SkpKaxcuZKuXbsGZLoUTVOiKAGIX97AJyXBBx/A\n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\n+tW41FxuZZyQkNORZJ94wqbGCRB0bCqBjI5PRTl3jDHcfPPNgA3qAzBt2jSGDRuGywlq+O6779Kz\nZ0/KlSvHd999R3JyMklJSSxZsiTXdnNLfXKusmfClccgjAsWLOCiiy5i165dzJs3jz179pCUlERS\nUlK+z+k2TN35Rb3L4cOHOXLkCJGRkdmOK6w+BwJqYCplk40boX9/6NIFliyBqCh4+21YuRJ69YIS\nltBWKYX06gXdu8OhQzaqrKIoiqIUE8OHDwdg3rx5JCYmMmfOnGy5L1999VWMMbzyyivUqVMnq96X\nT2SzZs0wxrBr1y6f59q/f39WFFn3ktTcZJOTkzly5EiB+nQm3njjDTIzM3n66aezfEQLiru/O3OJ\nBr9jx45sL8OaNGmCiPjs8+7du89JF3+hBqZStjh2zC6FPf98m7+yUiUbvGfjRrj1VggOjFXj6kek\nYIz1CTYGXnsN/vzT3xoBOjaVwEbHp6IUDk2aNKFz586kpqZy3XXX0bZtW5o2bZq1PyQkxKcxuXXr\n1hx11apV4+qrr2bfvn0sXrw427709HRiY2OzZkpjY2OJi4tj2bJlbN++PZvsgQMHiImJYcGCBYXR\nxWy4l81646s/bkJDQ7OlJXn22Wf57rvvqFatGldddRUpKSl8//33OY4bP348L730Utb2tddeC8D8\n+fOzyWVkZPg8viSgBqZSNhCBjz+GFi3gqads4JSRI2HTJpg0yRqaihJotG5tx2l6OkyY4G9tlJJE\nerrN4bt1K/zxh12psWgRfP01LFxo8/j+9BP873+wYoV1ETh61P5WKoqicDrYz9KlS7PNXgLcdNNN\nAIwdO5aDBw8CsGnTJu5xYgZ4G5/umc5x48Zl5YE8fPgwt912G1WqVOG2227Lkp02bRqVK1fm1ltv\nJTk5GYA9e/YwdOhQOnToQP/+/XPomls02bNFmXUzdOhQACZMmJA1k7hnzx5Gjx6daztxcXFs3LiR\n48ePs2/fPqZMmcKJEyey+hsdHc3YsWNZs2YNAKmpqTz++OP88MMPTJkyJaudYcOG0blzZ6ZPn54V\nOOmvv/7irrvuIjU19az9CEgKO+9JSSlorqOyw/r1Ij16nM5l2a6dyC+/+FurM6K53JQsdu8WqVTJ\njt0AGBc6NgOEI0dEli0Tef99kUcfFRk2TOSKK0Ti4kQiIkSMOf2bl59SrpxIZKRIbKxInz4i48eL\n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\nWtXcjIwMPvvss/wKvJ06dSryMxS2fPnycr9vdVCRBPO/wAfOueudc52dc4mB7R/OuRuA94AXQxOm\nBN1tt8HHH0OTJvDuu1BoCIGIiIiIRI9Cqw6W0K1bN8466yyWLVvGY489Bvg5g82aNeOTTz5hw4ai\n/Uvbt2+nX79++V/4OOc455xzMLMSvYp59xo1ahQASUlJnHDCCWRkZPD1118XuW7p0qXMmDGDrl27\n0qNHjyLn+vfvT5s2bXjxxRd55JFHuPTSS0u8T948z8JzNfPMmjWL3r17s27dujJ/D6U5++yzMbNS\n7zlmzBhuvPFGYgMdOKeeeioA7777bolrP/vssxLHqrXyVgMC4oD38RVjcylYpiRv/32gdgXu1wMY\nD8wBZgO/AeOAJsWuSwAeA+YFrvkY6FLK/WrjiwzNBX4BpgK9dvL+u6yqVGO9+aYfyh8ba6aKeyIi\nIiJapsQ5S01NLfN8fHy8NWnSJH9Jkvfff9/i4+Nt4MCBtnr1ajMzW7lypZ1yyinWs2dP27x5c/7r\nN2zYYN27d7c2bdrYTz/9ZGZmW7ZssZtvvtmaN29u6enp+dcuWbLEWrZsafvuu68tXLjQzPwyJf37\n97eGDRsWWSqlsDFjxphzzhITE23jxo2lXnPbbbeZc87GjBmTv4zKzJkzbe+997ZLLrmkxPU7+52Y\n+eVXunbtaikpKfbNN9+YmVl2drY988wzVr9+/RKVrc8888z8ZUpycnJs69atNnbsWEtJSTHnnL3w\nwgtlvldllKdNE85lSvz7EwMMAd4NJHJzgXeAswFXwXvNA94A6gb2WwTuNx+oU+i6D4Gv844Bo4HV\nQIti93sqcM/Ggf0LgM3AvmW8fwX+89Qgc+eaJST4//QPPBDuaEREREQiQrR+NuzWrZs1bdrUYmJi\nLD4+3pKTk+3kk08ucd0111xjMTEx1qhRI0tJSTEzsxkzZtgpp5xiTZs2tZSUFOvcubPddNNNtm7d\nuhKv37Bhg918883WsWNHa968ubVq1crOOOMMm1/K2usrVqywyy67zFq3bm3Nmze3Fi1a2Nlnn22/\n//57mT/HihUrrHbt2nbxxRfv9Od97bXX7PDDD7dGjRpZy5Ytbf/997cnnnjCcnNz86+5/fbbLTk5\neZe/EzOfZI4YMcI6dOhgTZs2tTZt2thJJ51kP/zwQ4lrs7OzbeTIkdamTRtr1KiRdezY0W677TZ7\n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\nNzfh9Tlz5gy7du1i+/btvPXWW2zfvp3t27dz4sSJc8pmZ2czZ84cKisrmTdvXiTYnTVrFlnpOuuT\niIjIKKEAsx9m9mXgh8BM59yBIK8IeA/4f86578SU7zfABHj22WdZuXIl3d3d3HPPPdx///3qyZSk\n0LMaF65Tp06xe/duampq2LZtG1u3bmXHjh2cjZnKNzs7m0WLFkUCyqVLl1JSUhK3RzIZnHMcOHCg\nV8C5fft26qNnOIqSmZlJaWkpM2fOZNasWcycOTOSpk+fzuTJk/X7UnDO0d7ezpkzZyKpra2t13Fs\nij3f3t5OKBSiu7sb51y/26NHjzJp0iQyMzPJysoiMzOz1368vOzsbHJycsjJyWHMmDGR/fM91gRb\nEo/+rstIpQCzH2b2IlDunCuLyd8BnHbOVcfkDxhgAjz11FN84QtfIBQKsWzZMr73ve+xaNGihNZd\nJNaDDz7ImjVrUl0N6UN7ezsHDhygvr6e+vp69u/fz+7du9m1axeHDh2Ke01FRQVLliyhqqqKJUuW\nsHDhwvOeaCeZTp8+TW1tLTU1NezatYvnn3+e06dPc/jw4X6vy8zMpKioiOLiYoqLi5k2bRpTp07l\n4osv7pUmTJgQ2R+XrNmT0pRzjq6uLtrb23ulwQR5Qzkffa6viahGs8zMzEiwGS9lZ2cP+VxsfnZ2\nNpmZmWRkZEQC5ujUV35f5zIyMnp9uRX7RVd/xwOVDX8BEP1lQPTxjBkzKC4uTtSPf8TS33UZqTSL\nbP/m44fHxjoAXHO+L3rzzTdTUFDAbbfdxqZNm1i8eDHLli1j1apVLF++nIqKimEZwibp7fhg1g2R\nhOns7KS1tZXjx4/T2tpKa2srzc3NHDlyhKampkg6cuQIjY2NNDY29vlaY8aMoby8nLlz57Jo0SKW\nLFnC4sWLuSjetNUXgLy8PKqqqqiqqooc33fffZw5c4aDBw+yf//+c1JDQwMtLS00NDTQ0NAw6PfK\nyckhPz+fvLw8cnNzyc3Njbufl5cX+ZAdTrHH8c5lZWVhZphZ5AN1eNvXfmxe9Afj6J6zeMf97YdC\nocikTF1dXZH9vvL6K9PR0XFO0NhXivfs7XDLyclh3LhxkZSbm9vrOF6KLjN27NjIv13sv0vs9qc/\n/SmrV68mFAoRCoXo6uo6Zz92G/4ZdnR0cPbs2cj++Rx3dHQQCoVoa2ujra0t6T/rC9G3v/1t7rzz\n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\n+cdq2JrszwAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pyplot.figure(figsize=(15,5))\n", "pyplot.grid(True)\n", "pyplot.xlabel(r'time', fontsize=18)\n", "pyplot.ylabel(r'population', fontsize=18)\n", "pyplot.xlim(0, 500)\n", "pyplot.title('Population of SVIR model over time', fontsize=18)\n", "pyplot.plot(t,u[:,0], color= 'red', lw=2, label = 'Susceptible');\n", "pyplot.plot(t,u[:,1], color='green', lw=2, label = 'Vaccinated');\n", "pyplot.plot(t,u[:,2], color='black', lw=2, label = 'Infected');\n", "pyplot.plot(t,u[:,3], color='blue', lw=2, label = 'Recovered');\n", "pyplot.legend();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The graph is interesting because it exhibits some oscillating behavior. You can see that under the given parameters, the number of infected people drops within the first few days. Notice that the susceptible individuals grow until about 180 days. The return of infection is a result of too many susceptible people in the population. The number of infected looks like it goes to zero but it never quite reaches zero. Therfore, when we have $\\beta IS$, when $S$ gets large enough the infection will start to be reintroduced into the population.\n", "\n", "If we want to examine how the population changes under new conditions, we could re-run the below cell with new parameters:" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nevfs2eN3++7du9m+fbvnD2HNmjXjl19+Ye/evVx++eX58u7bt++CyhIoGlwGkVmzYPJkcLng/ffh\n+usDWx7vQPPkSVvr9+67BZvONm0Kv/61XXr1soPfBMrhw7bf5Bdf2IGLUlLObgsJsdOwDBlim7w2\naBCwYhapsL+8iwi7ju9ixd4VfL/ne1bsXcHq1NUFaiRdxkXbWm3pmNDRE0x2iO9A9cjq5VB6dSnT\nWiEVzPT5VKp0NGvWjO7du/PNN9/wm9/8ho4dO9K8eXPP9vDwcL+BZLL35N+OmJgYrr/+ej766COW\nL19Ot27dPNtycnJo164df/7zn7n//vtp164d7du3Z9WqVezatYsGXj/Ujhw5QsOGDXnzzTcZPnx4\nqV6vu6lsca7HLTIykuzsbM/6s88+S8eOHenduzeDBg1i4cKFLF26lF69euXbb8KECRhjPP9eDRs2\njEWLFrFgwYJ8zY5zc3NZunTpBVxVAJXm0LMX00KQDTm9apVIWJid6uLf/w50aYp24oTI22+LjBgh\nEhOTf5qOsDCRq64S+dOfRN59VyQ5WSQvr2zKkZUlsnKlyL/+JTJ6tJ2axZj85alRw5bzv/+9+KZc\nycrJkuW7lstTXz8lN7x9g9T+Z22/U3w0f7G5jJw3UqatmCYr9qyQjDMZgS66UkopdVEJtt+FgTZj\nxgwxxogxRmbMmJFv28svvyzGGBkxYoQcOXJERES2bt0qHTt2FGOMjB49Ol/+3bt3S7169aRjx46y\nbds2ERE5duyYjB49Wlq2bCnHjh3z5F2zZo3ExMRIv379ZP/+/SIikpqaKgMGDJBu3bp5pj4REc+U\nKL7nExFp2LChNGrUqED6qFGjxBiTb6qVhQsXijFGevbsKXv27PGcs3///mKMkcTExALHueaaa6R2\n7dqSnp4uBw8elOrVq8vChQtFxE7bUrduXWnTpo2sX79eREROnz4tkydPlho1asjGjRs9x8nNzZVf\n/epXBaYiGT9+vCQkJIgxRpKSkgqcvziK+0xTylORGCliGN9LmTFGguXaT56ETp1g61Y7wM6//hXo\nEhVfTg6sXAmffWaXH36AvLz8eapVg8sug7ZtoXFjaNjQLrVqQY0adqAi3xFwRewouSdPwoEDsG+f\nXXbsgC1b7PLLL+DbRL1SJdtkt18/O2VIx462xvJikH4mne/3fM9/P/ovu6rv4vs933M653S+PNUj\n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\nSZKG7f8BYw8BcIP+Z9cAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Changing the following parameters\n", "e = .5 #vaccination success rate\n", "gamma = .1 # Recovery rate\n", "\n", "S0 = 100 # Initial Susceptibles\n", "V0 = 50 # Initial Vaccinated\n", "I0 = 75 # Initial Infected\n", "R0 = 10 # Initial Recovered\n", "\n", "N = S0 + I0 + R0 + V0 #Total population (remains constant)\n", "\n", "T = 365 # Iterate over 1 year\n", "dt = 1 # 1 day\n", "N = int(T/dt)+1 # Total number of iterations\n", "t = numpy.linspace(0, T, N) # Time discretization\n", "\n", "u = numpy.zeros((N,4)) # Initialize the solution array with zero values\n", "u[0] = [S0, V0, I0, R0] # Set the initial conditions in the solution array\n", "\n", "for n in range(N-1): # Loop through time steps\n", " u[n+1] = euler_step(u[n], f, dt) # Get the value for the next time step using our euler_step function\n", " \n", "pyplot.figure(figsize=(15,5))\n", "pyplot.grid(True)\n", "pyplot.xlabel(r'time', fontsize=18)\n", "pyplot.ylabel(r'population', fontsize=18)\n", "pyplot.xlim(0, 500)\n", "pyplot.title('Population of SVIR model over time', fontsize=18)\n", "pyplot.plot(t,u[:,0], color= 'red', lw=2, label = 'Susceptible');\n", "pyplot.plot(t,u[:,1], color='green', lw=2, label = 'Vaccinated');\n", "pyplot.plot(t,u[:,2], color='black', lw=2, label = 'Infected');\n", "pyplot.plot(t,u[:,3], color='blue', lw=2, label = 'Recovered');\n", "pyplot.legend();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "However, every time we want to examine new parameters we have to go back and change the values within the cell and re run our code. This is very cumbersome if we want to examine how different parameters affect our outcome. If only there were some solution we could implement that would allow us to change parameters on the fly without having to re-run our code..." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## ipywidgets!\n", "\n", "Well there is a solution we can implement! Using a python library called ipywidgets we can build interactive widgets into our notebook that allow for user interaction. If you do not have ipywidets installed, you can install it using conda by simply going to the terminal and typing:\n", "\n", "conda install ipywidgets\n", "\n", "Now we will import our desired libraries" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from ipywidgets import interact, HTML, FloatSlider\n", "from IPython.display import clear_output, display" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The below cell is a quick view of a few different interactive widgets that are available. Notice that we must define a function (in this case $z$) where we call the function $z$ and parameter $x$, where $x$ is passed into the function $z$." ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "text\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def z(x):\n", " print(x)\n", "interact(z, x=True) # Checkbox\n", "interact(z, x=10) # Slider \n", "interact(z, x='text') # Text entry\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Redefining the Model to Accept Parameters" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In order to use ipywidgets and pass parameters in our functions we have to slightly redefine our functions to accept these changing parameters. This will ensure that we don't have to re-run any code and our graph will update as we change parameters!\n", "\n", "We will start with our function $f$. This function uses our initial parameters $p$, $e$, $\\mu$, $\\beta$, and $\\gamma$. Previously, we used the global definition of these variables so we didn't include them inside the function. Now we will be passing in both our array $u$ (which holds the different populations) and a new array called $init$ (which holds our initial parameters)." ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def f(u, init):\n", " \n", " \"\"\"Returns the right-hand side of the epidemic model equations.\n", " \n", " Parameters\n", " ----------\n", " u : array of float\n", " array containing the solution at time n.\n", " u is passed in and distributed to the different components by calling the individual value in u[i]\n", " init : array of float\n", " array containing the parameters for the model\n", " \n", " Returns\n", " -------\n", " du/dt : array of float\n", " array containing the RHS given u.\n", " \"\"\"\n", " \n", " S = u[0]\n", " V = u[1]\n", " I = u[2]\n", " R = u[3]\n", " \n", " p = init[0]\n", " e = init[1]\n", " mu = init[2]\n", " beta = init[3]\n", " gamma = init[4]\n", " \n", " return numpy.array([(1-e*p)*mu*N - beta*I*S - mu*S,\n", " e*p*mu*N - mu*V,\n", " beta*I*S - gamma*I - mu*I,\n", " gamma*I - mu*R])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we will change our $euler step$ function which calls our function $f$ to include the new $init$ array that we are passing." ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def euler_step(u, f, dt, init):\n", " return u + dt * f(u, init)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In order to make changes to our parameters, we will use slider widgets. Now that we have our functions set up, we will build another function which we will use to update the graph as we move our slider parameters. First we must build the sliders for each parameter. Using the FloatSlider method from ipywidgets, we can specify the min and max for our sliders and a step to increment.\n", "\n", "Next we build the update function which will take in the values of the sliders as they change and re-plot the graph. The function follows the same logic as before with the only difference being the changing parameters.\n", "\n", "Finally we specify the behavior of the sliders as they change values and call our update function." ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nnTszevRoRo8eDQST53ydslr+BgwYwNq1a5k4cSLnnXcef/nLX+jTpw89e/Zk7969peLu2bPna69T\n0kX2/vvvp7CwsNS2YcMGtm/fnrJbbFmO1Bqe5b1Oyf01bNgw6f4KCwvZunUr27dvj7XSppt0r1x2\nBz6LD3D3HcAKoG9ccH9gL/BuXLxiYFZ4TERERERE4rz77ru0atWqzOPnnHMOADt37oyF1a5dGyBp\n9tayWv7279/Pcccdxw9+8AMmTZrE6tWr6d27NzNmzGDixIlA0DUXgvGUqaxduzaWh5KxmmXN1PrB\nBx+kHNdYWFiYFFZUVMSWLVvIysoqczmWQ5HqWiUtjSeeeOJBz83JyeH4449n27ZtfPXVV0nHN23a\nxLRp05Kef7pI98rlV6TO4wEg18yywv3OwFp335cQbznQ3MyaHr4silQtjRuSdKWyKelM5VOk4vbt\n28fq1av56KOPUh7/97//DcCZZ54ZC2vRogXuzooVK2Jh7s4777yTdP6MGTPo1KlTqbDs7GyGDBkC\nBMttQDD2sXnz5vz9739n165dpeJ/+umntGjRIrYm5+WXX05mZiYvvfRSUmvphg0bOOecc2Jx4y1b\ntowvvviiVNjkyZMB+P73v19q0qD69evj7rEK3CuvvMKTTz6ZlGZZUrX0Tp48mYyMDC699NKvPf/q\nq6/G3Zk0aVLSsZEjR3LHHXek7Vqb6V65/Ag4zcxiK7eaWSOgbbjbMPxsCuxIcf728DP7sOVQRERE\nROQo9sMf/pBp06bFuqnu3buXl19+mVtuuYX27dtz8803x+JedtllADz88MMUFxezZ88eRowYERsT\nmTj5z2effcajjz4aS3vTpk387ne/o0GDBrGK1nHHHcf48ePZs2cPQ4cOZfv24Cf80qVLGTRoEJdd\ndhndu3cHgvGMjz/+OCtWrODmm29mx46gCvDFF1/Qv39/evbsyfe+972ke2zRogU33XQTq1atiuXr\n5z//OTk5OTz00EOl4nbp0gWAefPmsW/fPn71q1+xZMmSpDTLmuho5syZjB8/nn379lFcXMz999/P\nZ599xh133JGy5TIxnQcffJAOHTowfPhwZs2aBQR/CHjqqad46qmnePTRR1NeNy1U5bomVb0B3wSK\ngf8H1AbqAs8SVBr3A8eH8T4HPk5x/oMErZynpDhWrrVfRI40rdUm6UplU9KZyqdURk39Xbhz507/\n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\ny5YtczPzHj16JB3bu3evt2zZ0iORiM+ZMycW/tprr3mdOnV84MCBvn37dnd3/8c//uG5ubl++umn\n++7du2Nxt23b5p06dfJWrVr53LlzY+n+z//8j5uZjxgxIhZ3+fLlnpeX56effrp/8cUX7u6+YcMG\nv/jii71hw4b+wQcfxOJOnjzZzcxvu+22pHy/8sorftppp5UKu/vuu93M/Ne//rXv27fPi4uL/emn\nn/aMjAwfOnRoUhpm5u3atfM+ffr46tWr3d19zJgx3rZtW3d337Jli3fo0MHbtWvnH330kbu7b9y4\n0fv27evHHXecz5w5s1R6P/jBDzwSifjTTz/t7u67d+/2kSNHeocOHdzMfMKECUl5qIzylukwXtXV\nscodEaIEE/ccANYSTOozJ/z3AYIJfXKrMnOHc6vJ/4lIeps+fXp1Z0EkJZVNSWcqn1IZh/K7EI7s\ndriUVblcu3atDx482CORSKkK3M6dO71Zs2besmVL37NnT6lzfvvb37qZ+a9+9atY2LBhw9zM/KWX\nXkq69nnnnef33XdfbL9Pnz5uZj5r1qxS8VatWuW1atXyDh06xML279/vLVq08KZNmyblo3fv3v7E\nE0/E9j/44AM3M7/88suT8nDllVe6mcUqiCXMzGvXru3Lli2LhW3dutX/8Ic/uLv7TTfd5Gbmr7/+\neqnzNm/e7PXq1fMuXbrEwt566y03M7/iiiuSrv9f//Vfx1TlsiJjLh8IK5ffdPc8d+8ebnnAGcCq\nMI6IiIiIiBxFZs2aRTQaJRqNUr9+ffLz8/n3v//Nv/71L/73f/83Fm/q1Kls2rSJnj17UqdOnVJp\nnHHGGQC89tprQNCINXHiRDIyMujdu3fSNX/7299y9dVXA7BlyxamTJlCs2bN+M53vlMqXosWLejW\nrRsLFy6MdTmNRCJcd911bN68mUmTJsXirlixgnfeeYcf//jHsbA//elPACnzkJjneCeccAJt2rSJ\n7Tdq1IgBAwZw4MABJk6cSGZmJueff36pc5o0aUK7du2YP38+a9asAeCll14C4KKLkqenueCCC5LC\njmYVqVxeBPR396TRvO4+B7gMSH5jIlIhGjck6UplU9KZyqccaUe67fJwi1+KZNOmTdx9993MnTuX\n++67r6TXHwCLFi0C4MUXX4xVRku23r17k5WVxebNmwHYuHEjW7ZsoWnTpmRmZiZd8+STT6Zdu3YA\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Build slider for each parameter desired\n", "\n", "pSlider = FloatSlider(description='p', min=0, max=1, step=0.1)\n", "eSlider = FloatSlider(description='e', min=0, max=1, step=0.1)\n", "muSlider = FloatSlider(description='mu', min=0, max=1, step=0.005)\n", "betaSlider = FloatSlider(description='beta', min=0, max=.01, step=0.0005)\n", "gammaSlider = FloatSlider(description='gamma', min=0, max=1, step=0.05)\n", "\n", "#Update function will update the plotted graph every time a slider is changed\n", "\n", "def update():\n", " \n", " \"\"\"Returns a graph of the new results for a given slider parameter change.\n", " \n", " Parameters\n", " ----------\n", " p : float value of slider widget\n", " e : float value of slider widget\n", " mu : float value of slider widget\n", " beta : float value of slider widget\n", " gamma : float value of slider widget\n", " \n", " Returns\n", " -------\n", " Graph representing new populations\n", " \"\"\"\n", " \n", " #the following parameters use slider.value to get the value of the given slider\n", " p = pSlider.value\n", " e = eSlider.value \n", " mu = muSlider.value\n", " beta = betaSlider.value\n", " gamma = gammaSlider.value\n", " \n", " #inital population\n", " S0 = 100\n", " V0 = 50\n", " I0 = 75\n", " R0 = 10\n", "\n", " N = S0 + I0 + R0 + V0\n", "\n", " #Iteration parameters\n", " T = 365\n", " dt = 1\n", " N = int(T/dt)+1\n", " t = numpy.linspace(0, T, N)\n", "\n", " u = numpy.zeros((N,4))\n", " u[0] = [S0, V0, I0, R0]\n", " \n", " #Array of parameters\n", " init = numpy.array([p,e,mu,beta,gamma])\n", "\n", " for n in range(N-1):\n", " u[n+1] = euler_step(u[n], f, dt, init)\n", " \n", " #Plot of population with gicen slider parameters\n", " pyplot.figure(figsize=(15,5))\n", " pyplot.grid(True)\n", " pyplot.xlabel(r'time', fontsize=18)\n", " pyplot.ylabel(r'population', fontsize=18)\n", " pyplot.xlim(0, 500)\n", " pyplot.title('Population of SVIR model over time', fontsize=18)\n", " pyplot.plot(t,u[:,0], color= 'red', lw=2, label = 'Susceptible');\n", " pyplot.plot(t,u[:,1], color='green', lw=2, label = 'Vaccinated');\n", " pyplot.plot(t,u[:,2], color='black', lw=2, label = 'Infected');\n", " pyplot.plot(t,u[:,3], color='blue', lw=2, label = 'Recovered');\n", " pyplot.legend();\n", " \n", " #Clear the output otherwise it will create a new graph every time so you will end up with multiple graphs\n", " clear_output(True) #This ensures it recreates the data on the initial graph\n", " \n", "#Run the update function on slider values change\n", "pSlider.on_trait_change(update, 'value')\n", "eSlider.on_trait_change(update, 'value')\n", "muSlider.on_trait_change(update, 'value')\n", "betaSlider.on_trait_change(update, 'value')\n", "gammaSlider.on_trait_change(update, 'value')\n", "\n", " \n", "display(pSlider, eSlider, muSlider, betaSlider, gammaSlider) #Display sliders\n", "update() # Run initial function" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice that the graph starts with all parameters equal to zero. Unfortunately we cannot set the initial value of the slider. We can work around this using conditional statements to see if the slider values are equal to zero, then use different parameters.\n", "\n", "Notice that as you change the parameters the graph starts to come alive! This allows you to quickly compare how different parameters affect the results of our model!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Dig deeper?\n", "\n", "Using the ipywidget library, create a new function that allows for user input. Using the python array of objects below, which contains various diseases and their initial parameters, have the user type in one of the disease names and return the graph corresponding to that disease! You can use the ipywidget text box to take in the value from the user and then pass that value to a function that will call out that disease from the object below!\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Text\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Disease = [{'name': \"Ebola\", 'p': 0, 'e': 0, 'mu': .04, 'beta': .005, 'gamma': 0}, \\\n", " {'name': \"Measles\", 'p': .9, 'e': .9, 'mu': .02, 'beta': .002, 'gamma': .9}, \\\n", " {'name': \"Tuberculosis\", 'p': .5, 'e': .2, 'mu': .06, 'beta': .001, 'gamma': .3}]\n", "\n", "#Example\n", "\n", "def z(x):\n", " print(x)\n", "interact(z, x = 'Text')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## References\n", "\n", "* Scherer, A. and McLean, A. \"Mathematical Models of Vaccination\", British Medical Bulletin Volume 62 Issue 1, 2015 Oxford University Press. [Online](http://bmb.oxfordjournals.org/content/62/1/187.long#F2)\n", "\n", "* Barba, L., \"Practical Numerical Methods with Python\" George Washington University \n", "\n", "* For a good explanation of some of the simpler models and overview of parameters, visit this [Wiki Page](https://en.wikipedia.org/wiki/Epidemic_model)\n", "\n", "* Slider tutorial posted on [github](https://github.com/ipython/ipywidgets/issues/145)\n", "\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.core.display import HTML\n", "css_file = 'numericalmoocstyle.css'\n", "HTML(open(css_file, \"r\").read())" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "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.4.3" } }, "nbformat": 4, "nbformat_minor": 0 }