Created
January 25, 2016 08:51
-
-
Save yoavram/5550c3f5daf1772e8352 to your computer and use it in GitHub Desktop.
Deterministic and stochastic versions of the logistic growth model
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "cells": [ | |
| { | |
| "cell_type": "code", | |
| "execution_count": 1, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "%matplotlib inline\n", | |
| "import matplotlib.pyplot as plt\n", | |
| "from ipywidgets import interact\n", | |
| "import numpy as np\n", | |
| "from scipy.integrate import odeint\n", | |
| "from sympy import symbols, Symbol, pprint\n", | |
| "#from pysde.sde import SDE_solver, Milstein, Euler # https://github.com/cchuang2009/PySDE\n", | |
| "import sdeint # https://github.com/mattja/sdeint\n", | |
| "import seaborn as sns\n", | |
| "sns.set(\n", | |
| " style='white'\n", | |
| ")" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "## Deterministic logistic model" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "The deterministic logistic ordinary differential equation is:\n", | |
| "$$\n", | |
| "\\frac{dN}{dt} = r \\cdot N \\cdot \\Big(1- \\frac{N}{K}\\Big)\n", | |
| "$$\n", | |
| "where $N$ is the population size. $r$ is the density-independent growth rate, $K$ is the carrying capacity (maximum population size) and $t$ is time." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 2, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "def ode(N, t, r=1, K=100):\n", | |
| " return r * N * (1 - N / K)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 3, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "def integrate(r, K, T, N0):\n", | |
| " t = np.linspace(0, T)\n", | |
| " N = N0 + odeint(ode, 1, t, (r, K))\n", | |
| " return t, N" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 4, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\nCA8AAAAASUVORK5CYII=\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0xafbddd8>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "@interact(r=0.5, N0=1, K=100, T=12)\n", | |
| "def f(r, N0, K, T):\n", | |
| " t,N = integrate(r, K, T, N0)\n", | |
| " plt.plot(t, N)\n", | |
| " plt.xlabel('t')\n", | |
| " plt.ylabel('N')\n", | |
| " plt.ylim(-0.1 * max(N), max(N) * 1.1)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "This ODE has a solution:\n", | |
| "$$\n", | |
| "N(t) = \\frac{K}{1 + \\frac{K}{N(0)} \\cdot e^{-r t}}\n", | |
| "$$" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 5, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "def logistic(t, r, K, N0):\n", | |
| " return K / (1 + (K / N0 - 1) * np.exp(-r * t))" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 6, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0xaff83c8>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "@interact(r=1, K=100, N0=1, T=10)\n", | |
| "def f(r, K, N0, T):\n", | |
| " t = np.linspace(0, T)\n", | |
| " N = logistic(t, r, K, N0)\n", | |
| " plt.plot(t, N)\n", | |
| " plt.xlabel('t')\n", | |
| " plt.ylabel('N')\n", | |
| " plt.ylim(-0.1 * max(N), max(N) * 1.1)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "## Stochastic logistic model" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "The stochastic logistic function is ([Campillo et al. 2013](http://arxiv.org/abs/1307.2217)):\n", | |
| "$$\n", | |
| "dN = r \\cdot N \\cdot \\Big(1 - \\frac{N}{K}\\Big)N \\cdot dt + \\rho \\sqrt{\\Big(\\lambda + \\mu + r \\cdot \\frac{N}{K}\\Big)N} \\cdot dB_t = \\\\\n", | |
| "$$\n", | |
| "where $\\lambda$ is the birth rate, $\\mu$ is the death rate ($r = \\lambda - \\mu$), $\\rho$ is the level of stochasticity, and $B_t$ is a standard Brownian motion.\n", | |
| "\n", | |
| "We use an [SDE solver](https://github.com/cchuang2009/PySDE) by _cchuang2009_." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 19, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x9dbdef0>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "def stoch_integrate(lam=1.5, mu=0.5, K=100, rho=0.1, N0=1, T=20):\n", | |
| " r = lam - mu\n", | |
| " drift = lambda N, t: r * N * (1 - N / K)\n", | |
| " diffusion = lambda N, t: rho * ((lam + mu + r * N / K) * N)**0.5\n", | |
| " t = np.linspace(0, T)\n", | |
| " N = sdeint.itoint(drift, diffusion, N0, t)\n", | |
| " return t, N\n", | |
| "plt.scatter(*stoch_integrate())\n", | |
| "plt.xlabel('Time')\n", | |
| "plt.ylabel('Population');" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 22, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\nN08ppVROTo564IEHurmi9nM4HGrGjBndXUaHvfrqq2ratGnq9ttvV0opdf/996K/FNQAAAUQSURB\nVKtt27YppZR6/PHH1dq1a7uzvDY5sw/vvfeeeuONN7q3qHZasWKFWrJkiVJKqYaGBjVhwgSPHIvT\n+1FfX68mTJig3n//fY8aj7Vr16rHHntMKaXUli1b1AMPPOCRY3G2fnji/w2n06kefPBBde2116qi\noiKPHAulftyPjoyFxx2u37FjB+PGjQMgKyuLvLy8bq6o/fbv34/NZmPOnDnce++95ObmdndJ7ZKU\nlMRLL7106nZ+fj4jRowAYPz48Xz33XfdVVqbna0P69evZ9asWSxYsACbzdaN1bXNlClTeOSRR4DW\nhTKMRiN79+71uLE4vR+6rmMymcjPz+frr7/2mPGYOHEiTz31FAClpaWEhoZ65Fic3o+SkhJCQ0M9\nbiwAnn/+ee68805iYmJQSnnkWMAP+wEde5/yuJC3WCwEBwefum0ymdB1vRsraj8/Pz/mzJnDa6+9\nxqJFi/j973/vUX2YNGnSD1YaVKetpxQYGEhTU1N3lNUuZ/YhKyuLRx99lOXLl9OnTx/++te/dmN1\nbePv709AQAAWi4VHHnmE3/3udx45Fmf247e//S1Dhgxh7ty5HjUemqYxb948nn76aaZNm+aRYwHf\n9+OZZ57hhhtuICsry6PG4oMPPiAyMpKxY8eeGoPT3189ZSzO7IdSqkPvUx4X8kFBQVit1lO3dV1H\n0zyrG3379uXGG2889X1YWNip9fg90el//1arlZCQkG6spmMmTpxIRkYG0PoLwP79+7u5orYpKytj\n9uzZzJgxg6lTp3rsWJzZD08dj+eee441a9awcOFCHA7Hqfs9aSzgh/0YO3asR43FBx98wKZNm/j5\nz39OQUEBc+fOpa6u7tTPPWUsTu/H/v37mTdvHuPHj2/3WHhWOgLDhg1jw4YNAOTk5JCWltbNFbXf\nihUreO655wCoqKjAarUSHR3dzVV1XEZGBtu2bQMgOzub4cOHd3NF7Tdnzhz27NkDwHfffcegQYO6\nuaILq66uZs6cOfzhD39gxowZAAwcONDjxuJs/fC08fj444955ZVXAPD19UXTNDIzM9m6dSvgOWNx\nZj8MBgMPP/wwu3fvBjxjLJYvX86yZctYtmwZ6enpvPDCC4wbN87j/l+c3o+BAwfy/PPP88ADD7R7\nLDzu7PpJkyaxadMm7rjjDgCeffbZbq6o/W655Rbmz5/PXXfdhaZpLFmyxOOORpxu7ty5/PGPf8Tp\ndJKSksJ1113X3SW126JFi3jqqafw8fEhOjqaxYsXd3dJF/Tyyy/T2NjI0qVLeemllzAYDCxYsICn\nn37ao8bibP2YP38+S5Ys8ZjxmDx5MvPnz2fWrFm4XC4WLlxIcnIyCxcu9KixOLMfCxYsoFevXixe\nvNhjxuJsvOE9CuDJJ59s91jIBjVCCCGEl/Lc6aMQQgghzktCXgghhPBSEvJCCCGEl5KQF0IIIbyU\nhLwQQgjhpSTkhRBCCC8lIS+EaDOLxcKDDz7Y3WUIIdpIQl4I0Wb19fU9fllTIcT3JOSFEG32zDPP\nUFlZycMPP9zdpQgh2kBWvBNCtFlJSQn33HMPX375ZXeXIoRoA5nJCyGEEF5KQl4IIYTwUhLyQog2\nM5lMuN3u7i5DCNFGEvJCiDaLjIykV69ezJ49u7tLEUK0gZx4J4QQQngpmckLIYQQXkpCXgghhPBS\nEvJCCCGEl5KQF0IIIbyUhLwQQgjhpSTkhRBCCC8lIS+EEEJ4qf8FVjb8/XHR5W0AAAAASUVORK5C\nYII=\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0xc52ca58>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "@interact(lam=0.5, mu=0.1, K=100, rho=0.5, N0=1, T=20)\n", | |
| "def f(lam, mu, K, rho, N0, T):\n", | |
| " reps = 5\n", | |
| " for _ in range(reps):\n", | |
| " t, N_sde = stoch_integrate(lam, mu, K, rho, N0, T)\n", | |
| " plt.plot(t, N_sde, '-')\n", | |
| " N = logistic(t, lam - mu, K, N0) \n", | |
| " plt.plot(t, N, \"k--\", lw=3)\n", | |
| " plt.ylim(-0.1 * max(N), max(N) * 1.2)\n", | |
| " plt.xlabel('t')\n", | |
| " plt.ylabel('N')" | |
| ] | |
| }, | |
| { | |
| "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.4" | |
| } | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 0 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment