{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Basic Predictions\n",
"===============\n",
"\n",
"This notebook tries to predict number of \"confirmed cases\" from patientdb available at http://api.covid19india.org/. \n",
"\n",
"Growth rate is computed as rate of change of confirmed cases and smoothened using a 7d rolling average.\n",
"It is extrapolated using the following methods:\n",
"* Quadartic curve fitting - fails to fit the curve correctly\n",
"* Hyperbolic curve fitting using a neural net - fits well and asymptotes the growth rate at ~7%.\n",
"\n",
"The model is rudimentary and points towards a scenario where we fail to contain the epidemic and it eventually moves to stage 3/4."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"from matplotlib import pyplot as plt\n",
"from matplotlib.ticker import FuncFormatter\n",
"%matplotlib inline\n",
"import matplotlib as mpl\n",
"from matplotlib.dates import date2num, AutoDateLocator, ConciseDateFormatter, DayLocator, AutoDateFormatter\n",
"\n",
"import datetime as dt\n",
"import pandas as pd\n",
"import numpy as np\n",
"import requests\n",
"\n",
"from sklearn.neural_network import MLPRegressor"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Records: 81\n"
]
}
],
"source": [
"resp = requests.get(\"https://api.covid19india.org/data.json\")\n",
"ts = resp.json()['cases_time_series']\n",
"\n",
"r = {\n",
" \"date\": [],\n",
" \"confirmed\": [],\n",
" \"deceased\": [],\n",
" \"recovered\": []\n",
"}\n",
"\n",
"for d in ts:\n",
" try:\n",
" r['date'].append(dt.datetime.strptime(d['date'] + \"2020\", '%d %B %Y'))\n",
" r['confirmed'].append(int(d['dailyconfirmed']))\n",
" r['deceased'].append(int(d['dailydeceased']))\n",
" r['recovered'].append(int(d['dailyrecovered']))\n",
" except Exception as e:\n",
" print(d['date'])\n",
" tb.print_exc()\n",
"\n",
"df = pd.DataFrame(data=r, index=r['date'], columns=['confirmed', 'deceased', 'recovered'])\n",
"df.sort_index(inplace=True)\n",
"df = df[31:][:] #drop Feb data\n",
"print(\"Records:\", len(df))"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" confirmed | \n",
" deceased | \n",
" recovered | \n",
" total | \n",
" growth | \n",
" sma_growth | \n",
"
\n",
" \n",
" \n",
" \n",
" 2020-05-16 | \n",
" 4794 | \n",
" 120 | \n",
" 4012 | \n",
" 90646 | \n",
" 5.584028 | \n",
" 5.370063 | \n",
"
\n",
" \n",
" 2020-05-17 | \n",
" 5049 | \n",
" 152 | \n",
" 2538 | \n",
" 95695 | \n",
" 5.570020 | \n",
" 5.186083 | \n",
"
\n",
" \n",
" 2020-05-18 | \n",
" 4628 | \n",
" 131 | \n",
" 2482 | \n",
" 100323 | \n",
" 4.836198 | \n",
" 5.113057 | \n",
"
\n",
" \n",
" 2020-05-19 | \n",
" 6154 | \n",
" 146 | \n",
" 3032 | \n",
" 106477 | \n",
" 6.134187 | \n",
" 5.270289 | \n",
"
\n",
" \n",
" 2020-05-20 | \n",
" 5716 | \n",
" 134 | \n",
" 3113 | \n",
" 112193 | \n",
" 5.368296 | \n",
" 5.321048 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" confirmed deceased recovered total growth sma_growth\n",
"2020-05-16 4794 120 4012 90646 5.584028 5.370063\n",
"2020-05-17 5049 152 2538 95695 5.570020 5.186083\n",
"2020-05-18 4628 131 2482 100323 4.836198 5.113057\n",
"2020-05-19 6154 146 3032 106477 6.134187 5.270289\n",
"2020-05-20 5716 134 3113 112193 5.368296 5.321048"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# cum sum\n",
"df['total'] = df['confirmed'].cumsum()\n",
"\n",
"# calc growth rate & its moving avg\n",
"df['growth'] = 100 * df['confirmed'] / (df['total'] - df['confirmed'])\n",
"sma_gr = df['growth'].rolling(7).mean()\n",
"df['sma_growth'] = sma_gr\n",
"\n",
"# daily plot\n",
"ax = df.plot(y='confirmed', kind='line', title=\"Daily cases\", grid=True)\n",
"df.tail()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" confirmed | \n",
" total | \n",
" sma_growth | \n",
" day_of_yr | \n",
"
\n",
" \n",
" \n",
" \n",
" 2020-05-16 | \n",
" 4794.0 | \n",
" 90646.0 | \n",
" 5.370063 | \n",
" 137 | \n",
"
\n",
" \n",
" 2020-05-17 | \n",
" 5049.0 | \n",
" 95695.0 | \n",
" 5.186083 | \n",
" 138 | \n",
"
\n",
" \n",
" 2020-05-18 | \n",
" 4628.0 | \n",
" 100323.0 | \n",
" 5.113057 | \n",
" 139 | \n",
"
\n",
" \n",
" 2020-05-19 | \n",
" 6154.0 | \n",
" 106477.0 | \n",
" 5.270289 | \n",
" 140 | \n",
"
\n",
" \n",
" 2020-05-20 | \n",
" 5716.0 | \n",
" 112193.0 | \n",
" 5.321048 | \n",
" 141 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" confirmed total sma_growth day_of_yr\n",
"2020-05-16 4794.0 90646.0 5.370063 137\n",
"2020-05-17 5049.0 95695.0 5.186083 138\n",
"2020-05-18 4628.0 100323.0 5.113057 139\n",
"2020-05-19 6154.0 106477.0 5.270289 140\n",
"2020-05-20 5716.0 112193.0 5.321048 141"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# create extrapolation dataframe\n",
"last_date = df.index[-1]\n",
"projections = pd.DataFrame(index=df.index.union(pd.date_range(start=last_date, periods=150, freq=\"1d\")))\n",
"\n",
"# fill with orig df\n",
"projections['confirmed'] = df['confirmed']\n",
"projections['total'] = df['total']\n",
"projections['sma_growth'] = df['sma_growth']\n",
"projections['day_of_yr'] = projections.index.dayofyear\n",
"\n",
"# filter data for curve fitting (aka training data)\n",
"end_idx = len(df)\n",
"start_idx = end_idx - 35 # use 21 day sma data for curve fitting\n",
"fit_df = projections[start_idx:end_idx]\n",
"fit_df.tail()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"