{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "accelerator": "GPU", "colab": { "name": "China_changing_point.ipynb", "provenance": [], "collapsed_sections": [], "toc_visible": true }, "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.6.10" } }, "cells": [ { "cell_type": "markdown", "metadata": { "id": "kqXl71t9suiG" }, "source": [ "# Estimating the Date of COVID-19 Changes\n", "\n", "https://nbviewer.jupyter.org/github/jramkiss/jramkiss.github.io/blob/master/_posts/notebooks/covid19-changes.ipynb " ] }, { "cell_type": "code", "metadata": { "id": "gFnvD8OysuiI", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "bf23d50c-7027-4c1d-d67e-4cf0525584da" }, "source": [ "import pandas as pd\n", "import numpy as np\n", "\n", "import seaborn as sns; sns.set()\n", "import matplotlib.pyplot as plt\n", "import matplotlib.dates as mdates\n", "\n", "\n", "from sklearn.linear_model import LinearRegression\n", "\n", "from scipy import stats\n", "import statsmodels.api as sm\n", "import pylab\n", "\n", "# from google.colab import files\n", "# from io import StringIO\n", "# uploaded = files.upload()\n", "\n", "url = 'https://raw.githubusercontent.com/assemzh/ProbProg-COVID-19/master/full_grouped.csv'\n", "data = pd.read_csv(url)\n", "\n", "data.Date = pd.to_datetime(data.Date)\n", "\n", "# for fancy python printing\n", "from IPython.display import Markdown, display\n", "def printmd(string):\n", " display(Markdown(string))\n", " \n", "import warnings\n", "warnings.filterwarnings('ignore')\n", "\n", "import matplotlib as mpl\n", "mpl.rcParams['figure.dpi'] = 250" ], "execution_count": 1, "outputs": [ { "output_type": "stream", "text": [ "/usr/local/lib/python3.7/dist-packages/statsmodels/tools/_testing.py:19: FutureWarning: pandas.util.testing is deprecated. Use the functions in the public API at pandas.testing instead.\n", " import pandas.util.testing as tm\n" ], "name": "stderr" } ] }, { "cell_type": "markdown", "metadata": { "id": "hzvPpvVvphTD" }, "source": [ "## Create country\n" ] }, { "cell_type": "code", "metadata": { "id": "koX5yGHrsuib" }, "source": [ "# function to make the time series of confirmed and daily confirmed cases for a specific country\n", "def create_country (country, end_date, state = False) : \n", " if state :\n", " df = data.loc[data[\"Province/State\"] == country, [\"Province/State\", \"Date\", \"Confirmed\", \"Deaths\", \"Recovered\"]]\n", " else : \n", " df = data.loc[data[\"Country/Region\"] == country, [\"Country/Region\", \"Date\", \"Confirmed\", \"Deaths\", \"Recovered\"]]\n", " df.columns = [\"country\", \"date\", \"confirmed\", \"deaths\", \"recovered\"]\n", "\n", " # group by country and date, sum(confirmed, deaths, recovered). do this because countries have multiple cities \n", " df = df.groupby(['country','date'])['confirmed', 'deaths', 'recovered'].sum().reset_index()\n", "\n", " # convert date string to datetime\n", " std_dateparser = lambda x: str(x)[5:10]\n", " df.date = pd.to_datetime(df.date)\n", " df['date_only'] = df.date.apply(std_dateparser)\n", " df = df.sort_values(by = \"date\")\n", " df = df[df.date <= end_date]\n", "\n", "\n", " # make new confirmed cases every day:\n", " cases_shifted = np.array([0] + list(df.confirmed[:-1]))\n", " daily_confirmed = np.array(df.confirmed) - cases_shifted\n", " df[\"daily_confirmed\"] = daily_confirmed \n", "\n", " fig, ax = plt.subplots(nrows=1, ncols=1, figsize=(7, 6))\n", " ax = [ax]\n", " sns.lineplot(x = df.date, \n", " y = df.daily_confirmed, \n", " ax = ax[0])\n", "\n", " ax[0].set(ylabel='Daily Confirmed Cases')\n", "\n", " ax[0].axvline(pd.to_datetime('2020-01-22'), \n", " linestyle = '--', linewidth = 1.5,\n", " label = \"Date of Lockdown: Jan 22, 2020\" ,\n", " color = \"red\") \n", "\n", " \n", " # ax[0].set_ylim([100,150000])\n", " ax[0].xaxis.get_label().set_fontsize(16)\n", " ax[0].yaxis.get_label().set_fontsize(16)\n", " ax[0].title.set_fontsize(20)\n", " ax[0].tick_params(labelsize=16)\n", " myFmt = mdates.DateFormatter('%b %-d')\n", " ax[0].xaxis.set_major_formatter(myFmt)\n", "\n", " ax[0].set(ylabel='Daily Confirmed Cases', xlabel='');\n", " ax[0].legend(loc = \"bottom right\", fontsize=12.8)\n", " sns.set_style(\"ticks\")\n", " plt.tight_layout()\n", " sns.despine()\n", " plt.savefig('/content/sample_data/china_daily.pdf')\n", " print(df.tail())\n", " return df\n", "\n", "\n", "def summary(samples):\n", " site_stats = {}\n", " for k, v in samples.items():\n", " site_stats[k] = {\n", " \"mean\": torch.mean(v, 0),\n", " \"std\": torch.std(v, 0),\n", " \"5%\": v.kthvalue(int(len(v) * 0.05), dim=0)[0],\n", " \"95%\": v.kthvalue(int(len(v) * 0.95), dim=0)[0],\n", " }\n", " return site_stats" ], "execution_count": 9, "outputs": [] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 577 }, "id": "w_A0fd4Zsuiw", "outputId": "a8ec9956-f5df-44cc-959b-1c21d32ed580" }, "source": [ "cad = create_country(\"China\", end_date = \"2020-04-01\")" ], "execution_count": 10, "outputs": [ { "output_type": "stream", "text": [ " country date confirmed ... date_only daily_confirmed moving_avg\n", "66 China 2020-03-28 81999 ... 03-28 102 102.00\n", "67 China 2020-03-29 82122 ... 03-29 123 115.25\n", "68 China 2020-03-30 82198 ... 03-30 76 104.00\n", "69 China 2020-03-31 82279 ... 03-31 81 95.50\n", "70 China 2020-04-01 82361 ... 04-01 82 90.50\n", "\n", "[5 rows x 8 columns]\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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nUNISAgePHiAiRMnokuXLjh69Ci+/PJLpKSkIDY2tsz3S09Px5QpU/Daa6/h9OnTeOeddzB//nycO3cOXbt2xb59+8T3KJlopMjLy8Nrr72GAQMG4OTJk/joo48QExODr7/+GoAhCY8fPx4DBgzA0aNHcezYMfGPkpL27t2Lt956Cx9//DEGDRoEAHjrrbdQp04dHDt2DBs2bMDOnTtNzomKisKFCxfw5Zdf4ptvvoFGo8G8efMAQFw90pjQT506hWbNmonf11OnTplMF5w8eRIdO3bEyZMnsXz5cixbtszkDp6ePXuKz48oj16vx+DBg3Hw4EGcPn0agwcPxqxZs3D37l2xze+//w6dTofDhw9j69at+PTTTyV/78+fP4+7d++WWhVT6vHyZGdn48qVK/Dw8AAAXLhwAQ0aNECTJk3ENp06dTJbi1BQUICffvpJPP+PP/5AUVERunTpIrbp3LkzMjMzce/evUrFKEW1rEInqknu3CvE0XMZ6NCyPlo0tWDNgEctp1u79qOPN2z46OPu7lZdrtfV1VVct8HJyQkjR44Uj/n7+yMgIADJyclmn0j43XffoVatWmLtSYMGDTB16lQsXrwYM2fOLNV+37598Pb2xvDhwwEAfn5+eO6557B79254e3tb9FmOHDmCp556Cq+//joAwy/mcePGYdeuXRg2bBj27NmDDh06YOLEieI5vr6+JtfYsGEDEhISsG3bNnH1raysLHz//fc4duwYnJ2d4ezsjLCwMDFBC4KAr776Cps3b0bDhg0BAG+//TYGDBiAGzduoHHjxmjXrh2Sk5PRvXt3FBQUYMKECTh16hT69euH5ORkvPTSS2IMHh4e4n8Hf39/NGnSBKmpqXj66acBQEz8UtSpU8ek9z958mRs2LAB58+fh4+PDwDgqaeewtSpUyGTyeDh4YGuXbvi119/LXcE5NatWwgPD8ekSZPQuHHjCh8vz4MHDxAeHo5BgwbBq7i26N69e6hTp45JO7VaXWbyFQQBb7/9Np5++mlxZCc/Px9KpRK1atUS2z311FNmr20tTOBENqbTGR74p9EKVRzJ43Pjxg3IZDJxkaOtW7di586duH79OgDDL9GmTZuaPT8zMxNpaWkmCV6v10MQyv4eZmVllXryn7u7u+Tq70fJysqCm5tbqWsnJiaKsT78PIaSioqKEBcXhylTppgs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hBBCtEMSwIUQQoh2SAK4qNcnn3xCWlparbdt27b5fZ6dO3c2+jln27RpE/fddx+TJk2iZ8+ezJw5s0nnaY72di3qau/06dOb9LqBcna7jh496vP4rl27mnRdm6otP1vt9VoE62erqR599FHS0tKYP39+q75uRUUFTz31FDNnzuSiiy4iLS2NnTt3+v18qcQm/PLCCy/4lAdMSUlptdf/4osv+PnnnxkwYAA1NTWt9rq1aW/X4tz2GgyGlmye34xGIytXruTee+/1uv/TTz/FaDRSWVnZKu0Ihs9We70WwfrZaozq6mrWrl0LwOrVq3nwwQcbLGEaKCUlJXz88cf07t2bkSNHsmHDhkY9XwK48EuvXr1ITk5us9f/xz/+gVLpGjC64YYb2qwd0P6uRVu3ty4TJ05k1apV3HPPPSgUCsD1Zbp+/XomTZrEJ598ErDXslgsaLXaWh8Lhs9We70WwfrZaowvvviCiooKxo4dy+bNm9myZQvjxo0L2Pnru96JiYns2rULgG3btjU6gMsQumg2s9nM//3f/5Genk7fvn1JT0/n1VdfxeFw+BxbXl7Oww8/zODBg7nooou47777KC4ubvA13F8qwU6uhf+mT5/O8ePH+e677zz3ff755zidTiZOnOhz/A8//MDdd9/NmDFj6N+/P5MmTeK5556jurra67iZM2dyww03sGnTJq666ir69u3Lv/71rzrbEQzXU65F2/n0008JDw/nySefRK/X8+mnn/oc89JLL5GWlsbBgweZOXMmAwYMYNSoUbzwwgte/7bd02MbNmzg0UcfZdiwYYwYMaLO13b/sdZU0gMXfrHb7djce5Pj+uCpVCpsNhu33normZmZ3HnnnaSlpbF3714WLVpEaWkpDz/8sNd55s+fz4gRI3j22WfJysriueee4+TJk7z77rut/ZaarL1di9/85jecOnWK6Oho0tPT+dOf/kRERERAX6MpEhISGDx4MCtXrvRs/rNixQomTJhASEiIz/EnTpygZ8+eXH311RiNRg4fPsyiRYvIzs7m+eef9zr22LFj/OMf/2D27Nl06tSJ8PDwVnlPTdVer0Wwfrb8lZ+fz/bt27nuuuuIiopiwoQJbNiwgdLS0lqv01133cU111zD7bffztatW1m0aBFKpZI5c+Z4HffEE08wZswYnn76aSwWS4u1XwK48MvkyZO9fr/oootYvnw5q1ev5rvvvuO9995j8ODBAAwfPhyAV155hT/84Q9ER0d7npeSksKCBQs8v4eHh/PAAw+wfft2z/OCXXu5FrGxsdx1110MGDAAnU7H7t27Wbx4MXv27OE///lPUFTkmj59Ok899RSPPvoopaWlbN++ncWLF9d67KRJkzz/7XQ6ueiiiwgNDeWhhx7ir3/9K5GRkZ7Hi4uLeeutt+jVq1eLv4dAaU/Xoj18tvyxatUq7HY7V111FQBXXXUVq1evZs2aNbVOIVx//fXcdtttAIwaNYqKigreeustZs2ahclk8hzXv39//vnPf7Z4+yWAC7+88sordOzY0fO70WgEYMuWLSQmJjJo0CCvXunIkSNZuHAhe/fuZfz48Z77zw1+l19+OQ899BB79uxpNwG8vVyL0aNHM3r0aM/vw4YNo0ePHtx1112sWrWK6667rtmv0VyXX345TzzxBJs2beL48ePExMQwfPhwvvnmG59jKyoqePXVV1m/fj15eXlYrVbPY1lZWV5BKzExsV0Fb2hf16I9fLb8sWLFCrp06cKgQYMAGDFiBB06dGDFihW1BvBz/81OnTqVjz76iEOHDnltIX3ZZZe1bMNPkwAu/JKamlprssqpU6fIzc2lT58+tT6vpKTE6/eYmBiv37VaLSaTifz8/MA1toW152sxfvx4QkJC2LdvX1B8yYaGhjJhwgRWrlxJbm4uV155ZZ3zsPPmzWPbtm3cfffd9OrVC4PBwA8//MDf//53n4zp2NjY1mh+QLX3axFsn62G7Nu3j4yMDP7whz9QVlbmuX/ixIm89957HD16lK5du3o95+wRtLN/P3nypNf9rXXNJYCLZomIiCApKYmFCxfW+nhiYqLX74WFhV6/WywWysrKvHq07ZVci6aZPn06t99+Ow6Hg+eee67WY2pqati4cSN//OMfmTVrluf+Q4cO1Xp8c5OD2opci9azYsUKABYvXlzrVMWKFSuYO3eu131FRUVeOQlFRUUAdOjQweu41rrmEsBFs4wePZoNGzYQEhJC9+7dGzx+7dq1XHvttZ7f161bh8Ph8AxhtWft4Vp88cUXVFVV0b9//xZ7jcYaOXIkkydPJiwsjNTU1FqPsVgs2O12n/W5tWUMt2ft+VoE42erLhaLhdWrVzNgwADuu+8+n8cXLFjAqlWruPfee72C8dq1az1z4AD//e9/CQkJIS0trVXafS4J4KJZrrzySj755BNuvvlmbrnlFnr27InFYiE7O5tNmzbxyiuveBV3yMjIYN68eUyZMoVjx47x/PPPM2TIkAbnfHNzc9m3bx/gGopWKpWsW7cOgH79+vn0bttCsF2L3/3udwwdOpTU1FT0ej27d+/mrbfeomfPnkybNq2FrkLjqVSqOnubbmFhYQwcOJC3336bDh06EBkZyccffxyQ6YZg+my1l2vRXj5bddm8eTMlJSU8/PDDDB061OfxGTNm8Nhjj7Fz506GDRvmuf/DDz/E4XDQr18/tm7dykcffcScOXMICwtrVlvMZrNnBOWbb76huLgYg8HA2LFj632uBHDRLBqNhjfffJM33niDDz74gJycHEJCQujUqROXXnopGo3G6/hHHnmETZs2MXfuXOx2O+np6TzyyCMNvs7OnTuZN2+e13333HMP4Ppr+Ve/+lXg3lQTBdu1SElJYeXKlZ4kp7i4OH79618ze/bsOgtLBLNnn32Wxx57jMcffxy9Xs/kyZN55JFHuP3225t13vbw2TpXW1+L9v7Zcle4u/zyy2t9/IorruDJJ59kxYoVXgF80aJFPPHEEyxatIiwsDDuvPNOZs+e3ay2PP744+Tm5np+f+mllwDXlNumTZvqfa7sBy6EEELU46WXXuLll19m//79rVZm1R8XXtkdIYQQ4jwgAVwIIYRoh2QIXQghhGiHpAcuhDX0LkcAAAAoSURBVBBCtEMSwIUQQoh2SAK4EEII0Q5JABdCCCHaIQngQgghRDv0/8sgSTTIYapQAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "UR0BM7TysujG" }, "source": [ "cad_start = \"2020-01-22\" # 13 confirmed cases\n", "cad = cad[cad.date >= cad_start].reset_index(drop = True)\n", "cad[\"days_since_start\"] = np.arange(cad.shape[0]) + 1" ], "execution_count": 15, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "OaTHo6I2sujp", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "cfe9b980-3356-4e17-bb4c-a8a45c271a8d" }, "source": [ "cad.shape\n", "cad_tmp = cad[cad.date < \"2020-03-16\"]\n", "cad_tmp.shape" ], "execution_count": 16, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "(54, 9)" ] }, "metadata": { "tags": [] }, "execution_count": 16 } ] }, { "cell_type": "markdown", "metadata": { "id": "loi3CtjSsuoz" }, "source": [ "## Data for Regression" ] }, { "cell_type": "code", "metadata": { "id": "Os_M7r4Tsuo4" }, "source": [ "# variable for data to easily swap it out:\n", "country_ = \"China\"\n", "reg_data = cad_tmp.copy()" ], "execution_count": 17, "outputs": [] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 204 }, "id": "3RjDFEbA91X-", "outputId": "d6ce0220-1f77-491b-b3b9-67556f08e702" }, "source": [ "reg_data.head()" ], "execution_count": 18, "outputs": [ { "output_type": "execute_result", "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
countrydateconfirmeddeathsrecovereddate_onlydaily_confirmedmoving_avgdays_since_start
0China2020-01-22548172801-22548NaN1
1China2020-01-23643183001-2395NaN2
2China2020-01-24920263601-24277NaN3
3China2020-01-251406423901-25486351.504
4China2020-01-262075564901-26669381.755
\n", "
" ], "text/plain": [ " country date confirmed ... daily_confirmed moving_avg days_since_start\n", "0 China 2020-01-22 548 ... 548 NaN 1\n", "1 China 2020-01-23 643 ... 95 NaN 2\n", "2 China 2020-01-24 920 ... 277 NaN 3\n", "3 China 2020-01-25 1406 ... 486 351.50 4\n", "4 China 2020-01-26 2075 ... 669 381.75 5\n", "\n", "[5 rows x 9 columns]" ] }, "metadata": { "tags": [] }, "execution_count": 18 } ] }, { "cell_type": "markdown", "metadata": { "id": "JkO0Z8M0supC" }, "source": [ "## Change Point Estimation in Pyro" ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "aIUed4Ny3-oq", "outputId": "f2980893-5246-40f0-b290-1f4cd5718aff" }, "source": [ "!pip install pyro-ppl\n", "!pip install numpyro" ], "execution_count": 19, "outputs": [ { "output_type": "stream", "text": [ "Requirement already satisfied: pyro-ppl in /usr/local/lib/python3.7/dist-packages (1.6.0)\n", "Requirement already satisfied: tqdm>=4.36 in /usr/local/lib/python3.7/dist-packages (from pyro-ppl) (4.41.1)\n", "Requirement already satisfied: torch>=1.8.0 in /usr/local/lib/python3.7/dist-packages (from pyro-ppl) (1.8.1+cu101)\n", "Requirement already satisfied: opt-einsum>=2.3.2 in /usr/local/lib/python3.7/dist-packages (from pyro-ppl) (3.3.0)\n", "Requirement already satisfied: pyro-api>=0.1.1 in /usr/local/lib/python3.7/dist-packages (from pyro-ppl) (0.1.2)\n", "Requirement already satisfied: numpy>=1.7 in /usr/local/lib/python3.7/dist-packages (from pyro-ppl) (1.19.5)\n", "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.7/dist-packages (from torch>=1.8.0->pyro-ppl) (3.7.4.3)\n", "Requirement already satisfied: numpyro in /usr/local/lib/python3.7/dist-packages (0.6.0)\n", "Requirement already satisfied: tqdm in /usr/local/lib/python3.7/dist-packages (from numpyro) (4.41.1)\n", "Requirement already satisfied: jaxlib==0.1.62 in /usr/local/lib/python3.7/dist-packages (from numpyro) (0.1.62)\n", "Requirement already satisfied: jax==0.2.10 in /usr/local/lib/python3.7/dist-packages (from numpyro) (0.2.10)\n", "Requirement already satisfied: flatbuffers in /usr/local/lib/python3.7/dist-packages (from jaxlib==0.1.62->numpyro) (1.12)\n", "Requirement already satisfied: numpy>=1.16 in /usr/local/lib/python3.7/dist-packages (from jaxlib==0.1.62->numpyro) (1.19.5)\n", "Requirement already satisfied: absl-py in /usr/local/lib/python3.7/dist-packages (from jaxlib==0.1.62->numpyro) (0.12.0)\n", "Requirement already satisfied: scipy in /usr/local/lib/python3.7/dist-packages (from jaxlib==0.1.62->numpyro) (1.4.1)\n", "Requirement already satisfied: opt-einsum in /usr/local/lib/python3.7/dist-packages (from jax==0.2.10->numpyro) (3.3.0)\n", "Requirement already satisfied: six in /usr/local/lib/python3.7/dist-packages (from absl-py->jaxlib==0.1.62->numpyro) (1.15.0)\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "3ZS9fTPxsupD" }, "source": [ "import torch\n", "\n", "import pyro\n", "import pyro.distributions as dist\n", "from torch import nn\n", "from pyro.nn import PyroModule, PyroSample\n", "\n", "from pyro.infer import MCMC, NUTS, HMC\n", "from pyro.infer.autoguide import AutoGuide, AutoDiagonalNormal\n", "\n", "from pyro.infer import SVI, Trace_ELBO\n", "from pyro.infer import Predictive" ], "execution_count": 20, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "9gPrEaEJsupP" }, "source": [ "# we should be able to have an empirical estimate for the mean of the prior for the 2nd regression bias term\n", "# this will be something like b = log(max(daily_confirmed))\n", "\n", "# might be able to have 1 regression model but change the data so that we have new terms for (tau < t) \n", "# like an interaction term\n", "\n", "class COVID_change(PyroModule):\n", " def __init__(self, in_features, out_features, b1_mu, b2_mu):\n", " super().__init__()\n", " self.linear1 = PyroModule[nn.Linear](in_features, out_features, bias = False)\n", " self.linear1.weight = PyroSample(dist.Normal(0.5, 0.25).expand([1, 1]).to_event(1))\n", " self.linear1.bias = PyroSample(dist.Normal(b1_mu, 1.))\n", " \n", " # could possibly have stronger priors for the 2nd regression line, because we wont have as much data\n", " self.linear2 = PyroModule[nn.Linear](in_features, out_features, bias = False)\n", " self.linear2.weight = PyroSample(dist.Normal(0., 0.25).expand([1, 1])) #.to_event(1))\n", " self.linear2.bias = PyroSample(dist.Normal(b2_mu, b2_mu/4))\n", "\n", " def forward(self, x, y=None):\n", " tau = pyro.sample(\"tau\", dist.Beta(4, 3))\n", " sigma = pyro.sample(\"sigma\", dist.Uniform(0., 3.))\n", " # fit lm's to data based on tau\n", " sep = int(np.ceil(tau.detach().numpy() * len(x)))\n", " mean1 = self.linear1(x[:sep]).squeeze(-1)\n", " mean2 = self.linear2(x[sep:]).squeeze(-1)\n", " mean = torch.cat((mean1, mean2))\n", " obs = pyro.sample(\"obs\", dist.StudentT(2, mean, sigma), obs=y)\n", " return mean" ], "execution_count": 21, "outputs": [] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "if0toOMysupU", "outputId": "64de9904-30aa-439f-d19a-9ca6970b5850" }, "source": [ "tensor_data = torch.tensor(reg_data[[\"confirmed\", \"days_since_start\", \"daily_confirmed\"]].values, dtype=torch.float)\n", "x_data = tensor_data[:, 1].unsqueeze_(1)\n", "y_data = np.log(tensor_data[:, 0])\n", "y_data_daily = np.log(tensor_data[:, 2])\n", "# prior hyper params\n", "# take log of the average of the 1st quartile to get the prior mean for the bias of the 2nd regression line\n", "q1 = np.quantile(y_data, q = 0.25)\n", "bias_1_mean = np.mean(y_data.numpy()[y_data <= q1])\n", "print(\"Prior mean for Bias 1: \", bias_1_mean)\n", "\n", "# take log of the average of the 4th quartile to get the prior mean for the bias of the 2nd regression line\n", "q4 = np.quantile(y_data, q = 0.75)\n", "bias_2_mean = np.mean(y_data.numpy()[y_data >= q4])\n", "print(\"Prior mean for Bias 2: \", bias_2_mean)" ], "execution_count": 22, "outputs": [ { "output_type": "stream", "text": [ "Prior mean for Bias 1: 8.359699\n", "Prior mean for Bias 2: 11.29878\n" ], "name": "stdout" } ] }, { "cell_type": "markdown", "metadata": { "id": "nrm8RrFasupc" }, "source": [ "## Approximate Inference with Stochastic Variational Inference" ] }, { "cell_type": "markdown", "metadata": { "id": "x0nDLSPisupm" }, "source": [ "# HMC with NUTS" ] }, { "cell_type": "code", "metadata": { "id": "X1rSXXtKsupm" }, "source": [ "model = COVID_change(1, 1, \n", " b1_mu = bias_1_mean,\n", " b2_mu = bias_2_mean)\n", "# need more than 400 samples/chain if we want to use a flat prior on b_2 and w_2\n", "num_samples = 400 \n", "# mcmc \n", "nuts_kernel = NUTS(model)\n", "mcmc = MCMC(nuts_kernel, \n", " num_samples=num_samples,\n", " warmup_steps = 200, \n", " num_chains = 1)\n", "mcmc.run(x_data, y_data)" ], "execution_count": null, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "RJPSAgdbLTTJ" }, "source": [ "# Save the model:\n", "import dill\n", "# with open('china.pkl', 'wb') as f:\n", "# \tdill.dump(mcmc, f)\n", "with open('china.pkl', 'rb') as f:\n", "\tmcmc = dill.load(f)\n", " \n", "samples = mcmc.get_samples()" ], "execution_count": 24, "outputs": [] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "7Z968a5xsupv", "outputId": "eb4f34cd-e16a-4315-dcbc-40e23bc7d482" }, "source": [ "# extract individual posteriors\n", "weight_1_post = samples[\"linear1.weight\"].detach().numpy()\n", "weight_2_post = samples[\"linear2.weight\"].detach().numpy()\n", "bias_1_post = samples[\"linear1.bias\"].detach().numpy()\n", "bias_2_post = samples[\"linear2.bias\"].detach().numpy()\n", "tau_post = samples[\"tau\"].detach().numpy()\n", "sigma_post = samples[\"sigma\"].detach().numpy()\n", "\n", "# build likelihood distribution:\n", "tau_days = list(map(int, np.ceil(tau_post * len(x_data))))\n", "mean_ = torch.zeros(len(tau_days), len(x_data))\n", "obs_ = torch.zeros(len(tau_days), len(x_data))\n", "for i in range(len(tau_days)) : \n", " mean_[i, :] = torch.cat((x_data[:tau_days[i]] * weight_1_post[i] + bias_1_post[i],\n", " x_data[tau_days[i]:] * weight_2_post[i] + bias_2_post[i])).reshape(len(x_data))\n", " obs_[i, :] = dist.Normal(mean_[i, :], sigma_post[i]).sample()\n", "samples[\"_RETURN\"] = mean_\n", "samples[\"obs\"] = obs_\n", "pred_summary = summary(samples)\n", "mu = pred_summary[\"_RETURN\"] # mean\n", "y = pred_summary[\"obs\"] # samples from likelihood: mu + sigma\n", "y_shift = np.exp(y[\"mean\"]) - np.exp(torch.cat((y[\"mean\"][0:1], y[\"mean\"][:-1])))\n", "print(y_shift)\n", "predictions = pd.DataFrame({\n", " \"days_since_start\": x_data[:, 0],\n", " \"mu_mean\": mu[\"mean\"], # mean of likelihood\n", " \"mu_perc_5\": mu[\"5%\"],\n", " \"mu_perc_95\": mu[\"95%\"],\n", " \"y_mean\": y[\"mean\"], # mean of likelihood + noise\n", " \"y_perc_5\": y[\"5%\"],\n", " \"y_perc_95\": y[\"95%\"],\n", " \"true_confirmed\": y_data,\n", " \"true_daily_confirmed\": y_data_daily,\n", " \"y_daily_mean\": y_shift\n", "})\n", "\n", "w1_ = pred_summary[\"linear1.weight\"]\n", "w2_ = pred_summary[\"linear2.weight\"]\n", "\n", "b1_ = pred_summary[\"linear1.bias\"]\n", "b2_ = pred_summary[\"linear2.bias\"]\n", "\n", "tau_ = pred_summary[\"tau\"]\n", "sigma_ = pred_summary[\"sigma\"]\n", "\n", "ind = int(np.ceil(tau_[\"mean\"] * len(x_data)))" ], "execution_count": 25, "outputs": [ { "output_type": "stream", "text": [ "tensor([ 0.0000e+00, 2.2725e+02, 3.0094e+02, 4.0804e+02, 5.1011e+02,\n", " 6.8209e+02, 9.4119e+02, 1.2054e+03, 1.5588e+03, 2.1987e+03,\n", " 2.8797e+03, 3.6862e+03, 4.8820e+03, 6.5520e+03, 9.3445e+03,\n", " 1.1462e+04, 1.3558e+04, 5.6779e+03, 1.5542e+03, 1.3815e+02,\n", " 9.5227e+02, -2.4232e+02, 2.4934e+02, 7.3088e+02, 5.2862e+02,\n", " 7.5919e+02, -1.0573e+02, 3.9531e+00, 8.0497e+02, 9.6861e+02,\n", " -5.0664e+01, 5.5251e+02, 9.4084e+02, -2.7266e+02, 1.3263e+03,\n", " 3.4009e+02, 1.9668e+02, 1.1166e+03, -3.3041e+02, 7.6644e+02,\n", " 5.8625e+01, 1.3439e+03, -1.9008e+01, 7.6425e+02, 6.2384e+02,\n", " 1.4739e+02, 1.3451e+02, 9.4297e+02, 7.5945e+02, 1.1752e+03,\n", " -9.4339e+02, 1.7658e+03, 2.9969e+01, 4.2532e+02])\n" ], "name": "stdout" } ] }, { "cell_type": "markdown", "metadata": { "id": "KegzMbLOsuqC" }, "source": [ "## Model Diagnostics\n", "\n", "- Residual plots: Should these be samples from the likelihood compared with the actual data? Or just the mean of the likelihood?\n", "- $\\hat{R}$: The factor that the scale of the current distribution will be reduced by if we were to run the simulations forever. As n tends to $\\inf$, $\\hat{R}$ tends to 1. So we want values close to 1.\n", "- Mixing and Stationarity: I sampled 4 chains. Do I then take these chains, split them in half and plot them. If they converge to the same stationary distribution, does that mean the MCMC converged? What do I do with more sampled chains?" ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "QUh6fBjtsuqV", "outputId": "a3304748-0d50-4071-d29d-f5cdcabcdadf" }, "source": [ "mcmc.summary()\n", "diag = mcmc.diagnostics()" ], "execution_count": 26, "outputs": [ { "output_type": "stream", "text": [ "\n", " mean std median 5.0% 95.0% n_eff r_hat\n", " tau 0.31 0.03 0.31 0.26 0.35 15.20 1.21\n", " sigma 0.08 0.02 0.08 0.05 0.11 55.90 1.01\n", "linear1.weight[0,0] 0.28 0.03 0.29 0.21 0.31 8.85 1.21\n", " linear1.bias 6.27 0.33 6.15 5.98 7.08 8.38 1.20\n", "linear2.weight[0,0] 0.01 0.00 0.01 0.00 0.01 22.25 1.10\n", " linear2.bias 11.00 0.07 11.00 10.90 11.10 23.06 1.10\n", "\n", "Number of divergences: 0\n" ], "name": "stdout" } ] }, { "cell_type": "markdown", "metadata": { "id": "LJ2a6Epnsuqf" }, "source": [ "## Posterior Plots" ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 331 }, "id": "bPpET7b6suqg", "outputId": "96bb9246-6358-4fa3-e4c6-ea104cb1635f" }, "source": [ "print(ind)\n", "print(reg_data.date[ind])\n", "\n", "sns.distplot(weight_1_post, \n", " kde_kws = {\"label\": \"Weight posterior before CP\"}, \n", " color = \"red\",\n", " norm_hist = True,\n", " kde = True)\n", "plt.axvline(x = w1_[\"mean\"], linestyle = '--',label = \"Mean weight before CP\" ,\n", " color = \"red\")\n", "\n", "sns.distplot(weight_2_post, \n", " kde_kws = {\"label\": \"Weight posterior after CP\"}, \n", " color = \"teal\",\n", " norm_hist = True,\n", " kde = True)\n", "plt.axvline(x = w2_[\"mean\"], linestyle = '--',label = \"Mean weight after CP\" ,\n", " color = \"teal\")\n", "\n", "legend = plt.legend(loc='upper right')\n", "legend.get_frame().set_alpha(1)\n", "sns.set_style(\"ticks\")\n", "plt.tight_layout()\n", "sns.despine()\n", "plt.savefig('/content/sample_data/china_weights.pdf')\n" ], "execution_count": 43, "outputs": [ { "output_type": "stream", "text": [ "17\n", "2020-02-08 00:00:00\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "A4glDCQRO9Ss" }, "source": [ "predictions['date'] = pd.to_datetime(reg_data.date)" ], "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "DAvMkdZagKu2" }, "source": [ "# Final plot" ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 395 }, "id": "gejnd0Qxsuq1", "outputId": "90859b2d-0f2d-46ae-bd01-a298cab66b1c" }, "source": [ "start_date_ = str(reg_data.date[0]).split(' ')[0]\n", "change_date_ = str(reg_data.date[ind]).split(' ')[0]\n", "print(\"Date of change for {}: {}\".format(country_, change_date_))\n", "import seaborn as sns\n", "\n", "# plot data:\n", "fig, ax = plt.subplots(nrows=1, ncols=1, figsize=(7, 5))\n", "ax = [ax]\n", "# log regression model\n", "ax[0].scatter(y = np.exp(y_data[:ind]), x = x_data[:ind], s = 15);\n", "ax[0].scatter(y = np.exp(y_data[ind:]), x = x_data[ind:], s = 15, color = \"red\");\n", "\n", "ax[0].plot(predictions[\"days_since_start\"],\n", " np.exp(predictions[\"y_mean\"]), \n", " color = \"green\",\n", " label = \"Fitted line by MCMC-NUTS model\") \n", "ax[0].axvline(1, \n", " linestyle = '--', linewidth = 1.5,\n", " label = \"Date of Lockdown: Jan 22, 2020\" ,\n", " color = \"red\")\n", "\n", "ax[0].axvline(ind, \n", " linestyle = '--', linewidth = 1.5,\n", " label = \"Date of Change: Feb 8, 2020\",\n", " color = \"black\")\n", "\n", "ax[0].fill_between(predictions[\"days_since_start\"], \n", " np.exp(predictions[\"y_perc_5\"]), \n", " np.exp(predictions[\"y_perc_95\"]), \n", " alpha = 0.25,\n", " label = \"90% CI of predictions\",\n", " color = \"teal\");\n", "ax[0].fill_betweenx([0, 1], \n", " tau_[\"5%\"] * len(x_data), \n", " tau_[\"95%\"] * len(x_data), \n", " alpha = 0.25,\n", " label = \"90% CI of changing point\",\n", " color = \"lightcoral\",\n", " transform=ax[0].get_xaxis_transform());\n", "ax[0].set(ylabel = \"Total Cases\",)\n", " # xlabel = \"Days since %s\" % start_date_, \n", " # title = \"Confirmed Cases in China\") /\n", "ax[0].legend(loc = \"lower right\", fontsize=12.8)\n", "ax[0].set_ylim([100,150000])\n", "ax[0].xaxis.get_label().set_fontsize(16)\n", "ax[0].yaxis.get_label().set_fontsize(16)\n", "ax[0].title.set_fontsize(20)\n", "ax[0].tick_params(labelsize=16)\n", "\n", "plt.xticks(ticks=[1,17,34,51], labels=[\"Jan 22\",\n", " \"Feb 8\",\n", " \"Feb 25\",\n", " \"Mar 13\"], fontsize=15)\n", "ax[0].set_yscale('log')\n", "plt.setp(ax[0].get_xticklabels(), rotation=0, horizontalalignment='center')\n", "print(reg_data.columns)\n", "myFmt = mdates.DateFormatter('%m-%d')\n", "sns.set_style(\"ticks\")\n", "sns.despine()\n", "ax[0].figure.savefig('/content/sample_data/china_cp.pdf')\n" ], "execution_count": 44, "outputs": [ { "output_type": "stream", "text": [ "Date of change for China (Before March 16th): 2020-02-08\n", "Index(['country', 'date', 'confirmed', 'deaths', 'recovered', 'date_only',\n", " 'daily_confirmed', 'moving_avg', 'days_since_start'],\n", " dtype='object')\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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2gwbNgwjIyOOPJMsvibxWipOgaAsuri4qGzOrq6sXLkSyH/xde7cuchWkP/xwYMHxZYXhFSLiYmhc+fOlSJnz549uXTpEhkZGQC89dZbbNu2jcjISObMmcPChQulF9zu3buB/ExAUVFRDB48mMzMTDw9PWnTpg2//fYbP/30ExcvXiQoKKjY88XExDBmzBhGjBjB2bNnmT17NjNnziQqKop27dpx4GnmmWPHjhVJeA1w69Yt7ty5I6UKK429e/cyd+5cIiIikMlkzJ07VyqrXbs2y5cv5/z58/zwww+cOnWK77//vtzt586dS1JSEkeOHGHnzp2EhISotN22bRubNm0iICCAiIgIhg0bhpeXF48ePQLg559/VlHyFWH27NnEx8eze/duTp48ScOGDZk6dapKnV27drFmzRpOnjyJgYFBqSPIkSNHEhoayqNHj0hPT2fPnj0vZEkLDw9XsRhER0fTunVraV9HR4fmzZuXqJzDw8Np1qwZ2traxbYHeOedd2q0dUEoToGgBtOgQQOUSiUpKflxkD/44AMaNGiAmpoaDg4OODo6cubMmRLb//rrr+jo6ODj44O2tjb16tXD29ubffv2FVv/wIEDyOVy3Nzc0NTUxN7envfff589e/aUS97k5GRJ7rIYOHAgzZo1Q0tLi759+3LlyhWp7L333qNFixaoq6vTtGlTBg4cWERRl9Q+NzeXAwcOMGnSJOrUqUPdunUZN26cStvNmzczceJE6Rxubm40atSIEydOANC7d2/pg6Qk0tPTsba2lravvvqK5ORkDh06hK+vL8bGxujo6DB16lTOnTtHfHy81HbUqFFYWFhgYGDA559/Tnh4OImJicWeRy6Xk5aWRseOHbGysuLPP//k888/L/P+FsfRo0fZuXOniqJOS0srMu9sZGREampqkfaXLl3C39+fL7744rna1xSEc1BlUOhHIqj+zBo/vsw6vz5jRiqcVkxfX196gRaHiYlJqeWFX8AvSmJiImpqapIjx6ZNm9i5c6f0Es7MzMTMzKzE9nFxcdy+fVtl9JSXl4dSqSy2fkJCQpH0e40aNSr3PGuBU9K9e/fKdGqqX2hZl56eHunp6dL+qVOnWLFiBbdu3UKhUJCTk0Pjxo3L1f7hw4dkZ2djXig7joWFhUrbuLg4Zs+erZJAOScnp4hJtTT09fWLKNc//viDvLw8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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [] } } ] } ] }