diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 140690ad..e7a7d5ae 100755 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -34,7 +34,7 @@ repos: hooks: - id: detect-secrets args: ['--baseline', '.secrets.baseline', - '--exclude-files', 'model/docs/'] + '--exclude-files', 'model/docs/*_cache'] exclude: package.lock.json #### # Typos diff --git a/model/Makefile b/model/Makefile index 022f9dcb..ca9b21a5 100644 --- a/model/Makefile +++ b/model/Makefile @@ -4,4 +4,12 @@ install: test: poetry run pytest -.PHONY: install test +docs: docs/pyrenew_demo.md docs/getting-started.md + +docs/pyrenew_demo.md: docs/pyrenew_demo.qmd + quarto render docs/pyrenew_demo.qmd + +docs/getting-started.md: docs/getting-started.qmd + quarto render docs/getting-started.qmd + +.PHONY: install test docs diff --git a/model/docs/.gitignore b/model/docs/.gitignore new file mode 100644 index 00000000..f0813f1c --- /dev/null +++ b/model/docs/.gitignore @@ -0,0 +1 @@ +!*png diff --git a/model/docs/getting-started.ipynb b/model/docs/getting-started.ipynb deleted file mode 100644 index 0e7e1e86..00000000 --- a/model/docs/getting-started.ipynb +++ /dev/null @@ -1,315 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Getting started with `pyrenew`\n", - "\n", - "This notebook illustrates two features of `pyrenew`: (a) the set of included `RandomVariable`es, and (b) model composition." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Hospitalizations model\n", - "\n", - "`pyrenew` has five main components:\n", - "\n", - "- Utility and math functions,\n", - "- The `processes` sub-module,\n", - "- The `observations` sub-module,\n", - "- The `latent` sub-module, and\n", - "- The `models` sub-module\n", - "\n", - "All three of `process`, `observation`, and `latent` contain classes that inherit from the meta class `RandomVariable`. The classes under `model` inherit from the meta class `Model`. The following diagram illustrates the composition the model `pyrenew.models.HospitalizationsModel`:\n", - "\n", - "```{mermaid}\n", - "flowchart TB\n", - "\n", - " subgraph randprocmod[\"Processes module\"]\n", - " direction TB\n", - " simprw[\"SimpleRandomWalkProcess\"]\n", - " rtrw[\"RtRandomWalkProcess\"] \n", - " end\n", - "\n", - " subgraph latentmod[\"Latent module\"]\n", - " direction TB\n", - " hosp_latent[\"Hospitalizations\"]\n", - " inf_latent[\"Infections\"]\n", - " end\n", - "\n", - " subgraph obsmod[\"Observations module\"]\n", - " direction TB\n", - " pois[\"PoissonObservation\"]\n", - " nb[\"NegativeBinomialObservation\"]\n", - " end\n", - "\n", - " subgraph models[\"Models module\"]\n", - " direction TB\n", - " basic[\"RtInfectionsRenewalModel\"]\n", - " hosp[\"HospitalizationsModel\"]\n", - " end\n", - "\n", - " rp((\"RandomVariable\")) --> |Inherited by| randprocmod\n", - " rp -->|Inherited by| latentmod\n", - " rp -->|Inherited by| obsmod\n", - "\n", - "\n", - " model((\"Model\")) -->|Inherited by| models\n", - "\n", - " simprw -->|Composes| rtrw\n", - " rtrw -->|Composes| basic\n", - " inf_latent -->|Composes| basic\n", - " basic -->|Composes| hosp\n", - "\n", - "\n", - " obsmod -->|Composes|models\n", - " hosp_latent -->|Composes| hosp\n", - "\n", - " %% Metaclasses\n", - " classDef Metaclass color:black,fill:white\n", - " class rp,model Metaclass\n", - "\n", - " %% Random process\n", - " classDef Randproc fill:purple,color:white\n", - " class rtrw,simprw Randproc\n", - "\n", - " %% Models\n", - " classDef Models fill:teal,color:white\n", - " class basic,hosp Models\n", - "```\n", - "\n", - "We start by loading the needed components to build a basic renewal model:" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "import jax.numpy as jnp\n", - "import numpy as np\n", - "import numpyro as npro\n", - "from pyrenew.process import RtRandomWalkProcess\n", - "from pyrenew.latent import Infections\n", - "from pyrenew.observation import PoissonObservation\n", - "from pyrenew.model import RtInfectionsRenewalModel" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In the basic renewal model we can define three components: Rt, latent infections, and observed infections." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "latent_infections = Infections(\n", - " gen_int=jnp.array([0.25, 0.25, 0.25, 0.25]),\n", - " )\n", - "\n", - "observed_infections = PoissonObservation(\n", - " rate_varname='latent',\n", - " counts_varname='observed_infections',\n", - " )\n", - "\n", - "rt_proc = RtRandomWalkProcess()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "With observation process for the latent infections, we can build the basic renewal model, and generate a sample calling the `sample()` method:" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "InfectModelSample(Rt=Array([1.2022278, 1.2111099, 1.2325984, 1.2104921, 1.2023039, 1.1970979,\n", - " 1.2384264, 1.2423582, 1.245498 , 1.241344 , 1.2081108, 1.1938375,\n", - " 1.271196 , 1.3189521, 1.3054799, 1.3165426, 1.291952 , 1.3026639,\n", - " 1.2619467, 1.2852622, 1.3121517, 1.2888998, 1.2641873, 1.2580931,\n", - " 1.2545817, 1.3092988, 1.2488269, 1.2397509, 1.2071848, 1.2334517,\n", - " 1.21868 ], dtype=float32), latent=Array([ 3.7023427, 4.850682 , 6.4314823, 8.26245 , 6.9874763,\n", - " 7.940377 , 9.171101 , 10.051114 , 10.633459 , 11.729475 ,\n", - " 12.559867 , 13.422887 , 15.364211 , 17.50132 , 19.206314 ,\n", - " 21.556652 , 23.78112 , 26.719398 , 28.792412 , 32.40454 ,\n", - " 36.641006 , 40.135487 , 43.60607 , 48.055103 , 52.829704 ,\n", - " 60.43277 , 63.97854 , 69.82776 , 74.564415 , 82.88904 ,\n", - " 88.73811 ], dtype=float32), observed=Array([ 4, 3, 6, 5, 7, 7, 10, 11, 6, 9, 7, 13, 16, 19, 20, 27, 23,\n", - " 31, 28, 30, 43, 42, 55, 57, 44, 52, 64, 52, 77, 85, 94], dtype=int32))" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "\n", - "model1 = RtInfectionsRenewalModel(\n", - " Rt_process=rt_proc,\n", - " latent_infections=latent_infections,\n", - " observed_infections=observed_infections,\n", - " )\n", - "\n", - "np.random.seed(223)\n", - "with npro.handlers.seed(rng_seed=np.random.randint(1, 60)):\n", - " sim_data = model1.sample(constants=dict(n_timepoints=30))\n", - "\n", - "sim_data" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The `sample()` method of the `RtInfectionsRenewalModel` returns a list composed of the `Rt` and `infections` sequences." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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RETkBRjUEREREXkBBnVEREREXoBBHREREZEXYFBHRERE5AUY1BERERF5AQZ1RERERF6AQR0RERGRF2BQR0REROQFGNQREREReQEGdURERERegEEdERERkRdgUEdERETkBRjUEREREXkBP7kX4I4sFgsuXbqEkJAQKBQKuZdDRM0gCAKKi4sRHx8PpdJ3/o7l6xiR97D3dYxBXS0uXbqExMREuZdBRA6UmZmJhIQEuZfhMnwdI/I+Db2OMairRUhICADrkxcaGirzaoioOYqKipCYmCj9u/YVfB0j8h72vo4xqKuFWKoIDQ3liyGRl/C1EiRfx4i8T0OvY76zwYSIiIjIizGoIyIiIvICDOqIiIiIvACDOiIiIiIvwKCOiIiIyAswqCMiIiLyAgzqiIiIiLyArEFdeno6xo4di/j4eCgUCqxbt67e63fu3IlBgwYhMjISWq0WnTp1wttvv21zzZw5c9CvXz+EhIQgOjoa48aNw8mTJ534UxARERHJT9agrqSkBD179sSiRYvsuj4oKAhTp05Feno6Tpw4gRdffBEvvvgili5dKl2zfft2TJkyBb/++is2b96MiooKjBw5EiUlJc76MYiIiIhkpxAEQZB7EYB1SvI333yDcePGNerr7rzzTgQFBeGzzz6r9f78/HxER0dj+/btuPHGG2u9xmAwwGAwSJ+Lx3HodDpOYifycEVFRQgLC/O5f8+++nMTeSN7/z179J66AwcO4JdffsFNN91U5zU6nQ4AEBERUec1c+bMQVhYmPTBQ7CJiIjI03hkUJeQkACNRoO+fftiypQpmDx5cq3XWSwWPP300xg0aBC6detW5+PNmDEDOp1O+sjMzHTW0omIiIhQXmF2+GP6OfwRXWDHjh3Q6/X49ddf8cILL6B9+/a4//77a1w3ZcoUHD16FDt37qz38TQaDTQajbOWS070/ZFsfLQzAwvv7YXEiEC5l0NERNQgg8mM1Dlb0K1VGBbe2wuRwY6JQTwyqEtOTgYAdO/eHbm5uXjllVdqBHVTp07F//73P6SnpyMhIUGOZZILfLk3E/vOX8W6A1l4cngHuZdDRETUoF1nCnC1tAKncovRIlDtsMf1yKCuOovFYtPkIAgCnnzySXzzzTfYtm2bFACSdyoqqwAAHLqok3klRERE9vnuSA4AYHS3OCiVCoc9rqxBnV6vx5kzZ6TP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9ttvx5UrV2o87vfff4/BgwcjKCgIISEhGDNmDI4dO+bCn4yIyH7cU0dEXuuLL76A0WjEk08+iStXrmDevHkYP348hg0bhm3btuH555/HmTNn8N577+HZZ5/FJ598In3tZ599hgkTJmDUqFGYO3cuSktLsXjxYtxwww04cOAAGzOIyO0wqCMir5WVlYXTp08jLCwMAGA2mzFnzhyUlZVh79698POzvgTm5+fjiy++wOLFi6HRaKDX6zFt2jRMnjwZS5culR5vwoQJ6NixI2bPnm1zOxGRO2D5lYi81j333CMFdAAwYMAAAMCDDz4oBXTi7UajEVlZWQCAzZs3o7CwEPfffz8KCgqkD5VKhQEDBrDjlojcEjN1ROS1kpKSbD4XA7zExMRab7969SoA4PTp0wCAYcOG1fq4oaGhDl0nEZEjMKgjIq+lUqkadbvYWWuxWABY99XFxsbWuK56lo+IyF3wlYmI6Brt2rUDAERHRyMtLU3m1RAR2Yd76oiIrjFq1CiEhoZi9uzZqKioqHF/fn6+DKsiIqofM3VERNcIDQ3F4sWL8dBDD6F379647777EBUVhQsXLmDjxo0YNGgQ3n//fbmXSURkg0EdEVEt/vKXvyA+Ph5vvvkm3nrrLRgMBrRq1QqDBw/GpEmT5F4eEVENPCaMiIiIyAtwTx0RERGRF2BQR0REROQFGNQREREReQEGdURERERegEEdERERkRdgUEdERETkBRjUEREREXkBBnVEREREXoBBHREREZEXYFBHRERE5AUY1BERERF5AQZ1RERERF7g/wHdurv8aECvfAAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import matplotlib.pyplot as plt\n", - "\n", - "fig, axs = plt.subplots(1, 2)\n", - "\n", - "# Rt plot\n", - "axs[0].plot(range(0, 31), sim_data[0])\n", - "axs[0].set_ylabel('Rt')\n", - "\n", - "# Infections plot\n", - "axs[1].plot(range(0, 31), sim_data[1])\n", - "axs[1].set_ylabel('Infections')\n", - "\n", - "fig.suptitle('Basic renewal model')\n", - "fig.supxlabel('Time')\n", - "plt.tight_layout()\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's see how the estimation would go" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "sample: 100%|██████████| 3000/3000 [00:04<00:00, 703.72it/s, 127 steps of size 3.43e-02. acc. prob=0.93] \n" - ] - } - ], - "source": [ - "import jax\n", - "\n", - "model_data = {'n_timepoints': len(sim_data[1])-1}\n", - "\n", - "model1.run(\n", - " num_warmup=2000,\n", - " num_samples=1000,\n", - " random_variables=dict(observed_infections=sim_data.observed),\n", - " constants=model_data,\n", - " rng_key=jax.random.PRNGKey(54)\n", - " )" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, let's investigate the output" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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PwtN0/DRj370Vboc8uijj+LGG29ET08PNE3DvffeO+f77dy5EytWrEAikcCWLVvw5JNPvqrXwRhjbJp5uv/w5z//Of7u7/4Ob3rTm172/R577DFs3rwZlmXNevu+ffvQ1taGrq6uk/5NtVrFpk2b8MEPfhC/8Ru/MefHvfvuu7Fjxw585StfwZYtW3DnnXfi+uuvx4EDB9DZ2QkAuOiii+D7/kn/9oEHHkBPT0/cL3UWIQQAoFQqnda/Z4yxs428n8n72ymJ01Aul8XatWvFgw8+KK666ipx2223zfl+QRCITZs2iXe/+93C93319v3794uuri7xuc997hU/FwBxzz33nPT2zZs3i+3bt8/6XD09PeKOO+6Y19eye/du8a53vesV3+9LX/qS2LBhg1i9erUAwH/4D//hP6+7P8eOHXvZ++BprTC2b9+OX//1X8fWrVvx6U9/+pTvp+s67rvvPrztbW/D+9//fnzrW9/C4cOHce211+Lmm2/GJz7xidP59HBdF08//TQ++clPzvpcW7duxeOPP35aH/OVbN++Hdu3b0cYhhgYGEA2m4WmabH/falUwrJly3Ds2DHkcrkFucaFwte+OPjaX3vn6nUDZ3btQgiUy+VX3HmZd8D47ne/i2eeeQY///nPY71/T08PHnroIVx55ZV473vfi8cffxxbt27Fl7/85fl+amVsbAxBEJy0ndXV1YX9+/fH/jhbt27Fc889h2q1iqVLl+J73/seLr/88pf9N7quY+nSpad13QCQy+XOuR9Eia99cfC1v/bO1esGTv/a8/n8K77PvALGsWPHcNttt+HBBx9EIpGI/e/6+vrwrW99C1dddRVWrVqFr3/96/N6Ol8oP/nJTxb7Ehhj7Jwxryqpp59+GiMjI3jzm98M0zRhmiYeeeQR/O3f/i1M00QQBHP+u+HhYdx666248cYbUavV8LGPfeyMLrq9vR2GYWB4ePikz9Pd3X1GH5sxxtjc5hUwrrvuOvzyl7/Enj171J9LL70U73vf+7Bnzx4YhnHSvxkbG8N1112HDRs24Pvf/z527dqFu+++Gx//+MdP+6Jt28Yll1yCXbt2qbeFYYhdu3a94pbSYnEcB7fffjscx1nsS5k3vvbFwdf+2jtXrxt4ba5diyqRTtvVV1+Niy66CHfeeedJfxeGIbZs2YLOzk7cc889sG0bAPDcc8/h2muvxZ//+Z/PudqoVCo4ePAgAODiiy/GF77wBVxzzTUoFAro6+sDQGW127Ztw9/93d9h8+bNuPPOO/FP//RP2L9//5yluowxxs7MafdhxKHrOj7zmc/gyiuvVMECADZt2oSf/OQn6OjomPPfPfXUU7jmmmvUf+/YsQMAsG3bNtx1110AgPe85z0YHR3Fpz71KQwNDeGiiy7Cj3/8Yw4WjDG2QM54hcEYY+yN4Q09S4oxxlh8HDAYY4zFwgGDMcZYLBwwXgPn4lTdv/iLv4CmabP+nHfeeYt9WXN6penGQgh86lOfwpIlS5BMJrF161b86le/WpyLPcErXfvv/d7vnfR9eMc73rE4F3uCO+64A5dddhmy2Sw6Oztx880348CBA7Pep9FoYPv27Whra0Mmk8G73vWuk/qnFkOca7/66qtPeu3/4A/+YJGueNqXv/xlvOlNb1Id3Zdffjnuv/9+9fcL+ZpzwFhgcqru7bffjmeeeQabNm3C9ddfj5GRkcW+tFd0/vnnY3BwUP356U9/utiXNCc53Xjnzp1z/v1f/dVf4W//9m/xla98BT/72c+QTqdx/fXXo9FovMZXerJXunYAeMc73jHr+/Cd73znNbzCU3vkkUewfft2PPHEE3jwwQfheR7e/va3o1qtqvf52Mc+hh/+8If43ve+h0ceeQQDAwOnnED9Wopz7QDwoQ99aNZr/1d/9VeLdMXTli5dis9+9rN4+umn8dRTT+Haa6/FO9/5Tvzbv/0bgAV+zec12pXN26s1Vfe1dvvtt4tNmzYt9mXMGzB7unEYhqK7u1v89V//tXrb1NSUcBxHfOc731mEKzy1E69dCCG2bdsm3vnOdy7K9czXyMiIACAeeeQRIQS9zpZlie9973vqfZ5//nkBQDz++OOLdZlzOvHahRAvO4n7bNPa2iq+9rWvLfhrziuMBSSn6m7dulW9baGn6r6afvWrX6GnpwerVq3C+973Phw9enSxL2neDh8+jKGhoVnfg3w+jy1btpwT3wMAePjhh9HZ2Yn169fjwx/+MMbHxxf7kuZULBYBAIVCAQCNEvI8b9Zrf95556Gvr++se+1PvHbp29/+Ntrb23HBBRfgk5/8JGq12mJc3ikFQYDvfve7qFaruPzyyxf8NV/Qxr03uldrqu5i2LJlC+666y6sX78eg4OD+Mu//EtceeWV2Lt37zl1rO3Q0BAAzPk9kH93NnvHO96B3/iN38DKlStx6NAh/Nmf/RluuOEGPP7443OO4lksYRjiox/9KK644gpccMEFAOi1t20bLS0ts973bHvt57p2AHjve9+L5cuXo6enB7/4xS/wJ3/yJzhw4AC+//3vL+LVkl/+8pe4/PLL0Wg0kMlkcM8992Djxo3Ys2fPgr7mHDDYnG644Qb1/9/0pjdhy5YtWL58Of7pn/4Jv//7v7+IV/bG8tu//dvq/1944YV405vehNWrV+Phhx/Gddddt4hXNtv27duxd+/eszbP9XJOde233nqr+v8XXnghlixZguuuuw6HDh3C6tWrX+vLnGX9+vXYs2cPisUi/vmf/xnbtm3DI488suCfl7ekFtDraapuS0sL1q1bp2Z8nSvk6/x6+B4AwKpVq9De3n5WfR8+8pGP4Ec/+hF2794966yY7u5uuK6LqampWe9/Nr32p7r2uWzZsgUAzorX3rZtrFmzBpdccgnuuOMObNq0CX/zN3+z4K85B4wFdC5O1T2VSqWCQ4cOYcmSJYt9KfOycuVKdHd3z/oelEol/OxnPzvnvgcAcPz4cYyPj58V3wchBD7ykY/gnnvuwUMPPYSVK1fO+vtLLrkElmXNeu0PHDiAo0ePLvpr/0rXPpc9e/YAwFnx2p8oDEM0m82Ff83POG3OXtZ3v/td4TiOuOuuu8S+ffvErbfeKlpaWsTQ0NBiX9rL+uM//mPx8MMPi8OHD4vHHntMbN26VbS3t4uRkZHFvrSTlMtl8eyzz4pnn31WABBf+MIXxLPPPiuOHDkihBDis5/9rGhpaRE/+MEPxC9+8Qvxzne+U6xcuVLU6/VFvvKXv/ZyuSw+/vGPi8cff1wcPnxY/OQnPxFvfvObxdq1a0Wj0VjsSxcf/vCHRT6fFw8//LAYHBxUf2q1mnqfP/iDPxB9fX3ioYceEk899ZS4/PLLxeWXX76IV01e6doPHjwo/st/+S/iqaeeEocPHxY/+MEPxKpVq8Tb3va2Rb5yIf70T/9UPPLII+Lw4cPiF7/4hfjTP/1ToWmaeOCBB4QQC/uac8B4DXzxi18UfX19wrZtsXnzZvHEE08s9iW9ove85z1iyZIlwrZt0dvbK97znveIgwcPLvZlzWn37t1zHmi/bds2IQSV1v7n//yfRVdXl3AcR1x33XXiwIEDi3vRkZe79lqtJt7+9reLjo4OYVmWWL58ufjQhz501jxszHXdAMQ3vvEN9T71el384R/+oWhtbRWpVErccsstYnBwcPEuOvJK13706FHxtre9TRQKBeE4jlizZo34T//pP4lisbi4Fy6E+OAHPyiWL18ubNsWHR0d4rrrrlPBQoiFfc15Wi1jjLFYOIfBGGMsFg4YjDHGYuGAwRhjLBYOGIwxxmLhgMEYYywWDhiMMcZi4YDBGGMsFg4YjDHGYuGAwRhjLBYOGIwxxmLhgMEYYyyW/x+OoNcCx/kOJAAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import polars as pl\n", - "samps = model1.spread_draws([('Rt', 'time')])\n", - "\n", - "fig, ax = plt.subplots(figsize=[4, 5])\n", - "\n", - "ax.plot(sim_data[0])\n", - "samp_ids = np.random.randint(size=25, low=0, high=999)\n", - "for samp_id in samp_ids:\n", - " sub_samps = samps.filter(pl.col(\"draw\") == samp_id).sort(pl.col('time'))\n", - " ax.plot(sub_samps.select(\"time\").to_numpy(), \n", - " sub_samps.select(\"Rt\").to_numpy(), color=\"darkblue\", alpha=0.1)\n", - "ax.set_ylim([0.4, 1/.4])\n", - "ax.set_yticks([0.5, 1, 2])\n", - "ax.set_yscale(\"log\")" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "pyrenew-e8bt3r2y-py3.10", - "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.10.12" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/model/docs/getting-started.md b/model/docs/getting-started.md new file mode 100644 index 00000000..8f9ad3d9 --- /dev/null +++ b/model/docs/getting-started.md @@ -0,0 +1,207 @@ +# Getting started with pyrenew + + +This document illustrates two features of `pyrenew`: (a) the set of +included `RandomVariable`es, and (b) model composition. + +## Hospitalizations model + +`pyrenew` has five main components: + +- Utility and math functions, +- The `processes` sub-module, +- The `observations` sub-module, +- The `latent` sub-module, and +- The `models` sub-module + +All three of `process`, `observation`, and `latent` contain classes that +inherit from the meta class `RandomVariable`. The classes under `model` +inherit from the meta class `Model`. The following diagram illustrates +the composition the model `pyrenew.models.HospitalizationsModel`: + +``` mermaid +flowchart TB + + subgraph randprocmod["Processes module"] + direction TB + simprw["SimpleRandomWalkProcess"] + rtrw["RtRandomWalkProcess"] + end + + subgraph latentmod["Latent module"] + direction TB + hosp_latent["Hospitalizations"] + inf_latent["Infections"] + end + + subgraph obsmod["Observations module"] + direction TB + pois["PoissonObservation"] + nb["NegativeBinomialObservation"] + end + + subgraph models["Models module"] + direction TB + basic["RtInfectionsRenewalModel"] + hosp["HospitalizationsModel"] + end + + rp(("RandomVariable")) --> |Inherited by| randprocmod + rp -->|Inherited by| latentmod + rp -->|Inherited by| obsmod + + + model(("Model")) -->|Inherited by| models + + simprw -->|Composes| rtrw + rtrw -->|Composes| basic + inf_latent -->|Composes| basic + basic -->|Composes| hosp + + + obsmod -->|Composes|models + hosp_latent -->|Composes| hosp + + %% Metaclasses + classDef Metaclass color:black,fill:white + class rp,model Metaclass + + %% Random process + classDef Randproc fill:purple,color:white + class rtrw,simprw Randproc + + %% Models + classDef Models fill:teal,color:white + class basic,hosp Models +``` + +We start by loading the needed components to build a basic renewal +model: + +``` python +import jax.numpy as jnp +import numpy as np +import numpyro as npro +from pyrenew.process import RtRandomWalkProcess +from pyrenew.latent import Infections +from pyrenew.observation import PoissonObservation +from pyrenew.model import RtInfectionsRenewalModel +``` + + /home/xrd4/.cache/pypoetry/virtualenvs/pyrenew-B3vwhbMF-py3.10/lib/python3.10/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html + from .autonotebook import tqdm as notebook_tqdm + An NVIDIA GPU may be present on this machine, but a CUDA-enabled jaxlib is not installed. Falling back to cpu. + +In the basic renewal model we can define three components: Rt, latent +infections, and observed infections. + +``` python +latent_infections = Infections( + gen_int=jnp.array([0.25, 0.25, 0.25, 0.25]), + ) + +observed_infections = PoissonObservation( + rate_varname='latent', + counts_varname='observed_infections', + ) + +rt_proc = RtRandomWalkProcess() +``` + +With observation process for the latent infections, we can build the +basic renewal model, and generate a sample calling the `sample()` +method: + +``` python +model1 = RtInfectionsRenewalModel( + Rt_process=rt_proc, + latent_infections=latent_infections, + observed_infections=observed_infections, + ) + +np.random.seed(223) +with npro.handlers.seed(rng_seed=np.random.randint(1, 60)): + sim_data = model1.sample(constants=dict(n_timepoints=30)) + +sim_data +``` + + InfectModelSample(Rt=Array([1.2022278, 1.2111099, 1.2325984, 1.2104921, 1.2023039, 1.1970979, + 1.2384264, 1.2423582, 1.245498 , 1.241344 , 1.2081108, 1.1938375, + 1.271196 , 1.3189521, 1.3054799, 1.3165426, 1.291952 , 1.3026639, + 1.2619467, 1.2852622, 1.3121517, 1.2888998, 1.2641873, 1.2580931, + 1.2545817, 1.3092988, 1.2488269, 1.2397509, 1.2071848, 1.2334517, + 1.21868 ], dtype=float32), latent=Array([ 3.7023427, 4.850682 , 6.4314823, 8.26245 , 6.9874763, + 7.940377 , 9.171101 , 10.051114 , 10.633459 , 11.729475 , + 12.559867 , 13.422887 , 15.364211 , 17.50132 , 19.206314 , + 21.556652 , 23.78112 , 26.719398 , 28.792412 , 32.40454 , + 36.641006 , 40.135487 , 43.60607 , 48.055103 , 52.829704 , + 60.43277 , 63.97854 , 69.82776 , 74.564415 , 82.88904 , + 88.73811 ], dtype=float32), observed=Array([ 4, 3, 6, 5, 7, 7, 10, 11, 6, 9, 7, 13, 16, 19, 20, 27, 23, + 31, 28, 30, 43, 42, 55, 57, 44, 52, 64, 52, 77, 85, 94], dtype=int32)) + +The `sample()` method of the `RtInfectionsRenewalModel` returns a list +composed of the `Rt` and `infections` sequences. + +``` python +import matplotlib.pyplot as plt + +fig, axs = plt.subplots(1, 2) + +# Rt plot +axs[0].plot(range(0, 31), sim_data[0]) +axs[0].set_ylabel('Rt') + +# Infections plot +axs[1].plot(range(0, 31), sim_data[1]) +axs[1].set_ylabel('Infections') + +fig.suptitle('Basic renewal model') +fig.supxlabel('Time') +plt.tight_layout() +plt.show() +``` + + + +Let’s see how the estimation would go + +``` python +import jax + +model_data = {'n_timepoints': len(sim_data[1])-1} + +model1.run( + num_warmup=2000, + num_samples=1000, + random_variables=dict(observed_infections=sim_data.observed), + constants=model_data, + rng_key=jax.random.PRNGKey(54), + mcmc_args=dict(progress_bar=False), + ) +``` + +Now, let’s investigate the output + +``` python +import polars as pl +samps = model1.spread_draws([('Rt', 'time')]) + +fig, ax = plt.subplots(figsize=[4, 5]) + +ax.plot(sim_data[0]) +samp_ids = np.random.randint(size=25, low=0, high=999) +for samp_id in samp_ids: + sub_samps = samps.filter(pl.col("draw") == samp_id).sort(pl.col('time')) + ax.plot(sub_samps.select("time").to_numpy(), + sub_samps.select("Rt").to_numpy(), color="darkblue", alpha=0.1) +ax.set_ylim([0.4, 1/.4]) +ax.set_yticks([0.5, 1, 2]) +ax.set_yscale("log") +``` + + diff --git a/model/docs/getting-started.qmd b/model/docs/getting-started.qmd new file mode 100644 index 00000000..85f57f51 --- /dev/null +++ b/model/docs/getting-started.qmd @@ -0,0 +1,186 @@ +--- +title: "Getting started with pyrenew" +format: gfm +engine: jupyter +--- + +This document illustrates two features of `pyrenew`: (a) the set of included `RandomVariable`s, and (b) model composition. + +## Hospitalizations model + +`pyrenew` has five main components: + +- Utility and math functions, +- The `processes` sub-module, +- The `observations` sub-module, +- The `latent` sub-module, and +- The `models` sub-module + +All three of `process`, `observation`, and `latent` contain classes that inherit from the meta class `RandomVariable`. The classes under `model` inherit from the meta class `Model`. The following diagram illustrates the composition the model `pyrenew.models.HospitalizationsModel`: + +```{mermaid} +%%| label: overview-of-hospitalizationsmodel +flowchart TB + + subgraph randprocmod["Processes module"] + direction TB + simprw["SimpleRandomWalkProcess"] + rtrw["RtRandomWalkProcess"] + end + + subgraph latentmod["Latent module"] + direction TB + hosp_latent["Hospitalizations"] + inf_latent["Infections"] + end + + subgraph obsmod["Observations module"] + direction TB + pois["PoissonObservation"] + nb["NegativeBinomialObservation"] + end + + subgraph models["Models module"] + direction TB + basic["RtInfectionsRenewalModel"] + hosp["HospitalizationsModel"] + end + + rp(("RandomVariable")) --> |Inherited by| randprocmod + rp -->|Inherited by| latentmod + rp -->|Inherited by| obsmod + + + model(("Model")) -->|Inherited by| models + + simprw -->|Composes| rtrw + rtrw -->|Composes| basic + inf_latent -->|Composes| basic + basic -->|Composes| hosp + + + obsmod -->|Composes|models + hosp_latent -->|Composes| hosp + + %% Metaclasses + classDef Metaclass color:black,fill:white + class rp,model Metaclass + + %% Random process + classDef Randproc fill:purple,color:white + class rtrw,simprw Randproc + + %% Models + classDef Models fill:teal,color:white + class basic,hosp Models +``` + +We start by loading the needed components to build a basic renewal model: + + +```{python} +#| label: loading-pkgs +import jax.numpy as jnp +import numpy as np +import numpyro as npro +from pyrenew.process import RtRandomWalkProcess +from pyrenew.latent import Infections +from pyrenew.observation import PoissonObservation +from pyrenew.model import RtInfectionsRenewalModel +``` + +In the basic renewal model we can define three components: Rt, latent infections, and observed infections. + +```{python} +#| label: creating-elements +latent_infections = Infections( + gen_int=jnp.array([0.25, 0.25, 0.25, 0.25]), + ) + +observed_infections = PoissonObservation( + rate_varname='latent', + counts_varname='observed_infections', + ) + +rt_proc = RtRandomWalkProcess() +``` + +With observation process for the latent infections, we can build the basic renewal model, and generate a sample calling the `sample()` method: + + +```{python} +#| label: model-creation +model1 = RtInfectionsRenewalModel( + Rt_process=rt_proc, + latent_infections=latent_infections, + observed_infections=observed_infections, + ) + +np.random.seed(223) +with npro.handlers.seed(rng_seed=np.random.randint(1, 60)): + sim_data = model1.sample(constants=dict(n_timepoints=30)) + +sim_data +``` + +The `sample()` method of the `RtInfectionsRenewalModel` returns a list composed of the `Rt` and `infections` sequences. + + +```{python} +#| label: basic-fig +import matplotlib.pyplot as plt + +fig, axs = plt.subplots(1, 2) + +# Rt plot +axs[0].plot(range(0, 31), sim_data[0]) +axs[0].set_ylabel('Rt') + +# Infections plot +axs[1].plot(range(0, 31), sim_data[1]) +axs[1].set_ylabel('Infections') + +fig.suptitle('Basic renewal model') +fig.supxlabel('Time') +plt.tight_layout() +plt.show() +``` + +Let's see how the estimation would go + + +```{python} +#| label: model-fit +import jax + +model_data = {'n_timepoints': len(sim_data[1])-1} + +model1.run( + num_warmup=2000, + num_samples=1000, + random_variables=dict(observed_infections=sim_data.observed), + constants=model_data, + rng_key=jax.random.PRNGKey(54), + mcmc_args=dict(progress_bar=False), + ) +``` + +Now, let's investigate the output + +```{python} +#| label: output-rt +import polars as pl +samps = model1.spread_draws([('Rt', 'time')]) + +fig, ax = plt.subplots(figsize=[4, 5]) + +ax.plot(sim_data[0]) +samp_ids = np.random.randint(size=25, low=0, high=999) +for samp_id in samp_ids: + sub_samps = samps.filter(pl.col("draw") == samp_id).sort(pl.col('time')) + ax.plot(sub_samps.select("time").to_numpy(), + sub_samps.select("Rt").to_numpy(), color="darkblue", alpha=0.1) +ax.set_ylim([0.4, 1/.4]) +ax.set_yticks([0.5, 1, 2]) +ax.set_yscale("log") +``` diff --git a/model/docs/getting-started_files/figure-commonmark/basic-fig-output-1.png b/model/docs/getting-started_files/figure-commonmark/basic-fig-output-1.png new file mode 100644 index 00000000..bf3ee9b8 Binary files /dev/null and b/model/docs/getting-started_files/figure-commonmark/basic-fig-output-1.png differ diff --git a/model/docs/getting-started_files/figure-commonmark/output-rt-output-1.png b/model/docs/getting-started_files/figure-commonmark/output-rt-output-1.png new file mode 100644 index 00000000..d57c4a28 Binary files /dev/null and b/model/docs/getting-started_files/figure-commonmark/output-rt-output-1.png differ diff --git a/model/docs/pyrenew_demo.ipynb b/model/docs/pyrenew_demo.ipynb deleted file mode 100755 index e05fcfb5..00000000 --- a/model/docs/pyrenew_demo.ipynb +++ /dev/null @@ -1,324 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "afc8cf98", - "metadata": {}, - "source": [ - "# Pyrenew demo\n", - "This demo simulates some basic renewal process data and then fits to it using `pyrenew`.\n", - "\n", - "You'll need to install `pyrenew` first. You'll also need working installations of `matplotlib`, `numpy`, `jax`, `numpyro`, and `polars`" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "e7411e98", - "metadata": {}, - "outputs": [], - "source": [ - "import matplotlib as mpl\n", - "import matplotlib.pyplot as plt\n", - "\n", - "import jax\n", - "import jax.numpy as jnp\n", - "import numpy as np\n", - "from numpyro.handlers import seed\n", - "import numpyro.distributions as dist" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "97b9bb74", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[]" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "from pyrenew.process import SimpleRandomWalkProcess\n", - "\n", - "np.random.seed(3312)\n", - "q = SimpleRandomWalkProcess(dist.Normal(0, 0.001))\n", - "with seed(rng_seed=np.random.randint(0,1000)):\n", - " q_samp = q.sample(duration=100)\n", - "\n", - "plt.plot(np.exp(q_samp[0]))" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "9d529e59", - "metadata": {}, - "outputs": [], - "source": [ - "from pyrenew.latent import Infections, HospitalAdmissions\n", - "from pyrenew.observation import PoissonObservation\n", - "\n", - "from pyrenew.model import HospitalizationsModel\n", - "from pyrenew.process import RtRandomWalkProcess\n", - "\n", - "# Initializing model parameters\n", - "latent_infections = Infections(jnp.array([0.25, 0.25, 0.25, 0.25]))\n", - "latent_hospitalizations = HospitalAdmissions(\n", - " inf_hosp_int=jnp.array(\n", - " [0, 0, 0,0,0,0,0,0,0,0,0,0,0, 0.25, 0.5, 0.1, 0.1, 0.05],\n", - " )\n", - " )\n", - "observed_hospitalizations = PoissonObservation(\n", - " rate_varname='latent',\n", - " counts_varname='observed_hospitalizations',\n", - " )\n", - "Rt_process = RtRandomWalkProcess()\n", - "\n", - "# Initializing the model\n", - "hospmodel = HospitalizationsModel(\n", - " latent_hospitalizations=latent_hospitalizations,\n", - " observed_hospitalizations=observed_hospitalizations,\n", - " latent_infections=latent_infections,\n", - " Rt_process=Rt_process\n", - " )" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "ebaa1c40", - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "data": { - "text/plain": [ - "HospModelSample(Rt=Array([1.1791104, 1.1995267, 1.1772177, 1.1913829, 1.2075942, 1.1444623,\n", - " 1.1514508, 1.1976782, 1.2292639, 1.1719677, 1.204649 , 1.2323451,\n", - " 1.2466507, 1.2800207, 1.2749145, 1.2619376, 1.2189837, 1.2192641,\n", - " 1.2290158, 1.2128737, 1.1908046, 1.2174997, 1.1941082, 1.2084603,\n", - " 1.1965215, 1.2248698, 1.2308019, 1.2426206, 1.2131014, 1.207159 ,\n", - " 1.1837622], dtype=float32), infections=Array([ 1.4125489, 1.8606048, 2.373585 , 3.1091077, 2.6433773,\n", - " 2.8573434, 3.161715 , 3.5246303, 3.74528 , 3.893561 ,\n", - " 4.314205 , 4.76846 , 5.211469 , 5.8201566, 6.4110003,\n", - " 7.0072513, 7.4510007, 8.13536 , 8.911782 , 9.553016 ,\n", - " 10.137069 , 11.181891 , 11.876529 , 12.9149685, 13.793039 ,\n", - " 15.239348 , 16.561634 , 18.176119 , 19.339912 , 20.919167 ,\n", - " 22.194605 ], dtype=float32), IHR=Array(0.04929917, dtype=float32), latent=Array([0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0.01740937, 0.05775031,\n", - " 0.08208082, 0.11296336, 0.13357335, 0.13198984, 0.14360985,\n", - " 0.15615721, 0.16922975, 0.18031327, 0.19277987, 0.21146055,\n", - " 0.23146638, 0.25456703, 0.28231323, 0.31053045, 0.33770248,\n", - " 0.36442798], dtype=float32), sampled=Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,\n", - " 0, 0, 0, 0, 0, 1, 1, 0, 0], dtype=int32))" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "with seed(rng_seed=np.random.randint(1, 60)):\n", - " x = hospmodel.sample(constants=dict(n_timepoints=30))\n", - "x" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "92bedc40", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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AABA9Iiqs4oqKip0++23a8GCBbr22mv17LPPavLkyXr00UdHbLNhwwZ5vd7Q1tDQMI4VAwCA8RQfqQfOyspSXFycmpubh9ze3Nys3NzcsB4jISFBCxcu1JEjR0bcx+FwyOFwjKpWAABgDREbcUlMTFR5ebmqq6tDtwWDQVVXV6uioiKsxwgEAnr//feVl5cXqTIBAICFRGzERZLWr1+vNWvWaPHixVq6dKkefvhhdXZ26o477pAk3X777SooKNCmTZskST/84Q/1iU98QldddZXa29v14IMP6vjx4/rqV78ayTIBAIBFRDS4rF69WqdOndK9994rj8ejBQsWaNu2baEJu/X19bLbzw/6nDlzRmvXrpXH41F6errKy8v1l7/8RaWlpZEsEwAAWITNMAzD7CLGks/nk9vtltfrlcvlMrscAAAQhnA/v6PqrCIAAICLIbgAAADLILgAAADLILgAAADLILgAAADLILgAAADLILgAAADLILgAAADLILgAAADLILgAAADLILgAAADLILgAAADLILgAAADLILgAAADLILgAAADLILgAAADLILgAAADLILgAAADLILgAAADLILgAAADLILgAAADLILgAAADLILgAAADLILgAAADLILgAAADLILgAAADLILgAAADLILgAAADLILgAAADLILgAAADLILgAAADLILgAAADLILgAAADLILgAAADLILgAAADLILgAAADLILgAAADLiDe7ACsIBA3trGtTi79b2c4kLZ2aoTi7LeJtzXxu2tKWthOz7WhY8fVasZ9HIxZeb8SDS1VVlR588EF5PB6VlZXpkUce0dKlS0fc/5lnntE999yjY8eOacaMGfrpT3+qG264IdJljmjb/ibd98IBNXm7Q7fluZO08aZSrZiXF7G2Zj43bWlL24nZdjSs+Hqt2M+jESuv12YYhhGpB9+yZYtuv/12bd68WcuWLdPDDz+sZ555RocOHVJ2dvYF+//lL3/RNddco02bNunGG2/U7373O/30pz/Vnj17NG/evLCe0+fzye12y+v1yuVyjar+bfub9PXf7tHHO+hcvvz13y0a8Q0bTVszn5u2tKXtxGw7GlZ8vVbs59GwwusN9/M7onNcHnroIa1du1Z33HGHSktLtXnzZiUnJ+vxxx8fdv+f//znWrFihb73ve9pzpw5+tGPfqRFixbpl7/8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lJTo6aef1j/8wz+YWBlizZe+9KXQn6+++mrNnz9f06dP1xtvvKHrr7/exMrMs27dOu3fv595ZWEYqa++9rWvhf589dVXKy8vT9dff72OHj2q6dOnj3eZpps1a5Zqamrk9Xr1hz/8QWvWrNH27dvNLovJuZeSlZWluLi4C2ZLNzc3Kzc316SqrCEtLU0zZ87UkSNHzC4l6p07ljjOrsy0adOUlZU1YY+1b37zm3rxxRf1+uuvq7CwMHR7bm6uent71d7ePmT/iXxcjdRXw1m2bJkkTdjjKjExUVdddZXKy8u1adMmlZWV6ec//7npxxXB5RISExNVXl6u6urq0G3BYFDV1dWqqKgwsbLo19HRoaNHjyovL8/sUqLe1KlTlZubO+Q48/l8eueddzjOwnDixAm1trZOuGPNMAx985vf1NatW/Xaa69p6tSpQ+4vLy9XQkLCkOPq0KFDqq+vn3DH1aX6ajg1NTWSNOGOq5EEg0H19PSYf1xFfPpvDHjqqacMh8NhPPHEE8aBAweMr33ta0ZaWprh8XjMLi2qfPe73zXeeOMNo66uznjrrbeMyspKIysry2hpaTG7tKjg9/uNvXv3Gnv37jUkGQ899JCxd+9e4/jx44ZhGMb9999vpKWlGc8//7yxb98+45ZbbjGmTp1qnD171uTKx9/F+srv9xv/9E//ZOzYscOoq6sz/vSnPxmLFi0yZsyYYXR3d5td+rj6+te/brjdbuONN94wmpqaQltXV1don7vuussoLi42XnvtNWPXrl1GRUWFUVFRYWLV5rhUXx05csT44Q9/aOzatcuoq6sznn/+eWPatGnGNddcY3Ll5rj77ruN7du3G3V1dca+ffuMu+++27DZbMYrr7xiGIa5xxXBJUyPPPKIUVxcbCQmJhpLly413n77bbNLijqrV6828vLyjMTERKOgoMBYvXq1ceTIEbPLihqvv/66IemCbc2aNYZhDJwSfc899xg5OTmGw+Ewrr/+euPQoUPmFm2Si/VVV1eX8bnPfc6YPHmykZCQYJSUlBhr166dkP+RGK6PJBm/+c1vQvucPXvW+MY3vmGkp6cbycnJxqpVq4ympibzijbJpfqqvr7euOaaa4yMjAzD4XAYV111lfG9733P8Hq95hZukjvvvNMoKSkxEhMTjcmTJxvXX399KLQYhrnHlc0wDCPy4zoAAACjxxwXAABgGQQXAABgGQQXAABgGQQXAABgGQQXAABgGQQXAABgGQQXAABgGQQXAABgGQQXAABgGQQXAABgGQQXAABgGQQXAABgGf8/Lohg4bOWc7UAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "fig, ax = plt.subplots(nrows=3, sharex=True)\n", - "ax[0].plot(x.infections)\n", - "ax[0].set_ylim([1/5, 5])\n", - "ax[1].plot(x.latent)\n", - "ax[2].plot(x.sampled, 'o')\n", - "for axis in ax[:-1]:\n", - " axis.set_yscale(\"log\")" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "590b28ce", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "sample: 100%|██████████| 2000/2000 [00:02<00:00, 682.09it/s, 7 steps of size 5.03e-01. acc. prob=0.89] \n" - ] - } - ], - "source": [ - "sim_dat={\"observed_hospitalizations\": x.sampled}\n", - "constants = {\"n_timepoints\":len(x.sampled)-1}\n", - "\n", - "# from numpyro.infer import MCMC, NUTS\n", - "hospmodel.run(\n", - " num_warmup=1000,\n", - " num_samples=1000,\n", - " random_variables=sim_dat,\n", - " constants=constants,\n", - " rng_key=jax.random.PRNGKey(54),\n", - " )" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "d74a1893", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - " mean std median 5.0% 95.0% n_eff r_hat\n", - " I0 7.14 1.75 6.83 4.19 9.62 1169.36 1.00\n", - " IHR 0.05 0.00 0.05 0.05 0.05 1844.78 1.00\n", - " Rt0 1.13 0.12 1.13 0.92 1.31 1060.51 1.00\n", - " Rt_transformed_rw_diffs[0] -0.00 0.02 -0.00 -0.04 0.04 1417.77 1.00\n", - " Rt_transformed_rw_diffs[1] -0.00 0.02 0.00 -0.04 0.04 1715.37 1.00\n", - " Rt_transformed_rw_diffs[2] -0.00 0.02 -0.00 -0.04 0.04 1720.77 1.00\n", - " Rt_transformed_rw_diffs[3] -0.00 0.02 -0.00 -0.04 0.04 2099.10 1.00\n", - " Rt_transformed_rw_diffs[4] -0.00 0.02 -0.00 -0.04 0.04 1791.33 1.00\n", - " Rt_transformed_rw_diffs[5] 0.00 0.03 -0.00 -0.04 0.04 1621.04 1.00\n", - " Rt_transformed_rw_diffs[6] 0.00 0.02 -0.00 -0.04 0.04 1397.93 1.00\n", - " Rt_transformed_rw_diffs[7] -0.00 0.02 -0.00 -0.04 0.04 2398.75 1.00\n", - " Rt_transformed_rw_diffs[8] -0.00 0.03 -0.00 -0.04 0.04 1937.88 1.00\n", - " Rt_transformed_rw_diffs[9] 0.00 0.02 0.00 -0.04 0.04 1550.47 1.00\n", - "Rt_transformed_rw_diffs[10] -0.00 0.02 0.00 -0.04 0.04 1920.45 1.00\n", - "Rt_transformed_rw_diffs[11] -0.00 0.03 0.00 -0.04 0.04 1398.49 1.00\n", - "Rt_transformed_rw_diffs[12] 0.00 0.02 0.00 -0.04 0.04 1999.04 1.00\n", - "Rt_transformed_rw_diffs[13] -0.00 0.03 -0.00 -0.04 0.04 1311.56 1.00\n", - "Rt_transformed_rw_diffs[14] -0.00 0.03 -0.00 -0.04 0.04 1890.45 1.00\n", - "Rt_transformed_rw_diffs[15] -0.00 0.03 -0.00 -0.04 0.04 2231.58 1.00\n", - "Rt_transformed_rw_diffs[16] -0.00 0.02 -0.00 -0.03 0.04 1518.33 1.00\n", - "Rt_transformed_rw_diffs[17] -0.00 0.03 -0.00 -0.04 0.04 1446.16 1.00\n", - "Rt_transformed_rw_diffs[18] 0.00 0.02 0.00 -0.04 0.04 1736.23 1.00\n", - "Rt_transformed_rw_diffs[19] 0.00 0.03 0.00 -0.04 0.04 2007.75 1.00\n", - "Rt_transformed_rw_diffs[20] -0.00 0.02 -0.00 -0.04 0.04 1826.47 1.00\n", - "Rt_transformed_rw_diffs[21] 0.00 0.02 0.00 -0.03 0.04 1937.41 1.00\n", - "Rt_transformed_rw_diffs[22] -0.00 0.03 -0.00 -0.04 0.04 1695.53 1.00\n", - "Rt_transformed_rw_diffs[23] -0.00 0.02 0.00 -0.05 0.03 1960.93 1.00\n", - "Rt_transformed_rw_diffs[24] 0.00 0.02 0.00 -0.05 0.03 1960.69 1.00\n", - "Rt_transformed_rw_diffs[25] -0.00 0.02 -0.00 -0.04 0.04 1612.60 1.00\n", - "Rt_transformed_rw_diffs[26] 0.00 0.03 0.00 -0.04 0.04 1477.00 1.00\n", - "Rt_transformed_rw_diffs[27] -0.00 0.03 -0.00 -0.05 0.04 1528.14 1.00\n", - "Rt_transformed_rw_diffs[28] -0.00 0.02 -0.00 -0.04 0.04 1986.09 1.00\n", - "Rt_transformed_rw_diffs[29] -0.00 0.03 -0.00 -0.04 0.04 1651.67 1.00\n", - "\n", - "Number of divergences: 0\n" - ] - } - ], - "source": [ - "hospmodel.print_summary()" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "c803594b", - "metadata": { - "scrolled": true - }, - "outputs": [], - "source": [ - "from pyrenew.mcmcutils import spread_draws\n", - "samps = spread_draws(hospmodel.mcmc.get_samples(), [(\"Rt\", \"time\")])" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "7fc5682c", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAGsCAYAAADOlZB8AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAACS5klEQVR4nO39eZhcZ3Xvi3/3ULvmqp5bak2eB2FbNralOAzGtoJxcg0GHEhIHhxI4IQjTgCHMJx7Ek7OyQ9DOOTnA/gyJJwQCAkOuZgpEDybYGw8Y4yxQLZsyZJ67q6ueY/3j7XXW7uqq7t3t7rVkr0+z9OPpFZ11a7qqne971rf9V1aEAQBBEEQBGEJ9PW+AEEQBOHEQAKGIAiCEAsJGIIgCEIsJGAIgiAIsZCAIQiCIMRCAoYgCIIQCwkYgiAIQizM9b6AEw3f93H48GHk83lomrbelyMIgnDUBEGAcrmMkZER6PrC5wgJGMvk8OHD2LJly3pfhiAIwqpz8OBBbN68ecH/l4CxTPL5PAB6YQuFwjpfjSAIwtEzNzeHLVu2qPVtISRgLBNOQxUKBQkYgiC8oFgqzS5Fb0EQBCEWEjAEQRCEWEjAEARBEGIhAUMQBEGIhQQMQRAEIRYSMARBEIRYSMAQBEEQYiEBQxAEQYiFBAxBEAQhFhIwBEEQhFhIwBAEQRBiIQFDEARBiIUEDEEQBCEWEjAEQRCEWEjAEARBEGIhAUMQBEGIhQQMQRAEIRYSMARBEIRYSMAQBEEQYiEBQxAEQYiFBAxBEAQhFhIwBEEQhFhIwBAEQRBiIQFDEARBiIUEDEEQBCEWEjAEQRCEWEjAEARBEGIhAUMQBEGIhQQMQRAEIRYSMARBEIRYSMAQBEEQYiEBQxAEQYiFBAxBEAQhFhIwBEEQhFhIwBAEQRBiIQFDEARBiIUEDEEQBCEWEjAEQRCEWEjAEARBEGLxog4Y3/3ud3HmmWfi9NNPx9/93d+t9+UIgiAc15jrfQHrheu6uP7663HXXXehWCziwgsvxOtf/3r09/ev96UJgiAcl7xoTxgPPPAAXvKSl2DTpk3I5XK46qqrcOutt673ZQmCIBy3rHrAuOGGG3DxxRcjn89jaGgI11xzDfbu3buqj/HDH/4QV199NUZGRqBpGr75zW92vd1NN92Ek046CalUCrt27cIDDzyg/u/w4cPYtGmT+vemTZtw6NChVb1OQRCEFxKrHjDuuece7NmzB/fffz9uu+02OI6DV7/61ahWq11vf++998JxnHnff/LJJzE2Ntb1Z6rVKnbs2IGbbrppweu4+eabcf311+MjH/kIHnnkEezYsQNXXnklxsfHV/bEBEEQXuwEa8z4+HgAILjnnnvm/Z/necGOHTuCa6+9NnBdV33/qaeeCoaHh4OPf/zjS94/gOCWW26Z9/2dO3cGe/bsaXuskZGR4IYbbgiCIAjuvffe4JprrlH//573vCf46le/uuDjfOYznwnOPvvs4IwzzggABKVSaclrEwRBOBEolUqx1rU1r2GUSiUAQF9f37z/03Ud3/ve9/Doo4/irW99K3zfx9NPP43LL78c11xzDT7wgQ+s6DFt28bDDz+M3bt3tz3W7t27cd999wEAdu7ciSeeeAKHDh1CpVLB97//fVx55ZUL3ueePXvw5JNP4sEHH1zRNQmCIJzorKlKyvd9vPe978XLXvYynHPOOV1vMzIygjvvvBOveMUr8Ja3vAX33Xcfdu/ejc9+9rMrftzJyUl4nofh4eG27w8PD+Opp54CAJimiU9+8pO47LLL4Ps+PvCBD4hCShAEYRHWNGDs2bMHTzzxBH70ox8terutW7fiK1/5Ci699FKccsop+OIXvwhN09by0gAAr33ta/Ha1752zR9HEAThhcCapaTe/e5347vf/S7uuusubN68edHbjo2N4Z3vfCeuvvpq1Go1vO997zuqxx4YGIBhGPOK5mNjY9iwYcNR3bcgCMKLlVUPGEEQ4N3vfjduueUW3HnnnTj55JMXvf3k5CSuuOIKnH322fjGN76BO+64AzfffDPe//73r/gaLMvChRdeiDvuuEN9z/d93HHHHbjkkktWfL+CIAgvZlY9JbVnzx780z/9E771rW8hn89jdHQUAFAsFpFOp9tu6/s+rrrqKmzbtg0333wzTNPE9u3bcdttt+Hyyy/Hpk2bup42KpUK9u3bp/69f/9+PPbYY+jr68PWrVsBANdffz2uu+46XHTRRdi5cyduvPFGVKtVvO1tb1vtpywIgvDiYLXlWQC6fv393/9919vfeuutQb1en/f9Rx55JDh48GDXn7nrrru6PsZ1113XdrtPf/rTwdatWwPLsoKdO3cG999//9E+vdjyM0EQhBOFuOuaFgRBsC6R6gRlbm4O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1/6qV71q3mv/x3/8x+t0xS0++9nP4rzzzlMd3Zdccgm+//3vq/9fy9dcAsYaw666H/nIR/DII49gx44duPLKKzE+Pr7el7YkL3nJS3DkyBH19aMf/Wi9L6kr7G580003df3/v/7rv8anPvUpfO5zn8NPfvITZLNZXHnllWg0Gsf4Suez1LUDwGte85q238M///M/H8MrXJh77rkHe/bswf3334/bbrsNjuPg1a9+NarVqrrN+973PnznO9/B17/+ddxzzz04fPjwgg7Ux5I41w4A73jHO9pe+7/+679epytusXnzZnzsYx/Dww8/jIceegiXX345Xve61+HnP/85gDV+zZdl7Sosm9Vy1T3WfOQjHwl27Nix3pexbIB2d2Pf94MNGzYEn/jEJ9T3Zmdng2QyGfzzP//zOlzhwnReexAEwXXXXRe87nWvW5frWS7j4+MBgOCee+4JgoBe50QiEXz9619Xt/nFL34RAAjuu+++9brMrnReexAEizpxH2/09vYGf/d3f7fmr7mcMNYQdtXdvXu3+t5au+quJr/61a8wMjKCU045Bb/3e7+HAwcOrPclLZv9+/djdHS07XdQLBaxa9euE+J3AAB33303hoaGcOaZZ+Jd73oXpqam1vuSulIqlQAAfX19AMhKyHGcttf+rLPOwtatW4+7177z2pmvfvWrGBgYwDnnnIMPf/jDqNVq63F5C+J5Hr72ta+hWq3ikksuWfPXfE0b917srJar7nqwa9cufOlLX8KZZ56JI0eO4C//8i/xile8Ak888cQJNdZ2dHQUALr+Dvj/jmde85rX4A1veANOPvlkPP300/iv//W/4qqrrsJ9993X1YpnvfB9H+9973vxspe9DOeccw4Aeu0ty0JPT0/bbY+3177btQPAW97yFmzbtg0jIyN4/PHH8cEPfhB79+7FN77xjXW8WuJnP/sZLrnkEjQaDeRyOdxyyy3Yvn07HnvssTV9zSVgCF256qqr1N/PO+887Nq1C9u2bcO//Mu/4A//8A/X8cpeXPzO7/yO+vu5556L8847D6eeeiruvvtuXHHFFet4Ze3s2bMHTzzxxHFb51qMha79ne98p/r7ueeei40bN+KKK67A008/jVNPPfVYX2YbZ555Jh577DGUSiX867/+K6677jrcc889a/64kpJaQ15Irro9PT0444wzlMfXiQK/zi+E3wEAnHLKKRgYGDiufg/vfve78d3vfhd33XVX26yYDRs2wLZtzM7Ott3+eHrtF7r2buzatQsAjovX3rIsnHbaabjwwgtxww03YMeOHfjf//t/r/lrLgFjDTkRXXUXolKp4Omnn8bGjRvX+1KWxcknn4wNGza0/Q7m5ubwk5/85IT7HQDA888/j6mpqePi9xAEAd797nfjlltuwZ133omTTz657f8vvPBCJBKJttd+7969OHDgwLq/9ktdezcee+wxADguXvtOfN9Hs9lc+9f8qMvmwqJ87WtfC5LJZPClL30pePLJJ4N3vvOdQU9PTzA6Orrel7Yof/qnfxrcfffdwf79+4N777032L17dzAwMBCMj4+v96XNo1wuB48++mjw6KOPBgCCv/mbvwkeffTR4LnnnguCIAg+9rGPBT09PcG3vvWt4PHHHw9e97rXBSeffHJQr9fX+coXv/ZyuRy8//3vD+67775g//79we233x689KUvDU4//fSg0Wis96UH73rXu4JisRjcfffdwZEjR9RXrVZTt/njP/7jYOvWrcGdd94ZPPTQQ8Ell1wSXHLJJet41cRS175v377gf/yP/xE89NBDwf79+4NvfetbwSmnnBK88pWvXOcrD4IPfehDwT333BPs378/ePzxx4MPfehDgaZpwa233hoEwdq+5hIwjgGf/vSng61btwaWZQU7d+4M7r///vW+pCV585vfHGzcuDGwLCvYtGlT8OY3vznYt2/fel9WV+66666uA+2vu+66IAhIWvvnf/7nwfDwcJBMJoMrrrgi2Lt37/pedMhi116r1YJXv/rVweDgYJBIJIJt27YF73jHO46bzUa36wYQ/P3f/726Tb1eD/7zf/7PQW9vb5DJZILXv/71wZEjR9bvokOWuvYDBw4Er3zlK4O+vr4gmUwGp512WvBnf/ZnQalUWt8LD4Lg7W9/e7Bt27bAsqxgcHAwuOKKK1SwCIK1fc3FrVYQBEGIhdQwBEEQhFhIwBAEQRBiIQFDEARBiIUEDEEQBCEWEjAEQRCEWEjAEARBEGIhAUMQBEGIhQQMQRAEIRYSMARBEIRYSMAQBEEQYiEBQxAEQYjF/wfJUqtrV0xNxQAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import numpy as np\n", - "import polars as pl\n", - "fig, ax = plt.subplots(figsize=[4, 5])\n", - "\n", - "ax.plot(x[0])\n", - "samp_ids = np.random.randint(size=25, low=0, high=999)\n", - "for samp_id in samp_ids:\n", - " sub_samps = samps.filter(pl.col(\"draw\") == samp_id).sort(pl.col('time'))\n", - " ax.plot(sub_samps.select(\"time\").to_numpy(), \n", - " sub_samps.select(\"Rt\").to_numpy(), color=\"darkblue\", alpha=0.1)\n", - "ax.set_ylim([0.4, 1/.4])\n", - "ax.set_yticks([0.5, 1, 2])\n", - "ax.set_yscale(\"log\")\n" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "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.10.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/model/docs/pyrenew_demo.md b/model/docs/pyrenew_demo.md new file mode 100644 index 00000000..7397318d --- /dev/null +++ b/model/docs/pyrenew_demo.md @@ -0,0 +1,186 @@ +# Pyrenew demo + + +This demo simulates some basic renewal process data and then fits to it +using `pyrenew`. + +You’ll need to install `pyrenew` first. You’ll also need working +installations of `matplotlib`, `numpy`, `jax`, `numpyro`, and `polars` + +``` python +import matplotlib as mpl +import matplotlib.pyplot as plt + +import jax +import jax.numpy as jnp +import numpy as np +from numpyro.handlers import seed +import numpyro.distributions as dist +``` + +``` python +from pyrenew.process import SimpleRandomWalkProcess +``` + +``` python +np.random.seed(3312) +q = SimpleRandomWalkProcess(dist.Normal(0, 0.001)) +with seed(rng_seed=np.random.randint(0,1000)): + q_samp = q.sample(duration=100) + +plt.plot(np.exp(q_samp[0])) +``` + + + +``` python +from pyrenew.latent import Infections, HospitalAdmissions +from pyrenew.observation import PoissonObservation + +from pyrenew.model import HospitalizationsModel +from pyrenew.process import RtRandomWalkProcess + +# Initializing model parameters +latent_infections = Infections(jnp.array([0.25, 0.25, 0.25, 0.25])) +latent_hospitalizations = HospitalAdmissions( + inf_hosp_int=jnp.array( + [0, 0, 0,0,0,0,0,0,0,0,0,0,0, 0.25, 0.5, 0.1, 0.1, 0.05], + ) + ) +observed_hospitalizations = PoissonObservation( + rate_varname='latent', + counts_varname='observed_hospitalizations', + ) +Rt_process = RtRandomWalkProcess() + +# Initializing the model +hospmodel = HospitalizationsModel( + latent_hospitalizations=latent_hospitalizations, + observed_hospitalizations=observed_hospitalizations, + latent_infections=latent_infections, + Rt_process=Rt_process + ) +``` + +``` python +with seed(rng_seed=np.random.randint(1, 60)): + x = hospmodel.sample(constants=dict(n_timepoints=30)) +x +``` + + HospModelSample(Rt=Array([1.1791104, 1.1995267, 1.1772177, 1.1913829, 1.2075942, 1.1444623, + 1.1514508, 1.1976782, 1.2292639, 1.1719677, 1.204649 , 1.2323451, + 1.2466507, 1.2800207, 1.2749145, 1.2619376, 1.2189837, 1.2192641, + 1.2290158, 1.2128737, 1.1908046, 1.2174997, 1.1941082, 1.2084603, + 1.1965215, 1.2248698, 1.2308019, 1.2426206, 1.2131014, 1.207159 , + 1.1837622], dtype=float32), infections=Array([ 1.4125489, 1.8606048, 2.373585 , 3.1091077, 2.6433773, + 2.8573434, 3.161715 , 3.5246303, 3.74528 , 3.893561 , + 4.314205 , 4.76846 , 5.211469 , 5.8201566, 6.4110003, + 7.0072513, 7.4510007, 8.13536 , 8.911782 , 9.553016 , + 10.137069 , 11.181891 , 11.876529 , 12.9149685, 13.793039 , + 15.239348 , 16.561634 , 18.176119 , 19.339912 , 20.919167 , + 22.194605 ], dtype=float32), IHR=Array(0.04929917, dtype=float32), latent=Array([0. , 0. , 0. , 0. , 0. , + 0. , 0. , 0. , 0. , 0. , + 0. , 0. , 0. , 0.01740937, 0.05775031, + 0.08208082, 0.11296336, 0.13357335, 0.13198984, 0.14360985, + 0.15615721, 0.16922975, 0.18031327, 0.19277987, 0.21146055, + 0.23146638, 0.25456703, 0.28231323, 0.31053045, 0.33770248, + 0.36442798], dtype=float32), sampled=Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 1, 1, 0, 0], dtype=int32)) + +``` python +fig, ax = plt.subplots(nrows=3, sharex=True) +ax[0].plot(x.infections) +ax[0].set_ylim([1/5, 5]) +ax[1].plot(x.latent) +ax[2].plot(x.sampled, 'o') +for axis in ax[:-1]: + axis.set_yscale("log") +``` + + + +``` python +sim_dat={"observed_hospitalizations": x.sampled} +constants = {"n_timepoints":len(x.sampled)-1} + +# from numpyro.infer import MCMC, NUTS +hospmodel.run( + num_warmup=1000, + num_samples=1000, + random_variables=sim_dat, + constants=constants, + rng_key=jax.random.PRNGKey(54), + mcmc_args=dict(progress_bar=False), + ) +``` + +``` python +hospmodel.print_summary() +``` + + + mean std median 5.0% 95.0% n_eff r_hat + I0 7.15 1.69 6.87 4.50 9.76 1597.65 1.00 + IHR 0.05 0.00 0.05 0.05 0.05 1957.10 1.00 + Rt0 1.13 0.12 1.13 0.92 1.31 1204.75 1.00 + Rt_transformed_rw_diffs[0] -0.00 0.02 -0.00 -0.04 0.04 1543.92 1.00 + Rt_transformed_rw_diffs[1] -0.00 0.03 0.00 -0.04 0.05 1624.77 1.00 + Rt_transformed_rw_diffs[2] -0.00 0.02 -0.00 -0.04 0.04 1906.13 1.00 + Rt_transformed_rw_diffs[3] -0.00 0.02 -0.00 -0.04 0.04 2581.47 1.00 + Rt_transformed_rw_diffs[4] -0.00 0.02 -0.00 -0.04 0.04 2354.67 1.00 + Rt_transformed_rw_diffs[5] 0.00 0.03 0.00 -0.05 0.04 2350.32 1.00 + Rt_transformed_rw_diffs[6] 0.00 0.02 0.00 -0.04 0.04 1942.94 1.00 + Rt_transformed_rw_diffs[7] -0.00 0.02 -0.00 -0.04 0.04 2280.75 1.00 + Rt_transformed_rw_diffs[8] -0.00 0.03 -0.00 -0.04 0.04 1875.19 1.00 + Rt_transformed_rw_diffs[9] 0.00 0.03 0.00 -0.04 0.04 2007.68 1.00 + Rt_transformed_rw_diffs[10] -0.00 0.02 -0.00 -0.04 0.04 2108.68 1.00 + Rt_transformed_rw_diffs[11] -0.00 0.03 0.00 -0.04 0.04 1479.90 1.00 + Rt_transformed_rw_diffs[12] 0.00 0.02 0.00 -0.04 0.04 2256.27 1.00 + Rt_transformed_rw_diffs[13] -0.00 0.03 -0.00 -0.04 0.04 1261.43 1.00 + Rt_transformed_rw_diffs[14] -0.00 0.03 -0.00 -0.04 0.04 1974.44 1.00 + Rt_transformed_rw_diffs[15] -0.00 0.03 -0.00 -0.04 0.04 2245.66 1.00 + Rt_transformed_rw_diffs[16] -0.00 0.02 0.00 -0.04 0.04 1630.22 1.00 + Rt_transformed_rw_diffs[17] 0.00 0.03 0.00 -0.04 0.04 1756.48 1.00 + Rt_transformed_rw_diffs[18] 0.00 0.02 -0.00 -0.04 0.04 1706.49 1.00 + Rt_transformed_rw_diffs[19] 0.00 0.03 -0.00 -0.04 0.04 2176.36 1.00 + Rt_transformed_rw_diffs[20] 0.00 0.02 -0.00 -0.04 0.04 2021.24 1.00 + Rt_transformed_rw_diffs[21] 0.00 0.02 0.00 -0.04 0.04 2242.62 1.00 + Rt_transformed_rw_diffs[22] 0.00 0.03 0.00 -0.04 0.04 1988.97 1.00 + Rt_transformed_rw_diffs[23] 0.00 0.02 0.00 -0.04 0.03 2113.37 1.00 + Rt_transformed_rw_diffs[24] 0.00 0.02 0.00 -0.04 0.04 2179.13 1.00 + Rt_transformed_rw_diffs[25] -0.00 0.02 -0.00 -0.04 0.03 1770.54 1.00 + Rt_transformed_rw_diffs[26] 0.00 0.03 0.00 -0.04 0.05 2101.45 1.00 + Rt_transformed_rw_diffs[27] -0.00 0.03 0.00 -0.04 0.04 1752.68 1.00 + Rt_transformed_rw_diffs[28] -0.00 0.02 -0.00 -0.04 0.04 1537.43 1.00 + Rt_transformed_rw_diffs[29] -0.00 0.03 -0.00 -0.04 0.04 1837.84 1.00 + + Number of divergences: 0 + +``` python +from pyrenew.mcmcutils import spread_draws +samps = spread_draws(hospmodel.mcmc.get_samples(), [("Rt", "time")]) +``` + +``` python +import numpy as np +import polars as pl +fig, ax = plt.subplots(figsize=[4, 5]) + +ax.plot(x[0]) +samp_ids = np.random.randint(size=25, low=0, high=999) +for samp_id in samp_ids: + sub_samps = samps.filter(pl.col("draw") == samp_id).sort(pl.col('time')) + ax.plot(sub_samps.select("time").to_numpy(), + sub_samps.select("Rt").to_numpy(), color="darkblue", alpha=0.1) +ax.set_ylim([0.4, 1/.4]) +ax.set_yticks([0.5, 1, 2]) +ax.set_yscale("log") +``` + + diff --git a/model/docs/pyrenew_demo.qmd b/model/docs/pyrenew_demo.qmd new file mode 100644 index 00000000..4e9f6bc4 --- /dev/null +++ b/model/docs/pyrenew_demo.qmd @@ -0,0 +1,122 @@ +--- +title: Pyrenew demo +format: gfm +engine: jupyter +--- + +This demo simulates some basic renewal process data and then fits to it using `pyrenew`. + +You'll need to install `pyrenew` first. You'll also need working installations of `matplotlib`, `numpy`, `jax`, `numpyro`, and `polars` + +```{python} +import matplotlib as mpl +import matplotlib.pyplot as plt + +import jax +import jax.numpy as jnp +import numpy as np +from numpyro.handlers import seed +import numpyro.distributions as dist +``` + +```{python} +from pyrenew.process import SimpleRandomWalkProcess +``` + +```{python} +#| label: fig-randwalk +np.random.seed(3312) +q = SimpleRandomWalkProcess(dist.Normal(0, 0.001)) +with seed(rng_seed=np.random.randint(0,1000)): + q_samp = q.sample(duration=100) + +plt.plot(np.exp(q_samp[0])) +``` + +```{python} +from pyrenew.latent import Infections, HospitalAdmissions +from pyrenew.observation import PoissonObservation + +from pyrenew.model import HospitalizationsModel +from pyrenew.process import RtRandomWalkProcess + +# Initializing model parameters +latent_infections = Infections(jnp.array([0.25, 0.25, 0.25, 0.25])) +latent_hospitalizations = HospitalAdmissions( + inf_hosp_int=jnp.array( + [0, 0, 0,0,0,0,0,0,0,0,0,0,0, 0.25, 0.5, 0.1, 0.1, 0.05], + ) + ) +observed_hospitalizations = PoissonObservation( + rate_varname='latent', + counts_varname='observed_hospitalizations', + ) +Rt_process = RtRandomWalkProcess() + +# Initializing the model +hospmodel = HospitalizationsModel( + latent_hospitalizations=latent_hospitalizations, + observed_hospitalizations=observed_hospitalizations, + latent_infections=latent_infections, + Rt_process=Rt_process + ) +``` + + +```{python} +with seed(rng_seed=np.random.randint(1, 60)): + x = hospmodel.sample(constants=dict(n_timepoints=30)) +x +``` + +```{python} +#| label: fig-hosp +fig, ax = plt.subplots(nrows=3, sharex=True) +ax[0].plot(x.infections) +ax[0].set_ylim([1/5, 5]) +ax[1].plot(x.latent) +ax[2].plot(x.sampled, 'o') +for axis in ax[:-1]: + axis.set_yscale("log") +``` + +```{python} +sim_dat={"observed_hospitalizations": x.sampled} +constants = {"n_timepoints":len(x.sampled)-1} + +# from numpyro.infer import MCMC, NUTS +hospmodel.run( + num_warmup=1000, + num_samples=1000, + random_variables=sim_dat, + constants=constants, + rng_key=jax.random.PRNGKey(54), + mcmc_args=dict(progress_bar=False), + ) +``` + +```{python} +hospmodel.print_summary() +``` + +```{python} +from pyrenew.mcmcutils import spread_draws +samps = spread_draws(hospmodel.mcmc.get_samples(), [("Rt", "time")]) +``` + +```{python} +#| label: fig-sampled-rt +import numpy as np +import polars as pl +fig, ax = plt.subplots(figsize=[4, 5]) + +ax.plot(x[0]) +samp_ids = np.random.randint(size=25, low=0, high=999) +for samp_id in samp_ids: + sub_samps = samps.filter(pl.col("draw") == samp_id).sort(pl.col('time')) + ax.plot(sub_samps.select("time").to_numpy(), + sub_samps.select("Rt").to_numpy(), color="darkblue", alpha=0.1) +ax.set_ylim([0.4, 1/.4]) +ax.set_yticks([0.5, 1, 2]) +ax.set_yscale("log") +``` diff --git a/model/docs/pyrenew_demo_files/figure-commonmark/fig-hosp-output-1.png b/model/docs/pyrenew_demo_files/figure-commonmark/fig-hosp-output-1.png new file mode 100644 index 00000000..44a1a59a Binary files /dev/null and b/model/docs/pyrenew_demo_files/figure-commonmark/fig-hosp-output-1.png differ diff --git a/model/docs/pyrenew_demo_files/figure-commonmark/fig-randwalk-output-1.png b/model/docs/pyrenew_demo_files/figure-commonmark/fig-randwalk-output-1.png new file mode 100644 index 00000000..e3a6cc17 Binary files /dev/null and b/model/docs/pyrenew_demo_files/figure-commonmark/fig-randwalk-output-1.png differ diff --git a/model/docs/pyrenew_demo_files/figure-commonmark/fig-sampled-rt-output-1.png b/model/docs/pyrenew_demo_files/figure-commonmark/fig-sampled-rt-output-1.png new file mode 100644 index 00000000..78da8f98 Binary files /dev/null and b/model/docs/pyrenew_demo_files/figure-commonmark/fig-sampled-rt-output-1.png differ