Skip to content

Instantly share code, notes, and snippets.

@fonnesbeck
Last active May 9, 2019 15:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fonnesbeck/06b089575e1c5f83361a3185073a442b to your computer and use it in GitHub Desktop.
Save fonnesbeck/06b089575e1c5f83361a3185073a442b to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import numpy as np\n",
"import pandas as pd\n",
"import seaborn as sns\n",
"import geopandas as gpd\n",
"import pymc3 as pm\n",
"import matplotlib.pylab as plt\n",
"import theano.tensor as tt\n",
"from theano import shared, function\n",
"from theano.tensor.shared_randomstreams import RandomStreams\n",
"sns.set_style('white')\n",
"\n",
"DATA = '../data/clean/'"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Check for the number of available compute cores"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"4"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import multiprocessing\n",
"\n",
"multiprocessing.cpu_count()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Data import\n",
"\n",
"Line list to extract cases"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>id</th>\n",
" <th>date_onset</th>\n",
" <th>provincecity</th>\n",
" <th>dob</th>\n",
" <th>age_years</th>\n",
" <th>died</th>\n",
" <th>confirmed</th>\n",
" <th>labconfirmed</th>\n",
" <th>date_lab</th>\n",
" <th>vaccine_ever</th>\n",
" <th>male</th>\n",
" <th>month_onset</th>\n",
" <th>year_onset</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>389.0</td>\n",
" <td>2015-03-30</td>\n",
" <td>UB</td>\n",
" <td>2014-09-01</td>\n",
" <td>0.577686</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>1.0</td>\n",
" <td>2015-04-06</td>\n",
" <td>0.0</td>\n",
" <td>True</td>\n",
" <td>3.0</td>\n",
" <td>2015.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>707.0</td>\n",
" <td>2015-04-03</td>\n",
" <td>UB</td>\n",
" <td>2013-02-02</td>\n",
" <td>2.162902</td>\n",
" <td>1.0</td>\n",
" <td>1.0</td>\n",
" <td>1.0</td>\n",
" <td>2015-04-04</td>\n",
" <td>0.0</td>\n",
" <td>True</td>\n",
" <td>4.0</td>\n",
" <td>2015.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1762.0</td>\n",
" <td>2015-04-14</td>\n",
" <td>KhU</td>\n",
" <td>2015-01-04</td>\n",
" <td>0.279261</td>\n",
" <td>1.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" <td>True</td>\n",
" <td>4.0</td>\n",
" <td>2015.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2061.0</td>\n",
" <td>2015-04-22</td>\n",
" <td>UB</td>\n",
" <td>2014-09-23</td>\n",
" <td>0.577686</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>1.0</td>\n",
" <td>2015-04-24</td>\n",
" <td>0.0</td>\n",
" <td>True</td>\n",
" <td>4.0</td>\n",
" <td>2015.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>6465.0</td>\n",
" <td>2015-05-12</td>\n",
" <td>UB</td>\n",
" <td>2013-12-18</td>\n",
" <td>1.314168</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>0.0</td>\n",
" <td>False</td>\n",
" <td>5.0</td>\n",
" <td>2015.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" id date_onset provincecity dob age_years died confirmed \\\n",
"0 389.0 2015-03-30 UB 2014-09-01 0.577686 0.0 1.0 \n",
"1 707.0 2015-04-03 UB 2013-02-02 2.162902 1.0 1.0 \n",
"2 1762.0 2015-04-14 KhU 2015-01-04 0.279261 1.0 1.0 \n",
"3 2061.0 2015-04-22 UB 2014-09-23 0.577686 0.0 1.0 \n",
"4 6465.0 2015-05-12 UB 2013-12-18 1.314168 1.0 0.0 \n",
"\n",
" labconfirmed date_lab vaccine_ever male month_onset year_onset \n",
"0 1.0 2015-04-06 0.0 True 3.0 2015.0 \n",
"1 1.0 2015-04-04 0.0 True 4.0 2015.0 \n",
"2 0.0 NaN 0.0 True 4.0 2015.0 \n",
"3 1.0 2015-04-24 0.0 True 4.0 2015.0 \n",
"4 0.0 NaN 0.0 False 5.0 2015.0 "
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"line_list = pd.read_csv(DATA + 'line_list.csv')\n",
"line_list.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Extract and plot confirmed counts"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>[0, 1)</th>\n",
" <th>[1, 5)</th>\n",
" <th>[5, 10)</th>\n",
" <th>[10, 15)</th>\n",
" <th>[15, 20)</th>\n",
" <th>[20, 25)</th>\n",
" <th>[25, 30)</th>\n",
" <th>[30, 35)</th>\n",
" <th>[35, 40)</th>\n",
" <th>[40, 100)</th>\n",
" </tr>\n",
" <tr>\n",
" <th>date_onset</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2016-05-08</th>\n",
" <td>318.0</td>\n",
" <td>97.0</td>\n",
" <td>83.0</td>\n",
" <td>119.0</td>\n",
" <td>180.0</td>\n",
" <td>155.0</td>\n",
" <td>152.0</td>\n",
" <td>109.0</td>\n",
" <td>63.0</td>\n",
" <td>41.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2016-05-22</th>\n",
" <td>293.0</td>\n",
" <td>79.0</td>\n",
" <td>58.0</td>\n",
" <td>81.0</td>\n",
" <td>131.0</td>\n",
" <td>141.0</td>\n",
" <td>105.0</td>\n",
" <td>87.0</td>\n",
" <td>40.0</td>\n",
" <td>36.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2016-06-05</th>\n",
" <td>179.0</td>\n",
" <td>71.0</td>\n",
" <td>39.0</td>\n",
" <td>53.0</td>\n",
" <td>70.0</td>\n",
" <td>62.0</td>\n",
" <td>40.0</td>\n",
" <td>45.0</td>\n",
" <td>20.0</td>\n",
" <td>21.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2016-06-19</th>\n",
" <td>77.0</td>\n",
" <td>21.0</td>\n",
" <td>7.0</td>\n",
" <td>21.0</td>\n",
" <td>17.0</td>\n",
" <td>13.0</td>\n",
" <td>3.0</td>\n",
" <td>15.0</td>\n",
" <td>12.0</td>\n",
" <td>7.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2016-07-03</th>\n",
" <td>12.0</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>3.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>2.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" [0, 1) [1, 5) [5, 10) [10, 15) [15, 20) [20, 25) [25, 30) \\\n",
"date_onset \n",
"2016-05-08 318.0 97.0 83.0 119.0 180.0 155.0 152.0 \n",
"2016-05-22 293.0 79.0 58.0 81.0 131.0 141.0 105.0 \n",
"2016-06-05 179.0 71.0 39.0 53.0 70.0 62.0 40.0 \n",
"2016-06-19 77.0 21.0 7.0 21.0 17.0 13.0 3.0 \n",
"2016-07-03 12.0 0.0 1.0 0.0 0.0 0.0 3.0 \n",
"\n",
" [30, 35) [35, 40) [40, 100) \n",
"date_onset \n",
"2016-05-08 109.0 63.0 41.0 \n",
"2016-05-22 87.0 40.0 36.0 \n",
"2016-06-05 45.0 20.0 21.0 \n",
"2016-06-19 15.0 12.0 7.0 \n",
"2016-07-03 0.0 0.0 2.0 "
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"confirmed_counts = pd.read_csv(DATA + 'confirmed_counts.csv', index_col=0)\n",
"confirmed_counts.tail()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Plot of confirmed counts by age group."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"confirmed_counts.plot(cmap='viridis');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In order to account for change in the underlying population, we need the number of births in 2015 and 2016 (Source: [Wikipedia](https://en.wikipedia.org/wiki/Demographics_of_Mongolia#Registered_births_and_deaths))"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"births = 82130, 79920"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We will employ the contact matrix for Mongolia, as estimated by [Prem et al. 2017](http://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1005697#sec020)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 4.40123661, 1.76393655, 0.91943738, 0.62449763, 1.04620724,\n",
" 1.48232365, 1.59726926, 1.27263358, 0.69913779],\n",
" [ 1.51664206, 5.57982055, 1.63679975, 0.52656607, 0.37649241,\n",
" 0.83552993, 1.0698524 , 1.04200163, 0.77666399],\n",
" [ 0.56530473, 2.43013564, 9.17372545, 1.33873141, 0.67890573,\n",
" 0.56166434, 0.75227034, 0.97884946, 0.97725743],\n",
" [ 0.36238309, 0.73595028, 3.88089151, 12.32915786, 2.48410474,\n",
" 1.11449654, 0.79194079, 1.04438411, 1.08448104],\n",
" [ 0.69060422, 0.49460207, 0.65441906, 4.38870495, 6.8744335 ,\n",
" 2.87783706, 1.69684851, 1.35746918, 1.11479572],\n",
" [ 1.13165827, 0.59517343, 0.33830222, 1.24692768, 3.31035503,\n",
" 4.03747616, 2.29742657, 1.66957878, 1.29603167],\n",
" [ 1.11906529, 1.42978486, 1.12904181, 0.68832499, 1.51871499,\n",
" 2.32775238, 2.87889204, 2.1302899 , 1.51514744],\n",
" [ 1.0230335 , 1.46318255, 1.28889523, 0.93261004, 0.98836616,\n",
" 1.65427852, 2.02270357, 2.65928253, 2.02562053],\n",
" [ 0.63654838, 1.05024748, 1.28670258, 1.37093328, 1.13235301,\n",
" 1.33195969, 1.699263 , 1.87162165, 2.21015242]])"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"B_prem = pd.read_csv(DATA + 'mongolia_prem.csv').values[:9, :9]\n",
"B_prem"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(9, 9)"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"B_prem.shape"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Expand contact matrix to include infants; treat them the same as 1-4 year-olds."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 4.40123661, 4.40123661, 1.76393655, 0.91943738, 0.62449763,\n",
" 1.04620724, 1.48232365, 1.59726926, 1.27263358, 0.69913779],\n",
" [ 4.40123661, 4.40123661, 1.76393655, 0.91943738, 0.62449763,\n",
" 1.04620724, 1.48232365, 1.59726926, 1.27263358, 0.69913779],\n",
" [ 1.51664206, 1.51664206, 5.57982055, 1.63679975, 0.52656607,\n",
" 0.37649241, 0.83552993, 1.0698524 , 1.04200163, 0.77666399],\n",
" [ 0.56530473, 0.56530473, 2.43013564, 9.17372545, 1.33873141,\n",
" 0.67890573, 0.56166434, 0.75227034, 0.97884946, 0.97725743],\n",
" [ 0.36238309, 0.36238309, 0.73595028, 3.88089151, 12.32915786,\n",
" 2.48410474, 1.11449654, 0.79194079, 1.04438411, 1.08448104],\n",
" [ 0.69060422, 0.69060422, 0.49460207, 0.65441906, 4.38870495,\n",
" 6.8744335 , 2.87783706, 1.69684851, 1.35746918, 1.11479572],\n",
" [ 1.13165827, 1.13165827, 0.59517343, 0.33830222, 1.24692768,\n",
" 3.31035503, 4.03747616, 2.29742657, 1.66957878, 1.29603167],\n",
" [ 1.11906529, 1.11906529, 1.42978486, 1.12904181, 0.68832499,\n",
" 1.51871499, 2.32775238, 2.87889204, 2.1302899 , 1.51514744],\n",
" [ 1.0230335 , 1.0230335 , 1.46318255, 1.28889523, 0.93261004,\n",
" 0.98836616, 1.65427852, 2.02270357, 2.65928253, 2.02562053],\n",
" [ 0.63654838, 0.63654838, 1.05024748, 1.28670258, 1.37093328,\n",
" 1.13235301, 1.33195969, 1.699263 , 1.87162165, 2.21015242]])"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"B_prem_exp = np.zeros((10, 10))\n",
"B_prem_exp[1:, 1:] = B_prem.copy()\n",
"B_prem_exp[:2, :2] = B_prem_exp[1, 1]\n",
"B_prem_exp[0, 2:] = B_prem[0, 1:]\n",
"B_prem_exp[2:, 0] = B_prem[1:, 0]\n",
"B_prem_exp"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$R_0$ as estimated from this contact matrix"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"17.686930739035084"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"evs = np.linalg.eigvals(B_prem).real\n",
"max(evs[np.isreal(evs)])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Import the underlying population sizes, by province:"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Total</th>\n",
" <th>0-4</th>\n",
" <th>5-9</th>\n",
" <th>10-14</th>\n",
" <th>15-19</th>\n",
" <th>20-24</th>\n",
" <th>25-29</th>\n",
" <th>30-34</th>\n",
" <th>35-39</th>\n",
" <th>40-44</th>\n",
" <th>45-49</th>\n",
" <th>50-54</th>\n",
" <th>55-59</th>\n",
" <th>60-64</th>\n",
" <th>65-69</th>\n",
" <th>70+</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Province</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Arkhangai</th>\n",
" <td>92896</td>\n",
" <td>10440</td>\n",
" <td>8360</td>\n",
" <td>7883</td>\n",
" <td>9249</td>\n",
" <td>9469</td>\n",
" <td>8207</td>\n",
" <td>6856</td>\n",
" <td>6824</td>\n",
" <td>6294</td>\n",
" <td>5498</td>\n",
" <td>4643</td>\n",
" <td>3266</td>\n",
" <td>2202</td>\n",
" <td>1237</td>\n",
" <td>2468</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Bayan-Ulgii</th>\n",
" <td>93165</td>\n",
" <td>11655</td>\n",
" <td>10219</td>\n",
" <td>9929</td>\n",
" <td>8794</td>\n",
" <td>8872</td>\n",
" <td>8531</td>\n",
" <td>7207</td>\n",
" <td>6199</td>\n",
" <td>5713</td>\n",
" <td>4633</td>\n",
" <td>3842</td>\n",
" <td>2747</td>\n",
" <td>1665</td>\n",
" <td>1006</td>\n",
" <td>2153</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Bayankhongor</th>\n",
" <td>79310</td>\n",
" <td>9760</td>\n",
" <td>7429</td>\n",
" <td>6675</td>\n",
" <td>7812</td>\n",
" <td>7992</td>\n",
" <td>7436</td>\n",
" <td>6280</td>\n",
" <td>5806</td>\n",
" <td>5165</td>\n",
" <td>4383</td>\n",
" <td>3714</td>\n",
" <td>2436</td>\n",
" <td>1480</td>\n",
" <td>1008</td>\n",
" <td>1934</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Bulgan</th>\n",
" <td>60324</td>\n",
" <td>6415</td>\n",
" <td>5351</td>\n",
" <td>4556</td>\n",
" <td>5423</td>\n",
" <td>5587</td>\n",
" <td>4977</td>\n",
" <td>4499</td>\n",
" <td>4592</td>\n",
" <td>4426</td>\n",
" <td>4066</td>\n",
" <td>3494</td>\n",
" <td>2619</td>\n",
" <td>1666</td>\n",
" <td>877</td>\n",
" <td>1776</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Gobi-Altai</th>\n",
" <td>56698</td>\n",
" <td>5953</td>\n",
" <td>5392</td>\n",
" <td>5046</td>\n",
" <td>5778</td>\n",
" <td>5631</td>\n",
" <td>4837</td>\n",
" <td>4401</td>\n",
" <td>4345</td>\n",
" <td>3994</td>\n",
" <td>3389</td>\n",
" <td>2730</td>\n",
" <td>1974</td>\n",
" <td>1064</td>\n",
" <td>706</td>\n",
" <td>1458</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Total 0-4 5-9 10-14 15-19 20-24 25-29 30-34 \\\n",
"Province \n",
"Arkhangai 92896 10440 8360 7883 9249 9469 8207 6856 \n",
"Bayan-Ulgii 93165 11655 10219 9929 8794 8872 8531 7207 \n",
"Bayankhongor 79310 9760 7429 6675 7812 7992 7436 6280 \n",
"Bulgan 60324 6415 5351 4556 5423 5587 4977 4499 \n",
"Gobi-Altai 56698 5953 5392 5046 5778 5631 4837 4401 \n",
"\n",
" 35-39 40-44 45-49 50-54 55-59 60-64 65-69 70+ \n",
"Province \n",
"Arkhangai 6824 6294 5498 4643 3266 2202 1237 2468 \n",
"Bayan-Ulgii 6199 5713 4633 3842 2747 1665 1006 2153 \n",
"Bayankhongor 5806 5165 4383 3714 2436 1480 1008 1934 \n",
"Bulgan 4592 4426 4066 3494 2619 1666 877 1776 \n",
"Gobi-Altai 4345 3994 3389 2730 1974 1064 706 1458 "
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"population = pd.read_csv(DATA + '../clean/denominators.csv', index_col=0)\n",
"population.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Age classes above 40 will be aggregated into a single group."
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>0-4</th>\n",
" <th>5-9</th>\n",
" <th>10-14</th>\n",
" <th>15-19</th>\n",
" <th>20-24</th>\n",
" <th>25-29</th>\n",
" <th>30-34</th>\n",
" <th>35-39</th>\n",
" <th>40+</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Province</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Arkhangai</th>\n",
" <td>10440</td>\n",
" <td>8360</td>\n",
" <td>7883</td>\n",
" <td>9249</td>\n",
" <td>9469</td>\n",
" <td>8207</td>\n",
" <td>6856</td>\n",
" <td>6824</td>\n",
" <td>25608</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Bayan-Ulgii</th>\n",
" <td>11655</td>\n",
" <td>10219</td>\n",
" <td>9929</td>\n",
" <td>8794</td>\n",
" <td>8872</td>\n",
" <td>8531</td>\n",
" <td>7207</td>\n",
" <td>6199</td>\n",
" <td>21759</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Bayankhongor</th>\n",
" <td>9760</td>\n",
" <td>7429</td>\n",
" <td>6675</td>\n",
" <td>7812</td>\n",
" <td>7992</td>\n",
" <td>7436</td>\n",
" <td>6280</td>\n",
" <td>5806</td>\n",
" <td>20120</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Bulgan</th>\n",
" <td>6415</td>\n",
" <td>5351</td>\n",
" <td>4556</td>\n",
" <td>5423</td>\n",
" <td>5587</td>\n",
" <td>4977</td>\n",
" <td>4499</td>\n",
" <td>4592</td>\n",
" <td>18924</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Gobi-Altai</th>\n",
" <td>5953</td>\n",
" <td>5392</td>\n",
" <td>5046</td>\n",
" <td>5778</td>\n",
" <td>5631</td>\n",
" <td>4837</td>\n",
" <td>4401</td>\n",
" <td>4345</td>\n",
" <td>15315</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 0-4 5-9 10-14 15-19 20-24 25-29 30-34 35-39 \\\n",
"Province \n",
"Arkhangai 10440 8360 7883 9249 9469 8207 6856 6824 \n",
"Bayan-Ulgii 11655 10219 9929 8794 8872 8531 7207 6199 \n",
"Bayankhongor 9760 7429 6675 7812 7992 7436 6280 5806 \n",
"Bulgan 6415 5351 4556 5423 5587 4977 4499 4592 \n",
"Gobi-Altai 5953 5392 5046 5778 5631 4837 4401 4345 \n",
"\n",
" 40+ \n",
"Province \n",
"Arkhangai 25608 \n",
"Bayan-Ulgii 21759 \n",
"Bayankhongor 20120 \n",
"Bulgan 18924 \n",
"Gobi-Altai 15315 "
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pop_classes = population.iloc[:, 1:9].copy()\n",
"pop_classes['40+'] = population.iloc[:, 9:].sum(1)\n",
"pop_classes.head()"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Index(['0-4', '5-9', '10-14', '15-19', '20-24', '25-29', '30-34', '35-39',\n",
" '40+'],\n",
" dtype='object')"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"age_group_index = pop_classes.columns.str.strip()\n",
"age_group_index"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"pop_classes_total = pop_classes.sum().values"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Break out infants from 0-4 group. Will use average of 2015 and 2016 births, and subtract them from 0-4's."
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [],
"source": [
"mean_births = int(np.mean(births))\n",
"N = [mean_births, pop_classes_total[0] - mean_births]\n",
"N.extend(pop_classes_total[1:])\n",
"N = np.array(N)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here is the assumed population size by age group, with infants as their own group."
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 81025, 441650, 418444, 352776, 386296, 427388, 448107,\n",
" 379846, 348235, 1264181])"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"N"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Try to obtain susceptible proportion from coverage history"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [],
"source": [
"coverage = pd.read_csv(DATA + 'coverage.csv', index_col=0)"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>MCV1</th>\n",
" <th>MCV2</th>\n",
" <th>SIA 1994 (M)</th>\n",
" <th>SIA 1996 (M)</th>\n",
" <th>SIA 2000 (M)</th>\n",
" <th>SIA 2007 (M)</th>\n",
" <th>SIA 2012 (MR)</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Age</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>0.89</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.98</td>\n",
" <td>0.96</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>0.91</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.96</td>\n",
" <td>0.97</td>\n",
" <td>0.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>0.93</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.96</td>\n",
" <td>0.97</td>\n",
" <td>0.87</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>0.93</td>\n",
" <td>0.75</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.96</td>\n",
" <td>0.97</td>\n",
" <td>0.89</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>0.92</td>\n",
" <td>0.95</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.97</td>\n",
" <td>0.91</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>0.95</td>\n",
" <td>0.96</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.97</td>\n",
" <td>0.88</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>0.98</td>\n",
" <td>0.98</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.97</td>\n",
" <td>0.95</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>0.98</td>\n",
" <td>0.98</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.97</td>\n",
" <td>0.95</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>0.99</td>\n",
" <td>0.98</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.97</td>\n",
" <td>0.96</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>0.97</td>\n",
" <td>0.96</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.97</td>\n",
" <td>0.95</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>0.99</td>\n",
" <td>0.97</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.97</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>0.98</td>\n",
" <td>0.96</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.96</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>0.97</td>\n",
" <td>0.97</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.96</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>0.94</td>\n",
" <td>0.93</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.90</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>0.98</td>\n",
" <td>0.97</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>0.98</td>\n",
" <td>0.99</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>0.99</td>\n",
" <td>0.99</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>0.99</td>\n",
" <td>0.99</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>0.99</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" <td>0.00</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" MCV1 MCV2 SIA 1994 (M) SIA 1996 (M) SIA 2000 (M) SIA 2007 (M) \\\n",
"Age \n",
"19 0.89 0.00 0.0 0.98 0.96 0.00 \n",
"18 0.91 0.00 0.0 0.00 0.96 0.97 \n",
"17 0.93 0.00 0.0 0.00 0.96 0.97 \n",
"16 0.93 0.75 0.0 0.00 0.96 0.97 \n",
"15 0.92 0.95 0.0 0.00 0.00 0.97 \n",
"14 0.95 0.96 0.0 0.00 0.00 0.97 \n",
"13 0.98 0.98 0.0 0.00 0.00 0.97 \n",
"12 0.98 0.98 0.0 0.00 0.00 0.97 \n",
"11 0.99 0.98 0.0 0.00 0.00 0.97 \n",
"10 0.97 0.96 0.0 0.00 0.00 0.97 \n",
"9 0.99 0.97 0.0 0.00 0.00 0.00 \n",
"8 0.98 0.96 0.0 0.00 0.00 0.00 \n",
"7 0.97 0.97 0.0 0.00 0.00 0.00 \n",
"6 0.94 0.93 0.0 0.00 0.00 0.00 \n",
"5 0.98 0.97 0.0 0.00 0.00 0.00 \n",
"4 0.98 0.99 0.0 0.00 0.00 0.00 \n",
"3 0.99 0.99 0.0 0.00 0.00 0.00 \n",
"2 0.99 0.99 0.0 0.00 0.00 0.00 \n",
"1 0.99 0.00 0.0 0.00 0.00 0.00 \n",
"0 0.00 0.00 0.0 0.00 0.00 0.00 \n",
"\n",
" SIA 2012 (MR) \n",
"Age \n",
"19 0.00 \n",
"18 0.00 \n",
"17 0.87 \n",
"16 0.89 \n",
"15 0.91 \n",
"14 0.88 \n",
"13 0.95 \n",
"12 0.95 \n",
"11 0.96 \n",
"10 0.95 \n",
"9 0.97 \n",
"8 0.96 \n",
"7 0.96 \n",
"6 0.90 \n",
"5 0.00 \n",
"4 0.00 \n",
"3 0.00 \n",
"2 0.00 \n",
"1 0.00 \n",
"0 0.00 "
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"coverage.tail(20)"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [],
"source": [
"age_classes = [0,1,5,10,15,20,25,30,35,40,100]\n",
"age_slices = [slice(age_classes[i], age_classes[i+1]) for i in range(len(age_classes)-1)]"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [],
"source": [
"n_age_classes = len(age_classes) - 1"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [],
"source": [
"efficacy = 0.85"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Dependent MCV immunization"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [],
"source": [
"immune_MCV1 = coverage[::-1].MCV1 * efficacy\n",
"immune_MCV2 = (1 - immune_MCV1) * coverage[::-1].MCV2 * efficacy"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [],
"source": [
"MCV_immunity = immune_MCV2 + immune_MCV1"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [],
"source": [
"downsample_mean = lambda x: np.array([x[s].mean() for s in age_slices])\n",
"downsample_sum = lambda x: np.array([x[s].sum() for s in age_slices])"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [],
"source": [
"group_coverage = downsample_mean(coverage[::-1])"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([0. , 0.839375, 0.8262 , 0.8279 , 0.7786 , 0.7055 ,\n",
" 0.544 , 0.0969 , 0.0289 , 0. ])"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"downsample_mean(immune_MCV1)"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'Susceptibility')"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"susceptibility = (1 - coverage*efficacy).prod(axis=1).round(3).sort_index()\n",
"susceptibility.plot()\n",
"plt.ylabel('Susceptibility')"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [],
"source": [
"p_susc = susceptibility.groupby(pd.cut(susceptibility.index, age_classes)).mean()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Down-sample susceptibility to age groups."
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [],
"source": [
"residual_susceptibility = downsample_mean(susceptibility)"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"age_labels = ['0', '1-4', '5-9', '10-14', '15-19', '20-24', '25-29', \n",
" '30-34', '35-39', '40+']\n",
"plt.bar(range(len(age_slices)), downsample_mean(susceptibility), \n",
" tick_label=age_labels);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"*These susceptibility rates can't be true given the distribution of cases that were observed!*"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### SIA\n",
"\n",
"Create a time x age matrix of SIA vaccinations to account for intervention"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>0</th>\n",
" <th>1-4</th>\n",
" <th>5-9</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Arkhangai</th>\n",
" <td>860</td>\n",
" <td>7364</td>\n",
" <td>1837</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Bayan-Ulgii</th>\n",
" <td>1361</td>\n",
" <td>9069</td>\n",
" <td>1872</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Bayankhongor</th>\n",
" <td>928</td>\n",
" <td>6992</td>\n",
" <td>2019</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Bulgan</th>\n",
" <td>574</td>\n",
" <td>4494</td>\n",
" <td>1430</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Gobi-Altai</th>\n",
" <td>494</td>\n",
" <td>4490</td>\n",
" <td>1276</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 0 1-4 5-9\n",
"Arkhangai 860 7364 1837\n",
"Bayan-Ulgii 1361 9069 1872\n",
"Bayankhongor 928 6992 2019\n",
"Bulgan 574 4494 1430\n",
"Gobi-Altai 494 4490 1276"
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sia_2015 = pd.read_csv(DATA + 'sia_2015.csv', index_col=0)\n",
"sia_2016 = pd.read_csv(DATA + 'sia_2016.csv', index_col=0)\n",
"sia_2015.head()"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0 34302\n",
"1-4 247851\n",
"5-9 65532\n",
"10-14 0\n",
"15-19 0\n",
"20-24 0\n",
"25-29 0\n",
"30-34 0\n",
"35-39 0\n",
"40+ 0\n",
"dtype: int64"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sia_2015_total = (sia_2015.sum()\n",
" .reindex(pd.Index(age_labels))\n",
" .fillna(0)\n",
" .astype(int))\n",
"sia_2015_total"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"15-19 78105\n",
"20-24 186022\n",
"25-29 230733\n",
"30-34 54439\n",
"dtype: int64"
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sia_2016.sum()"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0 0\n",
"1-4 0\n",
"5-9 0\n",
"10-14 0\n",
"15-19 78105\n",
"20-24 186022\n",
"25-29 230733\n",
"30-34 54439\n",
"35-39 0\n",
"40+ 0\n",
"dtype: int64"
]
},
"execution_count": 36,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sia_2016_total = (sia_2016.sum()\n",
" .reindex(pd.Index(age_labels))\n",
" .fillna(0)\n",
" .astype(int))\n",
"sia_2016_total"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [],
"source": [
"sia = pd.DataFrame(index=confirmed_counts.index, columns=pd.Index(age_labels)).fillna(0)"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [],
"source": [
"sia.loc['2016-05-22'] = sia_2016_total\n",
"sia.loc[['2015-05-24', '2015-06-07', '2015-06-21']] = [sia_2015_total/4,\n",
" sia_2015_total/2,\n",
" sia_2015_total/4]"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>0</th>\n",
" <th>1-4</th>\n",
" <th>5-9</th>\n",
" <th>10-14</th>\n",
" <th>15-19</th>\n",
" <th>20-24</th>\n",
" <th>25-29</th>\n",
" <th>30-34</th>\n",
" <th>35-39</th>\n",
" <th>40+</th>\n",
" </tr>\n",
" <tr>\n",
" <th>date_onset</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2015-01-18</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-02-01</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-02-15</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-03-01</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-03-15</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-03-29</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-04-12</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-04-26</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-05-10</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-05-24</th>\n",
" <td>8575.5</td>\n",
" <td>61962.75</td>\n",
" <td>16383.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-06-07</th>\n",
" <td>17151.0</td>\n",
" <td>123925.50</td>\n",
" <td>32766.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-06-21</th>\n",
" <td>8575.5</td>\n",
" <td>61962.75</td>\n",
" <td>16383.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-07-05</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-07-19</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-08-02</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-08-16</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-08-30</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-09-13</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-09-27</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-10-11</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-10-25</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-11-08</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-11-22</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-12-06</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-12-20</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2016-01-03</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2016-01-17</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2016-01-31</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2016-02-14</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2016-02-28</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2016-03-13</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2016-03-27</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2016-04-10</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2016-04-24</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2016-05-08</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2016-05-22</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>78105.0</td>\n",
" <td>186022.0</td>\n",
" <td>230733.0</td>\n",
" <td>54439.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2016-06-05</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2016-06-19</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2016-07-03</th>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 0 1-4 5-9 10-14 15-19 20-24 25-29 \\\n",
"date_onset \n",
"2015-01-18 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"2015-02-01 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"2015-02-15 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"2015-03-01 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"2015-03-15 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"2015-03-29 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"2015-04-12 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"2015-04-26 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"2015-05-10 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"2015-05-24 8575.5 61962.75 16383.0 0.0 0.0 0.0 0.0 \n",
"2015-06-07 17151.0 123925.50 32766.0 0.0 0.0 0.0 0.0 \n",
"2015-06-21 8575.5 61962.75 16383.0 0.0 0.0 0.0 0.0 \n",
"2015-07-05 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"2015-07-19 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"2015-08-02 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"2015-08-16 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"2015-08-30 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"2015-09-13 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"2015-09-27 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"2015-10-11 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"2015-10-25 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"2015-11-08 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"2015-11-22 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"2015-12-06 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"2015-12-20 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"2016-01-03 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"2016-01-17 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"2016-01-31 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"2016-02-14 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"2016-02-28 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"2016-03-13 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"2016-03-27 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"2016-04-10 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"2016-04-24 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"2016-05-08 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"2016-05-22 0.0 0.00 0.0 0.0 78105.0 186022.0 230733.0 \n",
"2016-06-05 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"2016-06-19 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"2016-07-03 0.0 0.00 0.0 0.0 0.0 0.0 0.0 \n",
"\n",
" 30-34 35-39 40+ \n",
"date_onset \n",
"2015-01-18 0.0 0.0 0.0 \n",
"2015-02-01 0.0 0.0 0.0 \n",
"2015-02-15 0.0 0.0 0.0 \n",
"2015-03-01 0.0 0.0 0.0 \n",
"2015-03-15 0.0 0.0 0.0 \n",
"2015-03-29 0.0 0.0 0.0 \n",
"2015-04-12 0.0 0.0 0.0 \n",
"2015-04-26 0.0 0.0 0.0 \n",
"2015-05-10 0.0 0.0 0.0 \n",
"2015-05-24 0.0 0.0 0.0 \n",
"2015-06-07 0.0 0.0 0.0 \n",
"2015-06-21 0.0 0.0 0.0 \n",
"2015-07-05 0.0 0.0 0.0 \n",
"2015-07-19 0.0 0.0 0.0 \n",
"2015-08-02 0.0 0.0 0.0 \n",
"2015-08-16 0.0 0.0 0.0 \n",
"2015-08-30 0.0 0.0 0.0 \n",
"2015-09-13 0.0 0.0 0.0 \n",
"2015-09-27 0.0 0.0 0.0 \n",
"2015-10-11 0.0 0.0 0.0 \n",
"2015-10-25 0.0 0.0 0.0 \n",
"2015-11-08 0.0 0.0 0.0 \n",
"2015-11-22 0.0 0.0 0.0 \n",
"2015-12-06 0.0 0.0 0.0 \n",
"2015-12-20 0.0 0.0 0.0 \n",
"2016-01-03 0.0 0.0 0.0 \n",
"2016-01-17 0.0 0.0 0.0 \n",
"2016-01-31 0.0 0.0 0.0 \n",
"2016-02-14 0.0 0.0 0.0 \n",
"2016-02-28 0.0 0.0 0.0 \n",
"2016-03-13 0.0 0.0 0.0 \n",
"2016-03-27 0.0 0.0 0.0 \n",
"2016-04-10 0.0 0.0 0.0 \n",
"2016-04-24 0.0 0.0 0.0 \n",
"2016-05-08 0.0 0.0 0.0 \n",
"2016-05-22 54439.0 0.0 0.0 \n",
"2016-06-05 0.0 0.0 0.0 \n",
"2016-06-19 0.0 0.0 0.0 \n",
"2016-07-03 0.0 0.0 0.0 "
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sia"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [],
"source": [
"sia_vacc = sia.cumsum(0).values"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Stochastic Disease Transmission Model\n",
"\n",
"We will extend a simple SIR disease model, to account for confirmation status, which will be fit using MCMC.\n",
"\n",
"This model fits the series of 2-week infection totals for each age group $a$ as a set of Poisson random variables:\n",
"\n",
"\\\\[Pr(I_{a}(t) | \\lambda_a(t)) = \\text{Poisson}(\\lambda_a(t)) \\\\]\n",
"\n",
"Where the age-specific outbreak intensity at time $t$ is modeled as:\n",
"\n",
"\\\\[\\lambda_a(t) = S_a(t-1) \\frac{I(t-1)\\mathbf{B}}{N_a} \\\\]\n",
"\n",
"where $S_a(t-1)$ is the number of susceptibles in age group $a$ in the previous time period, $I(t-1)$ an age-specific vector of the number of infected individuals in the previous time period, $\\mathbf{B}$ a matrix of transmission coefficients (from Prem et al., specified above), and $N_a$ an estimate of the population of age-$a$ people in Mongolia.\n",
"\n",
"The basic reproductive number $R_0$ was calculated as the largest real-valued eigenvalue of the matrix $\\mathbf{B}$. To impose a mild constraint on $R_0$, we applied a Gaussian prior distribution whose 1st and 99th quantiles are 8 and 24, respectively, a reasonable range for a measles outbreak:"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Input data\n",
"\n",
"Cases"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(39, 10)"
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"I = confirmed_counts.values.astype(int)\n",
"I.shape"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [],
"source": [
"I_age = I.sum(0)"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>id</th>\n",
" <th>date_onset</th>\n",
" <th>provincecity</th>\n",
" <th>dob</th>\n",
" <th>age_years</th>\n",
" <th>died</th>\n",
" <th>confirmed</th>\n",
" <th>labconfirmed</th>\n",
" <th>date_lab</th>\n",
" <th>vaccine_ever</th>\n",
" <th>male</th>\n",
" <th>month_onset</th>\n",
" <th>year_onset</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>389.0</td>\n",
" <td>2015-03-30</td>\n",
" <td>UB</td>\n",
" <td>2014-09-01</td>\n",
" <td>0.577686</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>1.0</td>\n",
" <td>2015-04-06</td>\n",
" <td>0.0</td>\n",
" <td>True</td>\n",
" <td>3.0</td>\n",
" <td>2015.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>707.0</td>\n",
" <td>2015-04-03</td>\n",
" <td>UB</td>\n",
" <td>2013-02-02</td>\n",
" <td>2.162902</td>\n",
" <td>1.0</td>\n",
" <td>1.0</td>\n",
" <td>1.0</td>\n",
" <td>2015-04-04</td>\n",
" <td>0.0</td>\n",
" <td>True</td>\n",
" <td>4.0</td>\n",
" <td>2015.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2061.0</td>\n",
" <td>2015-04-22</td>\n",
" <td>UB</td>\n",
" <td>2014-09-23</td>\n",
" <td>0.577686</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>1.0</td>\n",
" <td>2015-04-24</td>\n",
" <td>0.0</td>\n",
" <td>True</td>\n",
" <td>4.0</td>\n",
" <td>2015.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>20835.0</td>\n",
" <td>2015-11-25</td>\n",
" <td>UB</td>\n",
" <td>2015-09-01</td>\n",
" <td>0.238193</td>\n",
" <td>1.0</td>\n",
" <td>1.0</td>\n",
" <td>1.0</td>\n",
" <td>2015-12-01</td>\n",
" <td>0.0</td>\n",
" <td>True</td>\n",
" <td>11.0</td>\n",
" <td>2015.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>21053.0</td>\n",
" <td>2015-12-02</td>\n",
" <td>UB</td>\n",
" <td>2014-11-19</td>\n",
" <td>1.062286</td>\n",
" <td>0.0</td>\n",
" <td>1.0</td>\n",
" <td>1.0</td>\n",
" <td>2015-12-14</td>\n",
" <td>0.0</td>\n",
" <td>False</td>\n",
" <td>12.0</td>\n",
" <td>2015.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" id date_onset provincecity dob age_years died confirmed \\\n",
"0 389.0 2015-03-30 UB 2014-09-01 0.577686 0.0 1.0 \n",
"1 707.0 2015-04-03 UB 2013-02-02 2.162902 1.0 1.0 \n",
"3 2061.0 2015-04-22 UB 2014-09-23 0.577686 0.0 1.0 \n",
"8 20835.0 2015-11-25 UB 2015-09-01 0.238193 1.0 1.0 \n",
"9 21053.0 2015-12-02 UB 2014-11-19 1.062286 0.0 1.0 \n",
"\n",
" labconfirmed date_lab vaccine_ever male month_onset year_onset \n",
"0 1.0 2015-04-06 0.0 True 3.0 2015.0 \n",
"1 1.0 2015-04-04 0.0 True 4.0 2015.0 \n",
"3 1.0 2015-04-24 0.0 True 4.0 2015.0 \n",
"8 1.0 2015-12-01 0.0 True 11.0 2015.0 \n",
"9 1.0 2015-12-14 0.0 False 12.0 2015.0 "
]
},
"execution_count": 43,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lab_samples = line_list.dropna(subset=['date_lab']).copy()\n",
"lab_samples.head()"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(5846, 13)"
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"clinic_confirmed = lab_samples.query('confirmed==1').dropna(subset=['age_years']).copy()\n",
"clinic_confirmed.shape"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {},
"outputs": [],
"source": [
"clinic_confirmed['age_group'] = pd.cut(clinic_confirmed.age_years, age_classes, labels=np.arange(len(age_slices)))"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"age_group\n",
"0 0.768957\n",
"1 0.657143\n",
"2 0.791489\n",
"3 0.503497\n",
"4 0.528487\n",
"5 0.539967\n",
"6 0.533007\n",
"7 0.752212\n",
"8 0.727273\n",
"9 0.372093\n",
"Name: labconfirmed, dtype: float64"
]
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"clinic_confirmed.dropna(subset=['age_years']).groupby('age_group')['labconfirmed'].mean()"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {},
"outputs": [],
"source": [
"age_midpoints = np.array([0.5, 3, 7.5, 12.5, 17.5, 22.5, 27.5, 32.5, 37.5, 70])"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {},
"outputs": [],
"source": [
"confirmed, age, age_group = clinic_confirmed[['labconfirmed', 'age_years', 'age_group']].values.T"
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {},
"outputs": [],
"source": [
"age_group = age_group.astype(int)\n",
"age = age.astype(float)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We use a Gaussian random walk to model the variation in confirmation rate across age groups. These functions support the random walk model."
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {},
"outputs": [],
"source": [
"n_knots = 20\n",
"knots = np.linspace(age.min(), age.max(), n_knots)"
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {},
"outputs": [],
"source": [
"def interpolate(x0, y0, x):\n",
" \n",
" idx = np.searchsorted(x0, x)\n",
" dl = np.array(x - x0[idx - 1])\n",
" dr = np.array(x0[idx] - x)\n",
" d = dl + dr\n",
" wl = dr / d\n",
"\n",
" return wl * y0[idx - 1] + (1 - wl) * y0[idx]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Generates mcv2 effective coverage under assumption that second dose is given only to those children who received the first dose"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"```R\n",
"routine_coverage_bias <- 0.95\n",
"mcv1 <- read.csv(\"input-mcv1.csv\",row.names = 1) # read in first dose coverage\n",
"m1 <- unlist(mcv1[which(rownames(mcv1)==\"MNG\"),1:35]) # select out MNG\n",
"mcv2 <- read.csv(\"input-mcv2.csv\",row.names = 1) # read in second dose coverage\n",
"m2 <- unlist(mcv2[which(rownames(mcv2)==\"MNG\"),1:35]) # select out MNG\n",
"m1 <- c(rep(0,15),m1) * routine_coverage_bias\n",
"m2 <- c(rep(0,15),m2) * routine_coverage_bias\n",
"\n",
"L <- 60 # life expectancy\n",
"R <- 25 # R0 -- in practice this is fit, this is just a test value for illustration\n",
"\n",
"# Expected force of natural infection, discounted by vaccination, per SP paper\n",
"foi <- rev(1-m1*.85) * rev(1-mcv2_dep(m1,m2,0.85)) *(R/L) # here scaling effective MCV2 by mcv2_dep function above\n",
"\n",
"#########################################\n",
"#SIAs\n",
"SIA.coverage <- 0.5 # immunization due to sias\n",
"sia1 <- rep(0,35) # 2012 SIA just illustrating ages 1-35 here, since historical coverage above only goes that far back. Reasonable to assume no vaccination before 1980 -- if there was any it was trivial\n",
"sia1[7:18] <- SIA.coverage # current age classes that were targeted by SIA\n",
"sia2 <- rep(0,35) # same for 2007 SIA \n",
"sia2[11:19] <- SIA.coverage\n",
"sia3 <- rep(0,35) # same for 2000 SIA \n",
"sia3[15:29] <- SIA.coverage\n",
"# note that in the calculation below, I assume that these are all independent, which is the most optimistic interpretation of impact\n",
"\n",
"sia1 <- c(sia1,rep(0,15))\n",
"sia2 <- c(sia2,rep(0,15))\n",
"sia3 <- c(sia3,rep(0,15))\n",
"#########################################\n",
"# The 4hree terms here are:\n",
"# susceptibles after the first dose\n",
"# suceptibles after the second dose\n",
"# susceptibles after natural infection\n",
"# susceptibles after sias\n",
"\n",
"plot((1-rev(m1)*.85) * rev(1-mcv2_dep(m1,m2,0.85)) * exp(-cumsum(foi)) *(1-sia1)*(1-sia2)*(1-sia3),ylim=c(0,.25),type=\"l\",\n",
" xlab=\"current age (years)\",\n",
" ylab=\"fraction susceptible\")\n",
"lines((1-rev(m1)*.85) * 1 * exp(-cumsum(foi)) *(1-sia1)*(1-sia2)*(1-sia3),ylim=c(0,.05),col=2)\n",
"legend(0,.25,legend=c(\"with mcv2\",\"set mcv2 to 0\"),lty=1,col=1:2,bty=\"n\")\n",
"\n",
"# for the first case (black line)\n",
"initial_susceptible_profile <- (1-rev(m1)*.85) * rev(1-mcv2_dep(m1,m2,0.85)) * exp(-cumsum(foi)) *(1-sia1)*(1-sia2)*(1-sia3)\n",
"\n",
"##############################################################\n",
"# Initial susceptibles in numbers -- assume that that population in each age class is equal to the birth cohort in that year of birth\n",
"# then the estiamte of the absolute number of susceptible in each age class is initial_susceptible_profile (above) times the rev()\n",
"# of the birth cohorts. This ignores any mortality, but that isn't terrible, since it presumes that you're likely to move from S->R \n",
"# prior to death\n",
"births <- read.csv(\"input-births.csv\",row.names = 1)\n",
"births <- unlist(births[which(rownames(births)==\"MNG\"),1:35]) # select out MNG\n",
"# This only gives the birth cohorts through 35 years. It would be reasonable to assume that the prior birth cohorts\n",
"# were the same size; e.g. c() births[1] as many times as needed to births.\n",
"births <- c(rep(births[1],15),births)\n",
"\n",
"# The first dose of measles vaccine is delivered between 9-12m of age. So most of the first age cohort is not yet eligible.\n",
"# So we model the 0-1 class separately and assume that 25% are susceptible (older than 6m, when they lose maternal immunity on average, \n",
"# and younger than 9m). The 25% between 9m-12m are vaccinated at mcv1 level\n",
"# \n",
"barplot(rev(births)*c(.25 * ( 1 + (1-rev(m1)*.85)[1]), initial_susceptible_profile[-1]), \n",
" xlab = \"birth year\",\n",
" ylab=\"number susceptible\")\n",
"\n",
"expected_susceptibles <- rev(births)*c(.25 * ( 1 + (1-rev(m1)*.85)[1]), initial_susceptible_profile[-1])\n",
"```"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {},
"outputs": [],
"source": [
"def mcv2_dep(mcv1, mcv2, ve):\n",
" return (1 - ve) * mcv2 / (1 - mcv1 * ve)"
]
},
{
"cell_type": "code",
"execution_count": 53,
"metadata": {},
"outputs": [],
"source": [
"routine_coverage_bias = 0.95"
]
},
{
"cell_type": "code",
"execution_count": 72,
"metadata": {},
"outputs": [],
"source": [
"MCV1 = pd.read_csv(DATA + '../raw/input-mcv1.csv', index_col=0).loc['MNG', :'2014'].values\n",
"MCV2 = pd.read_csv(DATA + '../raw/input-mcv2.csv', index_col=0).loc['MNG', :'2014'].values\n",
"\n",
"MCV1 = np.concatenate([np.zeros(15), MCV1]) * routine_coverage_bias\n",
"#MCV2 = np.concatenate([np.zeros(15), MCV2]) * routine_coverage_bias\n",
"MCV2 = np.zeros_like(MCV1)"
]
},
{
"cell_type": "code",
"execution_count": 107,
"metadata": {},
"outputs": [],
"source": [
"foi = (1 - MCV1 * .85)[::-1] * (1 - mcv2_dep(MCV1, MCV2, 0.85))[::-1] * (16 / 60)"
]
},
{
"cell_type": "code",
"execution_count": 108,
"metadata": {},
"outputs": [],
"source": [
"sia_coverage = 0.3\n",
"sia1 = np.zeros(50)\n",
"sia1[5:14] = sia_coverage\n",
"sia2 = np.zeros(50)\n",
"sia2[10:19] = sia_coverage\n",
"sia3 = np.zeros(50)\n",
"sia3[15:23] = sia_coverage\n",
"sia4 = np.zeros(50)\n",
"sia4[19:29] = sia_coverage"
]
},
{
"cell_type": "code",
"execution_count": 109,
"metadata": {},
"outputs": [],
"source": [
"initial_susceptible_profile = ((1 - MCV1 * .85)[::-1] \n",
" * (1 - mcv2_dep(MCV1, MCV2, 0.85))[::-1] \n",
" * np.exp(-np.cumsum(foi)) \n",
" * (1 - sia1) * (1 - sia2) * (1 - sia3) * (1 - sia4))"
]
},
{
"cell_type": "code",
"execution_count": 110,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7f954415fdd8>]"
]
},
"execution_count": 110,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.plot(initial_susceptible_profile)"
]
},
{
"cell_type": "code",
"execution_count": 111,
"metadata": {},
"outputs": [],
"source": [
"birth_counts = pd.read_csv(DATA + '../raw/input-births.csv', index_col=0).loc['MNG', :'2014'].values\n",
"birth_counts = np.concatenate([np.ones(15)*birth_counts[0], birth_counts])"
]
},
{
"cell_type": "code",
"execution_count": 112,
"metadata": {},
"outputs": [],
"source": [
"initial_susceptible_profile[0] += 1\n",
"initial_susceptible_profile[0] *= 0.25"
]
},
{
"cell_type": "code",
"execution_count": 113,
"metadata": {},
"outputs": [],
"source": [
"expected_susceptibles = birth_counts[::-1] * initial_susceptible_profile"
]
},
{
"cell_type": "code",
"execution_count": 114,
"metadata": {},
"outputs": [],
"source": [
"S_exp = downsample_sum(expected_susceptibles)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Difference between expected susceptibles and total cases by age group"
]
},
{
"cell_type": "code",
"execution_count": 115,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([14931.76459601, 46680.81115632, 26527.17050497, 11339.19591366,\n",
" 4382.42317616, 6763.38867463, 16847.03789221, 11458.07611094,\n",
" 2861.71300339, 614.54847146])"
]
},
"execution_count": 115,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"S_exp - I.cumsum(axis=0)[-1]"
]
},
{
"cell_type": "code",
"execution_count": 116,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<BarContainer object of 50 artists>"
]
},
"execution_count": 116,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.bar(np.arange(len(expected_susceptibles)), expected_susceptibles)"
]
},
{
"cell_type": "code",
"execution_count": 117,
"metadata": {},
"outputs": [],
"source": [
"def tdownsample(x): \n",
" return tt.stack([x[s].sum() for s in age_slices])"
]
},
{
"cell_type": "code",
"execution_count": 120,
"metadata": {},
"outputs": [],
"source": [
"with pm.Model() as uncertain_vacc_model:\n",
" \n",
" # Confirmation sub-model\n",
" σ = pm.HalfNormal('σ', 5)\n",
" y = pm.GaussianRandomWalk('y', sd=σ, shape=n_knots)\n",
" α = interpolate(knots, y, age)\n",
" π = pm.invlogit(α)\n",
" \n",
" confirmation = pm.Bernoulli('confirmation', π, observed=confirmed)\n",
" \n",
" # Calculate age group probabilities of confirmation\n",
" α_group = interpolate(knots, y, age_midpoints)\n",
" p_confirm = pm.Deterministic('p_confirm', pm.invlogit(α_group))\n",
" \n",
" # Basic reproduction number centered on the dominant eigenvector of the contact matrix\n",
" R_0 = pm.Normal('R_0', max(evs[np.isreal(evs)]), sd=3.5)\n",
" \n",
" # Force of infection based on dependent MCV efficacy\n",
" FOI = (1 - MCV1)[::-1] * (1 - mcv2_dep(MCV1, MCV2, efficacy))[::-1] * R_0 / 60\n",
" # Susceptibility prior to outbreaks\n",
" susceptible = ((1 - MCV1 * .85)[::-1] \n",
" * (1 - mcv2_dep(MCV1, MCV2, efficacy))[::-1] \n",
" * tt.exp(-tt.cumsum(FOI)) \n",
" * (1 - sia1) * (1 - sia2) * (1 - sia3) * (1 - sia3))\n",
" susceptible = tt.concatenate([tt.stack(0.25*(1 + susceptible[0])), susceptible[1:]])\n",
" # Initial susceptibles\n",
" S_0 = pm.Deterministic('S_0', tdownsample(birth_counts[::-1] * susceptible))\n",
" \n",
" # Susceptibles over time, removing individuals vaccinated by SIA\n",
"# S = S_0 - sia_vacc*efficacy*0.5 - shared(I.cumsum(axis=0))\n",
" S = S_0 - shared(I.cumsum(axis=0))\n",
"\n",
" # Force of infection\n",
" λ = S * (I.dot(B_prem_exp) / N.sum()) + 0.001\n",
" \n",
" # Effective reproductive number\n",
" R_t = pm.Deterministic('R_t', S.sum(1) * R_0 / N.sum())\n",
" \n",
" # Adjust for confirmation bias\n",
" λ_apparent = λ / p_confirm\n",
" \n",
" # Infections likelihood\n",
" infections = pm.Poisson('infections', λ_apparent[:-1], observed=I[1:])\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 121,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"σ_log__ -0.77\n",
"y -43.75\n",
"R_0 -2.17\n",
"confirmation -4052.14\n",
"infections -40827.80\n",
"Name: Log-probability of test_point, dtype: float64"
]
},
"execution_count": 121,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"uncertain_vacc_model.check_test_point()"
]
},
{
"cell_type": "code",
"execution_count": 122,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Auto-assigning NUTS sampler...\n",
"Initializing NUTS using jitter+adapt_diag...\n",
"Multiprocess sampling (2 chains in 2 jobs)\n",
"NUTS: [R_0, y, σ]\n",
"Sampling 2 chains: 100%|██████████| 6000/6000 [02:40<00:00, 37.33draws/s]\n"
]
}
],
"source": [
"with uncertain_vacc_model:\n",
" \n",
" trace = pm.sample(1000, tune=2000, cores=2)"
]
},
{
"cell_type": "code",
"execution_count": 123,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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KCiIDz74gH79+nHPPfewadMmnnjiCV577bX69xHgH//4B1u3biUgIIBXX32VkJCQs97rsrIybr/9dj7//HNef/11LBYLO3bs4KGHHsJisbB3716eeeYZ8vLyePLJJykrKyMkJIQXXniBmJgYZs6ciZ+fH3v37qW4uJjHHnuMcePGXfHP37kkkNu4NZkFKAp0jXJOVwSV7yW8ZBuFPR/E2kbCeEVmCcv2FF/Rx7y1dziTel14uuaGsaP5z3/nc83wYRw5eoxJE26qD+TETp145603MBgMbN22nTfmvs3LLz6Pt17l0P5MFi5cSJcAlc+//IK83FxWrVpFaWkp48eP57bbbjvvucxmM3369OH3v/89L730Ep988gmPPvooAwYM4JNPPkFRFD799FPeeecdZs6c2WjNb731FkOGDOGFF16gqqqKKVOmMGzYMMA5Gly+fDkeHh71Xwienp68+eabvPfee/j4+DBv3jzee+89ZsyYAYCnpyeLFy8G4Oabb2bWrFn079+fl19+uf45p0yZQnp6Ok899RTHjx/HarWeFcYAixcvxsvLi1WrVnHw4EEmT558Xu0bN24kIiKifsqguroaf39/5s+fz/vvv09ISEj9e5WSksJvf/vbBt/H7t27M3PmTN544w3eeOMNnnnmmQbfKw8PD37zm9/UBzA4p4JOe+6557jlllu49dZbWbJkCbNnz2bu3LkAFBUV8eGHH5KVlcUjjzwigSwubE1mAX3jgvDQ69CALkfnYzf6URrYC+pkuuJCuqYkk19QwOdffs3Vw4aedVuNqYa/zppNdk4uiqJgtzuXDhoU6DfwKmyeQWgeFnZkHmLc6GvR6XSEh4czePDgBp/LaDQycuRIAHr27MnmzZsBKCws5Pe//z3FxcVYrVbi4uKarHnTpk2sX7+ed999F4C6ujoKCpzX+hs6dCj+/v4AdOnShby8PKqrqzl69Ch33nknADabjb59+9Y/3vjx4wGoqqrCZDLRv7/zclU333wz3377LQDjxo1j7ty5PP744yxdurTBsN2+fTvTpk0DIC0tjdTU1PPf765defHFF/nnP//JyJEjGThwYIOvUa/Xc8MNNzR4m06nq6950qRJ9V8slyIjI4M5c+bUP9Y///nP+tvGjBmDTqcjOTmZkpKSS36OiyGB3IYdOVXNkaIaHrwmCQ3wNuURk/8FpSlTqLW2nZUVk3qFNWs021JGXDOcf73+b+a9OYfKyv/NB7/59jsMHNCfV156gfz8Ah589Nf1twX4eGFVoUb1cE4VWS/c8N9oNNYvi9LpdPVztrNnz+aee+5h9OjRbN26lTfeeOOCj/X666/TufPZfa13796Nh4dH/c96vR6Hw4GmaVx99dX83//9X4OP5e3tXMLXVJ8Tb29vhg0bxrp161i7di1Lly5t8LgLLftKSkoiPT2dDRs28Morr3D11Vc3GKienp7o9foGHqHx59Tr9fWvwXqJn/8z6z/zvWwtclKvDVuTWeicroh0Tld0ObYAUCgLGwTSRKjZJk24iQfvv4eU5C5n/b6mpoaI8HAAVn625qzbjDoNvQKlFh0D+vXhy/UbUO12SkpK2LZt20U9f3V1NZGRkQAsX37h5vfDhw9n4cKF9eGzf//+Jo/v27cvO3fu5OTJkwDU1tZy/Pjx844LDAzE19eXXbt2AbBmzdmvecqUKcyePZtevXoRFBR03v0HDRrEqlWrADh8+DCHDh0675hTp07h7e3NpEmTuP/+++tr9/X1xWQyXeilA6CqKl988QUAq1atYsCAAQDExsayd+9eAD7//PP645t67H79+vHZZ5+d91iuIoHchq3dW0Dv2EA8jXoMtho6ZS+lMn4UNfa2teHC1SIjI7hr6h3n/X76tJ8zZ+5b3PvgI6iO87edBxhVqm0wavRYIsNDuHnCzTzzzDP07t27ftqgOWbMmMFvf/tb7rrrrgaD7lyPPvoodrudiRMncvPNN/Paa681efzpk1V/+MMfmDBhAnfccQdZWVkNHvv888/z9NNP87Of/QxN0/Dz+9/Oz549e+Ln59fgdAXAnXfeidlsZsKECbzzzjv07t37vGMOHz7M7bffzqRJk3jzzTd55JFHALjjjjt48MEH66c8muLj48ORI0eYPHkyW7Zs4Ve/+hUA9913H4sXL2bq1KmUl5fXHz948GCOHj3KpEmTzvuS+ctf/kJ6ejoTJkxgxYoVPPXUUxd8/pakXEw7xsmTJ2tnTogL1zlWXMPoVzbwwPAkesUF0vnYB/TKfIFjg2dT7vB0dXkXZIjpS0rnS9vv7y7sKmSbjYR7qfhXHsE3JIpyApgyZQqLFy8m/KfRdVtiMpnw9XV2C5w3bx5FRUX85S9/AZyj2+nTp7N27Vp0OhnLNebAgQP1q1FOS01N3XHo0KGGJ8zPIHPIbdTaTOdJnJRIP9BUkrIWYQrtRZXO39ljQbQ4g87Z36KsTsefnnyJ6upqbBh49NFH22QYA2zYsIG3334bh8NBTEwM//jHPwDnVMqrr77KzJkzJYxbkARyG7Ums5BesYH4eOgJK9iAnymbnJQ/4LBJGLemAKNKgV3H2/9+DV9rMYSmgKffhe/opsaPH1+/guFMt9xyC7fccosLKupY5KuuDTpRYmJ/QRVXJTqvDNI5axFWrzDKfRJdXVqH46PXMOrglN0HUMBSfsH7CNEYCeQ2aM1e53RF1yh//KqPE1m0iYoUqrZoAAAc+UlEQVTEG7FaZd2xKwQYHdTYdTgMXlBbKStcxCWTQG6D1mQW0CMmAB8PPUlZi1B1BkqD+174jqJF+BtUFKBC8wPVBtbmLd8S4lwSyG1MdqmZvXlVDE4KQWetISFnOZVxozHbZVTmKnoF/I0qp+w+aChQK9MW4tJIILcxp6cr0qICSMhehsFupixyqFxN+hIMHHotU+++p/7Pe+9/cMmPFWBUsWs66nTeYKm4rGmLC7WivFKmTp0KQO5PfThOy8zMZPbs2Vf8+c5sJ7p48eImN8Fs3bqVnTt3Nnr7mS00Z86cedZGkOZ46623zvr59HvharLKoo1Zm1lAt2h/fDyUn5a69aRSFwQOm6tLa3M8PT35aOH8K/NYOg1vvcYpmzed9GaoqwavxttNNmXBggVMnDixfkvzmRwOR7O3FF/IRx99BEBeXh6rV69mwoQJAPTq1au+q1pLOd1XozHbtm2r7zh3LrvdzujRoxk9evQlP//bb7/Nww8/XP/z6ffC1SSQ25DccjO7cyu57+pEQgs3Ope6Jf8OVcL4irrpltu5efyNbNy0Gbvdzot/f46kxE7U1tby4suvcvRYFg6Hg4ceuI/rRlzDytVr2LT5e8x1NqpMFj555TGee/ZZtu85eFY7zsDAQBYuXMi///1vADZv3szixYvP6l2xYMGCC7ai3LJlC9988w11dXX069ePWbNmoSgK06ZNo3fv3mzdupXq6mqef/55Bg4cyJEjR/jzn/+MzWZDVVXmzJlDYmIi/fr1IyMjg1deeYVjx44xadIkbr31Vrp168a7777L22+/TUVFBU8++SQ5OTl4e3sza9Ys0tLSmDNnDvn5+eTm5pKfn88vfvELpk+fft57uXTpUubNm0d4eDiJiYn1/SHmzJmDj48P999/PwsWLOCjjz5Cr9eTnJzMH//4Rz766CN0Oh0rV67k6aefZsmSJQQGBrJ//3569OhB165dz+rg9v3337NgwQJKS0uZOXMmI0eOJD09/axjHnroIe677z42btyIxWJh0qRJJCcn88orr9S/F5qm8dJLL7Fx40YUReGRRx5h/Pjx9T1GgoODOXz4MD169ODll1++4pchk0BuQ9ZmFgKQFuVP5+0LsXqFUeaTCLa2HciG/csw7Pv0ij6mvccU7N1vbfKYuro6pt59T/3P9/5iGjeMdY66goMC+XDBu3yyJJ0PFi3mmadm8s57Cxg0cAB/e/pJqqurmXbvgwy+yrn5ak/mPj5a9D5VhlBWfreMvLw8Vq1cQWlZeX07ziFDhvDss8/W995NT08/bxvy9OnTL9iKMjk5ub4hz2OPPcY333zDqFGjAOcIesmSJWzYsIE33niD+fPn89FHHzF9+nQmTpyI1WpFVc/eBv7HP/6xPoDBOV1w2pw5c+jevTtz587lhx9+4IknnmDFihUAHD9+nAULFlBTU8ONN97InXfeidForL9vUVERc+bMIT09HT8/P6ZPn0737t3P+/8wb9481q9fj4eHB1VVVQQEBDB16tT6wAZYsmQJJ06cYP78+ej1es7dMZyXl8fChQvJzs5m+vTp9e1IG/KnP/2JRYsW1b+OM3355ZccPHiQFStWUF5ezu23317fkW7//v189tlnREREcOedd7Jjx45Gu9VdKgnkNmTN3gJSI/2JsOYQWbSJorRp2Np4GLtSU1MWo64bAUC3tFTWf+u82sSWrdv4buMmPljk7B1stVopKDwFwOCrBhEUGABWB1v2HGHciMHobKaz2nEqisKkSZNYuXIlkydPJiMjgxdffPGCdZ7binLr1q288847WCwWKioqSElJqQ/ksWPHAtCjRw/y8vIAZ3Oht956i8LCQq6//noSExOb/R7t2LGjvj3l0KFDqaiooLq6GoARI0bg4eFBSEgIISEhlJaWEhUVVX/fPXv2cNVVV9V/sYwfP54TJ06c9xypqan86U9/YvTo0YwZM6bRWsaNG9fodM2NN96ITqcjMTGR+Pj4Rnt1NOf13nTTTej1esLCwhg0aBCZmZn4+fnRu3fv+teXlpZGXl6eBHJHlV9RS0Z2BfcOSyTh2L9/WurWG9pBHtu733rB0WxrM3o4R3qnW1iCsz3lP//xPImdEs46du++/Xh7ewHO1RZWTY+KAuYy8Ao869jJkyfzyCOP1DeQNxgu/FfwzFaUdXV1PPvssyxdupTo6GjmzJlD3Rl9r09PCZzZ3nPChAn06dOHb7/9lvvvv5/Zs2czdOjQ85+oAQ2dLD79z/RzW32e7hfd0LFNmTdvHtu3b2f9+vXMnTu3vvvauRqaU2/seRRFQa/Xn/Wvgbpm9Adv6uR4Q61NrzRZZdFGrN3rnK7oGaaQkL2MyrhRmKSrW6saOmQwH32ypP4v7cFDh887Rq9Av769WfPdjzjM5ZQUnTqrHWdkZCQRERG8+eabjXZNa6pd5OlQCQ4OxmQy1behbEpOTg7x8fFMnz6dUaNGndcWs6nnGzRoECtXrgScI/Pg4OCzOsA1pXfv3mzbto3y8nJsNluDKyFUVaWgoIAhQ4bw2GOPUV1djdlsvqh2nOBst6mqKtnZ2eTk5JCUlERsbCwHDx6sf449e/bUH28wGBr81+WgQYNYu3YtDoeDsrIyfvzxxwa71rUUGSG3EWsyC+ga6UfaqdU/LXUbJjvCLtO5c8jDhg7mN796pNHjH7zvHl5+9TV+9vNfoGka0dHRvP5/L5133E1jRrBz+zYm3PcnEpM6n9eOc8KECZSVlTV60c7TrSjDw8P54IOzl+IFBDi7yU2YMIHY2NhmrYZYs2YNK1euxGAwEBYWVt+u8rTU1FT0ej0TJ05k8uTJZ3UqmzFjBn/+85+ZMGEC3t7e9c2GmiMiIoIZM2YwdepUwsPD6d69+3nz1w6Hg8cee4yamho0TeOee+4hICCAkSNH8pvf/IZ169bx9NNPX/C5kpKSuPvuuyktLeXZZ5/F09OTAQMGEBsby4QJE0hJSaFHjx71x99xxx1MnDiR7t2788orr9T/fuzYsWRkZDBp0iQUReGxxx4jPDz8kqdALpa032wDCistDHlhHfcOjeePh+9G8fLnUPL9qI7z/4nYVrSH9ptNOVZqJdW7HJPZwh0PzzyrHeesWbPo1q0bU6ZMcXGVoiVI+812bu1Pm0FGGjLxM538aalb2w3jjuD5p/5ITVUlmr2ORx96uD6MJ0+ejLe3d5MXMRUdlwRyG7A2s5DkcF/Sst/6X1c3WV3h1v771hwKzZBMLvj9b+WB/AtTNEVO6rm5oioL20+WMSHOTMSp75xd3dpDGGtNn9Fu6xTA26ijRvNCNZfJfH8HcbmfaQlkN/f5vkI0DW40r/ppqVsfV5d0RWg2M5VV1e06lAMMKhX4oVOt0gGuA9A0jdLSUry8vC75MWTKws2t3l1AzzCFznkrqIobhbmdTB07yrIoAopLfJzDyXbKbFOoVMsh34TON9TV5YgW5uXlRVxc3CXfXwLZjRVU1rLtRBlzk7djyDVRGnl1+xlRqnYcJeev421vqut0FOxazk3GHXg9caRNX95JtDyZsnBjn+0pQEHlmvJlmEJ7UqUPvPCdhFsJ9VQ54H81XqoZ8w736Cgm3JcEshtbtaeAu0KP4m86QXn8WBz2dnAyrwPqlhDBATWe6s3zXF2KcHMSyG4qu9TM7pwK7jV88VNXt/a7iaK96+Tn4DvPEUSaDlF38kdXlyPcmASym1qdmU+iUkBy5Q9UJN0kFzBt43zjemLWPMn9co6rSxFuTALZTa3aXcAfAzc4l7oFtY+lbh1Zaoieb3RDiMlbi2qucHU5wk1JILuho0XVZBec4nrr11TGj8Z85bv8iVamKFAZORhv6jj01X9dXY5wUxLIbih9Zx5TDBvxVM2URV2DpkoitwddYsPZTxK+e+bLzj3RIAlkN+NQNZbtyOGXXl87l7rpLu1CmcL96BU4HDicBEc2R7asdnU5wg1JILuZ74+V0NW0nRh7LuUJN+Cwycm89iQssQclWiCWDa+5uhThhiSQ3cySHbk84PHlT13dZKlbe+Nl1LPDdwS9LNs5fmCnq8sRbkYC2Y1UW2wc3reDa8igovME6uosri5JtADfpP7UaUby1r7s6lKEm5FAdiNrMgu4U/sch85IaUgfQE78tEde3r7s9B7CwMovOZGd7epyhBuRQHYja7cfYIrhO6oSxmK2qhe+g2izlIQheCk29q961dWlCDcigewmjhbVkJK3HG/qKIu+Vpa6tXOGgAj2G3swqGgpuUWlri5HuAkJZDfx4ZZj/MLwJVVh/anCx9XliFZgiruWcKWSnctfd3Upwk1IILuBWquD8p0riFNKqEocJ0vdOgglJImjhmQG5S2gsLTS1eUINyCB7AZW7c5nqvoZJu8YyrxiXV2OaC2KQlnsKKKVMrateMPV1Qg3IIHsBr7fvJ7BuoPUpEzEajG7uhzRinRhyWTpk+h38j0KyqpcXY5wMQlkF9uTW8Hw0iVYdd6U+PdwdTmitf00So5XitmUPtfV1QgXk0B2seUbdzJR9z2VSTdisVpdXY5whfBUcvQJDMp5j+xiGSV3ZBLILlRcXUf4gfcxKA4qIoehabL2uENSFEriRpOoFPLDUulx0ZFJILvQ4k37uVP5itLoEVQ75ALgHZkjrBvHDV24ruAdjuUVuboc4SISyC5ittqxbJtPkGKiptNYVIdcwLRDUxTKOo0jUqlgz9IXXV2NcBEJZBdZsu04d6mrKQ3uS6X0PBaAFpzIfo/ejC79kAPHTrq6HOECEsgu4FA1jn+3iDilBHPKzdit0tVNOJmTxuJHLSeWz3J1KcIFJJBd4PPMAm63pFPp04kyY5SryxHuxD+KXT5DGFW1gp27MlxdjWhlEsitTFU1vv/yE3roTmLqeiu2ulpXlyTcjKPzKFRFR91nT6Cq0oK1I5FAbmVf7ivg1upF1HhGUuqX7OpyhBtSvIP4MXAcQ21b2fLlx64uR7QiCeRWpKoa336RzkDdYWrS7qDOIqNj0TCvzkPIJYq4LX/DUivb6TsKCeRW9OX+U0yqXITJI4ySgFRXlyPcmKI3sD/6FhIoIOOT511djmglEsitRNM0vv5iOUP1+6lOuwNLraysEE0Lie3Cdn0/emf9h6Kcw64uR7QCCeRW8vneQiZWLMRsDKYkoDtyvTzRHNVdbgKg9MOHQZPPTHsngdwKbA6V1WtWcK0+k+rUKVgsMjoWzRMQEMhX/pPpVruDI1+86epyRAuTQG4FH2/LZrrpPWo9QigJ6oWMjsXFiEjpyw66Eb3lOaxlOa4uR7QgCeQWZqqzs/2rjxmsO0hlt59Ta5HLM4mL46HXcTh+CjrNQf4HD8rURTsmgdzC/vvdUR62f4DJJ45i/zRkdCwuRUqkP5963UZi+Q8Urpepi/ZKArkFldTUkb9xAd10OVT0uJs6uTyTuAxxqf3YrPUieONfsRfsc3U5ogVIILeguV/tY4byMVWBaZR4xLm6HNHGBXrA/vg7qdK8qPxgGthkY1F7I4HcQk6UmPDaMY84pYSKtDulZ4W4IvpGGnnH+35CzccoW/a4q8sRV5gEcgt5a9UGZujTKYu+llJdsKvLEe2EosBVqXF8oI0nZP8CajM+dXVJ4gqSQG4B3x8r4dqsVzHqobTLZBw2WVkhrpxAo4qSMpof1RR0K2egnZL55PZCAvkKc6gany1byHj9Nsq6TaPKKhcuFVdeWpDKusj7qVS9qJ7/M6itcHVJ4gqQQL7CPt1yjAeq5lLpk0BxSD801eHqkkQ7NTJBz788H8HLnE/5B9NBlS//tk4C+Qqqstio+ervJOlOUdXrPmmbKFqUToEbuocyR3c3wfkbKF/1pKtLEpdJAvkKSl+5nHvVdPLixlMiJ/JEK/A1aHTv3puPtTEEZ7xJ9eb/urokcRkkkK+QkwXFXLvvaSqN4VR3uQmHzerqkkQHEe6tQuqNfKf2xvurx6g5sM7VJYlLJIF8hRxd/BidlQKK+/+OGpNMVYjW1SVA5UTnn5OlRsMn06jO3uvqksQlkEC+AvZuXM7oqmXsCL8Fs87H1eWIDqp7mI4dne7HrBqxzJ9EVeEJV5ckLpIE8mWyl54gfv0MjitxeKaOxWG3ubok0YGlRPqxIe4hvBwmyubdTEFhvqtLEhdBAvly2GqpmD8VRbWzv+fjWKR5kHADSdFhbIp7gGhHIcVv38LB7EJXlySaSQL5UmkaluW/I6z6APMCf0uMt4yMhfsIj04gI2E6PbTDVPz3NrYclMb2bYEE8qXa+jZe+z7iDcdkBnbthEMW5Qs3Y4hMY3/Cz7lK2Yf9w6ks3XrE1SWJC5BAvhT7lqF9PpMvHQMoTZpIACZXVyREg+oi+nAk8S6G6fYRvvpenlu2A5tDBg/uSgL5Yp3YhJb+Sw7oU3ne8GtuiixHlauACDdWHdaXE0l3Mly/l2t3/o57/rORkhppeOWOJJAvRuFeWHwXVZ4x3Gn6A/en1YFmd3VVQlxQWWg/sjtP5Vp9Jg/lP83tr3/NnlxpSORuJJCbq2APvD8Bh8GbO2p+T1q4F739ql1dlRDNVhLSn5Odp3KNLpN/257hl299zpIdua4uS5xBArk58jPg/Qlg9OI5vyfJsofxUEoldrn6r2hjSkL6k9X1XtKUHNI9/sacJV/wxJI91FqlK6E7kEC+kJxt8P4k8PRnY7e/Mf9kGA90tRCos7i6MiEuSXlAGkfSHiJCX8Nqn1kc2vENk/69iaNFNa4urcOTQG7K/pXOkbFPMDUj/sZj23zpGuhgbESFnMYTbVqNTzwH0h7F08ODT73/TvfKjUx8YxPpO2UKw5UkkBuiafD9G/DJdIjoDmOe5YUMI6dq4XdpVaiy5li0A3WeYezv+jA2vxj+xT95xmcJf/okg199uJNyk3QrdAUJ5HPZ62D17+HLp6DrDTD8D3yTo7LoiIG7utQR5SFXjxbth93oz4HkByiLGs5Uy6esDX2NrXuPcP2/vuPr/adcXV6HI4F8pqp8mH8T7HgPBtwHfX9OiamOx7Z40DXQwW0xFahyIk+0M5rOSFbcJLK7TCWldhcb/P/CMN1+HljwIw9/sIOCShmEtBYJ5NOOb4S3r4Wi/XD989B5BJrdyhNbPKiywhM9KlE1ORMt2q+i4AEc6jYDg8HAv+qe4d3Y1Ww6lM/oVzbw72+OYrbKmvuWJoHssMG655wn7zwD4KZXISAaVDvvH9azLk/Pr7rVEqSTUYJo/0zeMezr+ivKo69hVOmHbAp+lltC8/jnF4e49qVvWPDDCSw2GZi0lI4dyGXH4b0bYePL0ONWGP1X0OlB0/jhlI7ndhgZEWXj2hBZVSE6DlXvQVbsBI6lPoivrZy/l/+Bz5I+pbOvnWdW7OPqF9fz2tdHKJXt11ecwdUFuITqgK1vwfrZzgAe+xwEJ4LDeWY5p0bh0Y0eJPpr/LprGQ5V4lh0POX+Xans9lsSir+je+4KPvD8jvW9fss7lQN59evD/Pubo4xMC+fWfrGMTIvA06B3dcltXscL5MK9sPLXkL8Tkq6DftNAUerDuMYGD27wwKHCX3tVgCrzZqLjUvVenIi6nuKgPiTmLOfGI88wNKQPm67+DWuqktiSVcYX+04R4GXgpt7RTOgTw+CkUPQ6xdWlt0kdJ5BttfDdy7D5X+AVCGNmQUjST0HsHAFb7PDABg+OVCq8OKAaX6VWpiqEAExekexLfpDIykyictdy8477GRg9iv3DH2W3I4Xd2RUsz8hn8bYcIgM8ubl3DBP7xNA7LhBFkXBurvYfyJoGe5fCV3+Fqlzofgv0vBUc9vpRMYDJBg9958HWUzr+2reGJK9qCWMhzqToOBXUh2L/bsRU/Eh4zpeMKlhPj6iR9E99mJv7dOdwYQ27citZ8MMJ/rvpOImhPkzo4wznlEh/V78Ct6doF7GudvLkyVp6enoLlnOFnfwBvv4b5GyByB4w8AHwCQX17MstFZjhoQ2e7CtX+HNvE/0DqmS9sRAXYHBYiC7fQWjeOgy2akrDBnKs83QKokdSa9c4kF/NrpwKMvMqUTVIi/LnzqsSmNw/Fn8vo6vLb1Wpqak7Dh06NPBCx7XPQM7ZDt88D1nfgG8EXPUghHcDx/lnhdfn6Xh8iwe1dni6TzVdvWuk4bwQF0Gv1hFVsYvQwo14mE9h9onlZKfbyE64FYt3JDUWG/vyq/jxZDmHT9Xg52ngtv6xTBuaSHKEn6vLbxUdM5DzdsC3/4AjXzpHwv2mQ0y/80bE4FxJ8eIuA6tPGkgJcDCzRwVBeotEsRCXSnMQZs4ivOgHfEsz0RQdRRHDyY27icKo67Ab/ckrr+WHrFK2ZJVic2hckxLG/cOTuDYlHF07PhHY3EBu+3PIDjsc+gy2vAnZP4B3MAz9NcQPct6m2nCoYNcgz6Sws0TH5zl6vsnTYdTBg11ruTGqAlWVcbEQl0XRU+KbQklSCt7xlURU7CHk1PdE7vgOVWekKOJq8qPHkthrJDf2jOTHExVsOFzMPe9tp0u4L/dencRt/ePw9ui4y+fa7gjZXAa7FsHWeVCZDUEJ0PM2iO4DqsrplROrT+r59SYjGv/79g3zUhkfZ+X6yGq8FasEsRAtRVMJtBURXHmQgOIdeJgL0RQdFcG9OBU+jMKwoWyuTeTboxUcKaoh0NvIXYMTmD60E9GB3q6u/oppn1MWDhscXQe7P4RDa52rJOKugu6TICgRHOc3jS80w+IjOsx1DkI97ST4WIn2tOKQk3ZCtC4NAuzFBFUfxa/iIN7lB1E0FZvBj5KwwRz2G8jqqs6k5/iiKHrG94rmvuFJ9I0PcnXll639TFnUVcOxb+Dgajj8OVgqwTsEek2B+MHOKQqHtcEwBojygQfTrBwpqq7fceeQLBai9SlQZQynKiQcQobiodgJMmfjV32M0JI9jChcxwhgtl8QBzx68sXBzjy1JxWvuN7cMqAT43tGEern6epX0aLcL5BriqFgt3OpWtYG54k6zQFeQdD5Oogd6BwNqzZAO2stsRCi7bBqBoq8O1Pk3RnCx+Kj1RBgzsXXdJJuZQfoq2ziCU8wFXuz+7MklnzWBUt4H8LThtG/V09SowLa3aaT1glkuxWqC5zBqjqco97aMjCXQ3U+lJ9w/ik66PwZQNFDVC/o/wsI6wqBcaBanRs9VAlhIdoVBcyKH2a/NPBLg8hxeGu1BJhz8DFl073iOFdVrcVQtgq+h+LNAWzWpVAX3BVDVBrBnXrRqWs/AoNDXP1KLkvrBPLS++DAqsZv9w52Bm5sfwi+DQJiwD/SGcqne0k0sIZYCNFeadQqXtT6poBvCkSAXqfgZytBqSrAVpZDUvVRIsp2YSxzwH5gLZQSRIUxHJNXFA7faJTAWAx+IRh9g/D0CcLLLwi9tx86vR693gO9To+q6HDg/GN3OFAdKqqq4lDtOFQVq96PsIgYwv1bfrqkdQJ55F+cJ98slc5GPnpPMHqD0Qc8/cHg5QzeMxvAaxpo0thHCOHkUDUq9aEQHArBPTEBRXodWm0NNVUlqDUlGMzF+FhLCKw+QXjVjwQUXn4f8zrNwHjjO6z7y62X/yIuoHUCOSLNGcDlJ1rl6c6l93AQTCCyvk2I9imE1LN+1ul0lCl6skx1WOvMWC0WrJYaHNZaFLsFNA1NdYCmolNU9GjoUZ1z0oqCoujQKaBT9Fg8g/lr72Gt8jpa76RecCfnHxfwBhJd8sxCCNF8HfuKIUII4UYkkIUQwk1IIAshhJuQQBZCCDchgSyEEG5CAlkIIdyEBLIQQrgJCWQhhHATF7UxZN++fSWpqaknW6oYIYRop5q1K+6iGtQLIYRoOTJlIYQQbkICWQgh3IQEshBCuAkJZCGEcBMSyEII4SYkkIUQwk1IIAshhJuQQBZCCDchgSyEEG7i/wGT6vENEgGWPwAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"pm.energyplot(trace);"
]
},
{
"cell_type": "code",
"execution_count": 124,
"metadata": {},
"outputs": [],
"source": [
"if 'p_vacc_interval__' in [v.name for v in uncertain_vacc_model.free_RVs]:\n",
" pm.forestplot(trace, varnames=['p_vacc'], ylabels=age_labels, rhat=False)"
]
},
{
"cell_type": "code",
"execution_count": 125,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[<matplotlib.axes._subplots.AxesSubplot object at 0x7f9512c4ab38>,\n",
" <matplotlib.axes._subplots.AxesSubplot object at 0x7f9512ac4dd8>]],\n",
" dtype=object)"
]
},
"execution_count": 125,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 864x144 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"pm.traceplot(trace, varnames=['R_0'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"However, this model estimates $R_e$ values that are too high."
]
},
{
"cell_type": "code",
"execution_count": 126,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"GridSpec(1, 2, width_ratios=[3, 1])"
]
},
"execution_count": 126,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"pm.forestplot(trace, varnames=['R_t'])"
]
}
],
"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.7.1"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment