{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Modeling and Simulation in Python\n", "\n", "Case study: tree growth\n", "\n", "Copyright 2017 Allen Downey\n", "\n", "License: [Creative Commons Attribution 4.0 International](https://creativecommons.org/licenses/by/4.0)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# If you want the figures to appear in the notebook, use\n", "# %matplotlib notebook\n", "\n", "# If you want the figures to appear in separate windows, use\n", "# %matplotlib qt\n", "\n", "# To switch from one to another, you have to select Kernel->Restart\n", "\n", "%matplotlib inline\n", "\n", "from modsim import *" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "years = [2, 3, 4, 5, 6, 8, 10, 15, 20, 25, 30,\n", " 35, 40, 45, 50, 55, 60, 65, 70]" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "site65 = Series([1.4, 1.56, 2.01, 2.76, 3.79, 6.64, 10.44, \n", " 23.26, 37.65, 51.66, 65.00, 77.50, 89.07, \n", " 99.66, 109.28, 117.96, 125.74, 132.68, 138.84],\n", " index=years)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "site45 = Series([1.4, 1.49, 1.75, 2.18, 2.78, 4.45, 6.74,\n", " 14.86, 25.39, 35.60, 45.00, 53.65, 61.60,\n", " 68.92, 75.66, 81.85, 87.56, 92.8, 97.63],\n", " index=years)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "site = site65" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot(site)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def update(year, mass, state):\n", " height = mass**(1/tree.dimension)\n", " area = height**2\n", " growth = state.alpha * area * (1 - height/tree.K)\n", " return mass + growth" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [], "source": [ "t0 = years[0]\n", "h0 = site[t0]" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [], "source": [ "tree = State(mass=1, alpha=2.1, dimension=2.55, K=155)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [], "source": [ "m0 = h0**tree.dimension" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [], "source": [ "tree.masses = Series({t0: m0})\n", "\n", "for i in range(t0, 70):\n", " tree.masses[i+1] = update(i, tree.masses[i], tree)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# TODO: check whether there are any labeled lines before calling lengend,\n", "# or suppress the warning" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": true }, "outputs": [], "source": [ "heights = tree.masses**(1.0/tree.dimension)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nfzD1f+zYMTweD6+++io/+clP2LZt29fuHwy9b9iwgdGjR3P33Xd/p8cFQ+9//OMf/f6dlZXFvn37\n2L59+9f2Fwy9A6xYsYJx48YBsHz5cnbu3MmOHTsGRO+X7N27l6qqKh544IFvtf/X9a8j7D4iLi6O\nuro6vzGPx4PFYvnKUUl/dvToUZYuXcr06dN56aWXuk8TD5T+oet/0qtXr2bo0KFs27YNl8sVtL1f\nOhWek5Nzxe0D6X2/JDExkQsXLgR17/Hx8QBfOYpMSEigsrIyqHv/srfeeot58+bhcDi6x662fwV2\nHzFlyhQKCgr8xnJzc3G5XCQkJASoqp51+vRpVq5cSVZWFr/97W/9bpsazP2/8847zJs3j/b2dr/x\n9vZ2QkJCgrr3119/nZaWFpYsWUJmZiaZmZnk5+ezefPm7kta8vPz/R4TLL2XlpaSk5NDY2Oj33hR\nURFJSUlB/b7Hx8cTExPDsWPH/MbPnTtHQkJCUPd+uaamJt59911uv/12v/Gr7r+nZ8LJNzt48KCZ\nMGGCKS0t7R4rKCgwkyZNMrt37zZtbW3m6NGjZvbs2ebll18OXKE9yOv1mh/96Edmw4YNV9wezP27\n3W4za9Ys85vf/MbU1dWZtrY2s2XLFpOammoKCwuDuvf6+npTWVnp97Vs2TKzbt06U1NTE9S9t7S0\nmDlz5pg1a9YYj8djmpqazAsvvGDS0tJMcXFxUPdujDF//vOfzbRp08yhQ4dMW1ub2bp1q0lJSTGn\nTp0K+t4vOXLkiJkwYYLfFUHGXP3fO90PuxctWrSIiooKfD4fnZ2d2O12LBYLS5YsIScnh3/+8588\n99xznDt3jri4OO6//34eeeSRQJfdI/Ly8vjpT3+K3W4Huj6nMcYMmP6Lior4/e9/T15eHlarlTFj\nxrBq1SpuvfVWgKDu/ctWrFjB9OnTWb16NRDcvX/66aesX7+e/Px8WltbSUlJ4cknn+yeIRzMvUPX\nZ/jbt2+ntraW0aNHk52dzcyZM4Hg7x26rhBYs2YNBQUF3R//XXI1/SuwRURE+gF9hi0iItIPKLBF\nRET6AQW2iIhIP6DAFhER6QcU2CIiIv2AAltERKQfUGCLiIj0AwpsERGRfuD/AK8qpIReOC21AAAA\nAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot(heights, label='model')\n", "plot(site, label='data')\n", "decorate()" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": true }, "outputs": [], "source": [ "tree = State(t0=t0, h0=1.4, alpha=4, dimension=2.75, K=180)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def run_model(state):\n", " m0 = h0**tree.dimension\n", " tree.masses = Series({state.t0: m0})\n", "\n", " for i in range(t0, 70):\n", " tree.masses[i+1] = update(i, tree.masses[i], state)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": true }, "outputs": [], "source": [ "run_model(tree)\n", "heights = tree.masses**(1/tree.dimension)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def print_errors(model, data):\n", " abs_err = abs(model[data.index] - data)\n", " rel_err = abs_err / data * 100\n", " print(rel_err)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def error(model, data):\n", " abs_err = abs(model[data.index] - data)\n", " rel_err = abs_err / data * 100\n", " return abs_err.mean()" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2 0.000000\n", "3 49.694226\n", "4 75.105242\n", "5 78.623363\n", "6 72.577674\n", "8 54.603746\n", "10 39.104139\n", "15 14.628389\n", "20 5.888718\n", "25 3.098765\n", "30 2.010609\n", "35 1.521434\n", "40 1.258326\n", "45 1.093650\n", "50 0.959699\n", "55 0.832736\n", "60 0.710257\n", "65 0.588058\n", "70 0.469444\n", "dtype: float64\n" ] } ], "source": [ "print_errors(heights, site)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "1.6414244679037722" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "error(heights, site)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from scipy.optimize import fmin" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": true }, "outputs": [], "source": [ "alpha = 2.1\n", "dimension = 2.55\n", "K = 155" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false }, "outputs": [], "source": [ "x0 = [alpha, dimension, K]" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def func(x, tree):\n", " tree.alpha, tree.dimension, tree.K = x\n", " run_model(tree)\n", " heights = tree.masses**(1/tree.dimension)\n", " return error(heights, site)" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "2.7080403545468705" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "func(x0, tree)" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Optimization terminated successfully.\n", " Current function value: 0.816658\n", " Iterations: 227\n", " Function evaluations: 402\n" ] }, { "data": { "text/plain": [ "array([ 3.15699844, 2.68802177, 172.20946257])" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "args = (tree,)\n", "params = fmin(func, x0, args=args)\n", "params" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": true }, "outputs": [], "source": [ "tree.alpha, tree.dimension, tree.K = params\n", "run_model(tree)\n", "heights = tree.masses**(1/tree.dimension)" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nLuA/UREWtUXI5q0AAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot(heights, label='model')\n", "plot(site, label='data')\n", "decorate()" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.8166584949092535" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "error(heights, site)" ] }, { "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.5.1" } }, "nbformat": 4, "nbformat_minor": 0 }