{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"provenance":[],"authorship_tag":"ABX9TyPp2cT7Su4ooXYC6TT0y7v0"},"kernelspec":{"name":"python3","display_name":"Python 3"},"language_info":{"name":"python"}},"cells":[{"cell_type":"markdown","source":["## NODE for solving the SIR dynamics of epidemics.\n","Want to predict the Infection evolution of a population, assuming epidemics is driven by the SIR model\n","\n","(Argimiro Arratia@2023 curso Neural Networks and ODE- Montevideo)\n"],"metadata":{"id":"OLpxsLTqgvQX"}},{"cell_type":"code","source":["import jax\n","import jax.numpy as jnp\n","from jax import grad, jit, vmap\n","from jax.experimental.ode import odeint\n","import matplotlib.pyplot as plt\n","\n","# Define the SIR model equations\n","def SIR(y, t, beta, gamma):\n","    S, I, R = y\n","    dSdt = -beta * S * I\n","    dIdt = beta * S * I - gamma * I\n","    dRdt = gamma * I\n","    return jnp.array([dSdt, dIdt, dRdt])\n","\n","##solutions S(t):1, I(t):2, R(t): 3\n","traject = 2 # 1,2, 3\n","# Define the loss function\n","def loss(params, y0, t, target_data):\n","    beta, gamma = params\n","    predicted_trajectory = odeint(SIR, y0, t, beta, gamma)[:, traject]  # We are interested in 'I' (Infectious) component\n","    return jnp.mean((predicted_trajectory - target_data) ** 2)\n","\n","# Use JAX's automatic differentiation to compute gradients\n","grad_loss = jit(grad(loss))\n","\n","# Define the Neural ODE function using odeint\n","def neural_ode(params, y0, t):\n","    beta, gamma = params\n","    return odeint(SIR, y0, t, beta, gamma)[:, traject]  # 2 Return 'I' (Infectious) component\n","\n","# Simulate synthetic epidemic data\n","beta_true = 0.5  ## Try 0.2\n","gamma_true = 0.1 ## 0.4\n","y0_true = jnp.array([0.99, 0.01, 0.0])  # Initial conditions: S, I, R\n","t = jnp.linspace(0, 100, 100)  # Time points\n","true_trajectory = odeint(SIR, y0_true, t, beta_true, gamma_true)[:, traject]  # True 'I' component\n","\n","# Neural ODE training\n","learning_rate = 0.01\n","params = jnp.array([0.2, 0.05])  # Initial guess for beta and gamma . Try perturbing: 0.01, 0.3\n","for _ in range(100):\n","    loss_value = loss(params, y0_true, t, true_trajectory)\n","    params -= learning_rate * grad_loss(params, y0_true, t, true_trajectory)\n","\n","# Predict using the trained Neural ODE model\n","predicted_trajectory = neural_ode(params, y0_true, t)\n","\n","# Plot the results\n","plt.plot(t, true_trajectory, label=\"True Infectious\")\n","plt.plot(t, predicted_trajectory, label=\"Predicted Infectious\")\n","plt.xlabel(\"Time\")\n","plt.ylabel(\"Infectious\")\n","plt.legend()\n","plt.show()\n"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":449},"id":"-C6lPW3Ggw66","executionInfo":{"status":"ok","timestamp":1693344524988,"user_tz":180,"elapsed":4392,"user":{"displayName":"Argimiro Arratia Quesada","userId":"14219514422153572380"}},"outputId":"c8309167-07a1-4927-cf7c-0e3d81f82742"},"execution_count":22,"outputs":[{"output_type":"display_data","data":{"text/plain":["<Figure size 640x480 with 1 Axes>"],"image/png":"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lSqTl5fH+PHjad68Of7+/lx//fUkJye7KOLG4YUXXsBkMvHggw/az+k5154jR45w66230rx5c3x8fOjevTvr16+3XzcMgylTphAVFYWPjw/x8fHs2bPHhRE3PBaLhSeffJK4uDh8fHxo27Ytzz77bKn1iPScq2/lypWMGjWKFi1aYDKZWLBgQanrVXmmJ0+e5JZbbiEwMJDg4GDuvPNOsrKy6iZgQ87ZvHnzDE9PT2POnDnGtm3bjLvvvtsIDg42kpOTXR1agzVs2DBj7ty5xtatW41NmzYZI0eONGJiYoysrCx7mXvvvdeIjo42li1bZqxfv944//zzjQsuuMCFUTdsa9euNWJjY40ePXoYDzzwgP28nnPtOHnypNG6dWtj7Nixxm+//Wbs37/fWLJkibF37157mRdeeMEICgoyFixYYGzevNm46qqrjLi4OCM3N9eFkTcszz//vNG8eXPj22+/NQ4cOGB8/vnnhr+/v/Haa6/Zy+g5V9+iRYuMf/zjH8ZXX31lAMbXX39d6npVnunw4cONnj17Gr/++qvx888/G+3atTNGjx5dJ/EquakF/fv3N8aPH28/tlgsRosWLYzp06e7MKrGJSUlxQCMn376yTAMw0hLSzM8PDyMzz//3F5mx44dBmCsWbPGVWE2WJmZmUb79u2NpUuXGoMHD7YnN3rOtWfSpEnGhRdeWOF1q9VqREZGGi+//LL9XFpamuHl5WV8+umnzgixUbjiiiuMO+64o9S56667zrjlllsMw9Bzrg1nJzdVeabbt283AGPdunX2Mt99951hMpmMI0eO1HqMapY6RwUFBWzYsIH4+Hj7ObPZTHx8PGvWrHFhZI1Leno6ACEhIQBs2LCBwsLCUs+9U6dOxMTE6LnXwPjx47niiitKPU/Qc65N33zzDf369eOGG24gPDyc3r178+6779qvHzhwgKSkpFLPOigoiAEDBuhZV8MFF1zAsmXL2L17NwCbN29m1apVjBgxAtBzrgtVeaZr1qwhODiYfv362cvEx8djNpv57bffaj2mJrdwZm1LTU3FYrEQERFR6nxERAQ7d+50UVSNi9Vq5cEHH2TQoEF069YNgKSkJDw9PQkODi5VNiIigqSkJBdE2XDNmzePjRs3sm7dujLX9Jxrz/79+3nrrbdISEjg8ccfZ926dUyYMAFPT0/GjBljf57l/S7Rs666xx57jIyMDDp16oSbmxsWi4Xnn3+eW265BUDPuQ5U5ZkmJSURHh5e6rq7uzshISF18tyV3Ei9N378eLZu3cqqVatcHUqjc/jwYR544AGWLl2Kt7e3q8Np1KxWK/369WPatGkA9O7dm61btzJ79mzGjBnj4ugaj88++4yPP/6YTz75hK5du7Jp0yYefPBBWrRooefchKhZ6hyFhobi5uZWZvRIcnIykZGRLoqq8bj//vv59ttvWb58Oa1atbKfj4yMpKCggLS0tFLl9dyrZ8OGDaSkpNCnTx/c3d1xd3fnp59+4vXXX8fd3Z2IiAg951oSFRVFly5dSp3r3LkziYmJAPbnqd8l5+aRRx7hscce469//Svdu3fntttuY+LEiUyfPh3Qc64LVXmmkZGRpKSklLpeVFTEyZMn6+S5K7k5R56envTt25dly5bZz1mtVpYtW8bAgQNdGFnDZhgG999/P19//TU//vgjcXFxpa737dsXDw+PUs99165dJCYm6rlXw2WXXcYff/zBpk2b7Fu/fv245ZZb7Pt6zrVj0KBBZaYz2L17N61btwYgLi6OyMjIUs86IyOD3377Tc+6GnJycjCbS/9pc3Nzw2q1AnrOdaEqz3TgwIGkpaWxYcMGe5kff/wRq9XKgAEDaj+oWu+i3ATNmzfP8PLyMj744ANj+/btxj333GMEBwcbSUlJrg6twbrvvvuMoKAgY8WKFcaxY8fsW05Ojr3Mvffea8TExBg//vijsX79emPgwIHGwIEDXRh143DmaCnD0HOuLWvXrjXc3d2N559/3tizZ4/x8ccfG76+vsZHH31kL/PCCy8YwcHBxn//+19jy5YtxtVXX60hytU0ZswYo2XLlvah4F999ZURGhpqPProo/Yyes7Vl5mZafz+++/G77//bgDGK6+8Yvz+++/GoUOHDMOo2jMdPny40bt3b+O3334zVq1aZbRv315Dweu7N954w4iJiTE8PT2N/v37G7/++qurQ2rQgHK3uXPn2svk5uYaf/vb34xmzZoZvr6+xrXXXmscO3bMdUE3EmcnN3rOted///uf0a1bN8PLy8vo1KmT8c4775S6brVajSeffNKIiIgwvLy8jMsuu8zYtWuXi6JtmDIyMowHHnjAiImJMby9vY02bdoY//jHP4z8/Hx7GT3n6lu+fHm5v5PHjBljGEbVnumJEyeM0aNHG/7+/kZgYKAxbtw4IzMzs07iNRnGGdM2ioiIiDRw6nMjIiIijYqSGxEREWlUlNyIiIhIo6LkRkRERBoVJTciIiLSqCi5ERERkUZFyY2IiIg0KkpuREREpFFRciMiDcrYsWO55pprXB2GiNRj7q4OQESkhMlkcnh96tSpvPbaa2hidRFxRMmNiNQbx44ds+/Pnz+fKVOmlFpJ29/fH39/f1eEJiINiJqlRKTeiIyMtG9BQUGYTKZS5/z9/cs0S11yySX8/e9/58EHH6RZs2ZERETw7rvvkp2dzbhx4wgICKBdu3Z89913pT5r69atjBgxAn9/fyIiIrjttttITU118jcWkbqg5EZEGrwPP/yQ0NBQ1q5dy9///nfuu+8+brjhBi644AI2btzI0KFDue2228jJyQEgLS2NSy+9lN69e7N+/XoWL15McnIyN954o4u/iYjUBiU3ItLg9ezZkyeeeIL27dszefJkvL29CQ0N5e6776Z9+/ZMmTKFEydOsGXLFgDefPNNevfuzbRp0+jUqRO9e/dmzpw5LF++nN27d7v424jIuVKfGxFp8Hr06GHfd3Nzo3nz5nTv3t1+LiIiAoCUlBQANm/ezPLly8vtv7Nv3z46dOhQxxGLSF1SciMiDZ6Hh0epY5PJVOpcySgsq9UKQFZWFqNGjeLFF18s815RUVF1GKmIOIOSGxFpcvr06cOXX35JbGws7u76NSjS2KjPjYg0OePHj+fkyZOMHj2adevWsW/fPpYsWcK4ceOwWCyuDk9EzpGSGxFpclq0aMHq1auxWCwMHTqU7t278+CDDxIcHIzZrF+LIg2dydBUnyIiItKI6J8oIiIi0qgouREREZFGRcmNiIiINCpKbkRERKRRUXIjIiIijYqSGxEREWlUlNyIiIhIo6LkRkRERBoVJTciIiLSqCi5ERERkUZFyY2IiIg0Kv8PQbJJRuwoLbkAAAAASUVORK5CYII=\n"},"metadata":{}}]},{"cell_type":"markdown","source":["Note: keep in mind that I am plotting time vs proportion of Infected (traject=2), (or Susceptible, Recover (traject=1,3)) and Not w.r.to num. population"],"metadata":{"id":"ALJvSTnEM91b"}}]}