cadCAD/demos/susceptible_infected_recove...

663 lines
75 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# SIR Model for Viral Marketing"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"from decimal import Decimal\n",
"from datetime import timedelta\n",
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"%matplotlib inline\n",
"import pandas as pd\n",
"from tabulate import tabulate\n",
"\n",
"from __future__ import print_function\n",
"from ipywidgets import interact, interactive, fixed, interact_manual\n",
"import ipywidgets as widgets\n",
"from IPython.display import clear_output\n",
"\n",
"from SimCAD.configuration import Configuration\n",
"from SimCAD.configuration.utils import exo_update_per_ts, proc_trigger, bound_norm_random, \\\n",
" ep_time_step\n",
"from SimCAD.engine import ExecutionMode, ExecutionContext, Executor"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"sim_config = {\n",
" 'N': 1,\n",
" 'T': range(100)\n",
"}\n",
"\n",
"seed = {}\n",
"env_processes = {}\n",
"initial_condition = {\n",
" 'Budget': float(50),\n",
" 'Ps': float(1000),\n",
" 'Pi': float(10),\n",
" 'Pr': float(0),\n",
" 'beta': float(0.05), # contact rate between S and I\n",
" 'gamma': float(0.20), # recover rate from I to R\n",
" 'timestamp': '2019-01-01 00:00:00'\n",
"}\n",
"\n",
"# Parameters\n",
"epsilon = 0.03\n",
"subscription_fee = 1.0\n",
"incentive_cost = 10.0\n",
"stickiness_cost = 5.0\n",
"delta_beta = 0.1\n",
"delta_gamma = 0.1\n",
"incentive_degredation_rate = 0.02\n",
"stickiness_degredation_rate = 0.02\n",
"\n",
"ts_format = '%Y-%m-%d %H:%M:%S'\n",
"t_delta = timedelta(days=0, minutes=0, seconds=1)\n",
"def time_model(step, sL, s, _input):\n",
" y = 'timestamp'\n",
" x = ep_time_step(s, dt_str=s['timestamp'], fromat_str=ts_format, _timedelta=t_delta)\n",
" return (y, x)\n",
"\n",
"exogenous_states = exo_update_per_ts(\n",
" {\n",
" 'timestamp': time_model\n",
" }\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"# Behaviors choose actions depending on states\n",
"# 1) increase contact rate, beta (create incentive to spread)\n",
"# 2) decrease recover rate, gamma (improve stickiness)\n",
"\n",
"def add_incentive(step, sL, s):\n",
" incentive_allocation_as_share_of_budget = 0.02\n",
" target_beta = .1\n",
" potential_spend = s['Budget']*incentive_allocation_as_share_of_budget\n",
" \n",
" potential_delta = target_beta-s['beta']\n",
" \n",
" cost_of_potential_delta = potential_delta * incentive_cost * s['Ps']\n",
" if cost_of_potential_delta <= potential_spend:\n",
" delta = potential_delta\n",
" else:\n",
" delta = potential_spend/(incentive_cost * s['Ps'])\n",
"\n",
" return {'delta': delta}\n",
"\n",
"def add_stickiness(step, sL, s):\n",
" stickiness_allocation_as_share_of_budget = 0.08\n",
" target_gamma = .1\n",
" potential_spend = s['Budget']*stickiness_allocation_as_share_of_budget\n",
" \n",
" potential_delta = s['gamma']-target_gamma\n",
" \n",
" cost_of_potential_delta = potential_delta * stickiness_cost * s['Pi']\n",
" if cost_of_potential_delta <= potential_spend:\n",
" delta = potential_delta\n",
" else:\n",
" delta = potential_spend/(stickiness_cost * s['Pi'])\n",
" \n",
" \n",
" return {'delta': delta}\n",
"\n",
"# def add_stickiness(step, sL, s):\n",
"# delta = 0.0\n",
"# potential_delta = s['gamma'] * delta_gamma\n",
"# if (s['Pr'] > 2 * s['Pi']) and s['Budget'] > \\\n",
"# abs(potential_delta * stickiness_cost * s['Pi']):\n",
"# delta = potential_delta\n",
"# return {'delta': delta}\n",
"\n",
"# def add_incentive(step, sL, s):\n",
"# delta = 0.0\n",
"# potential_delta = s['beta'] * delta_beta\n",
"# if (s['Ps'] > 3 * s['Pi']) and s['Budget'] > \\\n",
"# abs(potential_delta * incentive_cost * s['Ps']):\n",
"# delta = potential_delta\n",
"# return {'delta': delta}\n",
"\n",
"def dummy_behavior(step, sL, s):\n",
" return {'delta': 0.0}\n",
"\n",
"# Mechanisms incur cost to modify beta or gamma\n",
"# 1) incur cost to create incentive to spread\n",
"# 2) incur cost to improve stickiness\n",
"\n",
"def incur_incentive_cost(step, sL, s, _input):\n",
" y = 'Budget'\n",
" x = s['Budget'] - abs(_input['delta'] * s['Ps'] * incentive_cost)\n",
" return (y, x)\n",
"\n",
"def incur_stickiness_cost(step, sL, s, _input):\n",
" y = 'Budget'\n",
" x = s['Budget'] - abs(_input['delta'] * s['Pi'] * stickiness_cost)\n",
" return (y, x)\n",
"\n",
"def update_beta(step, sL, s, _input):\n",
" y = 'beta'\n",
" x = s['beta'] + _input['delta']\n",
" return (y, x)\n",
"\n",
"def update_gamma(step, sL, s, _input):\n",
" y = 'gamma'\n",
" x = s['gamma'] - _input['delta']\n",
" return (y, x)\n",
"\n",
"def S_model(step, sL, s, _input):\n",
" y = 'Ps'\n",
" x = s['Ps'] - s['beta'] * s['Ps']\n",
" return (y, x)\n",
"\n",
"def I_model(step, sL, s, _input):\n",
" y = 'Pi'\n",
" x = s['Pi'] + s['beta'] * s['Ps'] - s['gamma'] * s['Pi']\n",
" return (y, x)\n",
" \n",
"def R_model(step, sL, s, _input):\n",
" y = 'Pr'\n",
" x = s['Pr'] + s['gamma'] * s['Pi']\n",
" return (y, x)\n",
"\n",
"def collect_subscription(step, sL, s, _input):\n",
" y = 'Budget'\n",
" x = s['Budget'] + s['Pi'] * epsilon * subscription_fee\n",
" return (y, x)\n",
"\n",
"def incentive_degrade(step, sL, s, _input):\n",
" y = 'beta'\n",
" x = s['beta']*(1-incentive_degredation_rate)\n",
" return (y, x)\n",
"\n",
"def stickiness_degrade(step, sL, s, _input):\n",
" y = 'gamma'\n",
" x = (s['gamma']+stickiness_degredation_rate)/(1+stickiness_degredation_rate)\n",
" return (y, x)\n",
"\n",
"mechanisms = {\n",
" 'spread': {\n",
" 'behaviors': {\n",
" 'dummy': dummy_behavior\n",
" },\n",
" 'states': {\n",
" 'Ps': S_model,\n",
" 'Pi': I_model,\n",
" 'Pr': R_model,\n",
" 'Budget': collect_subscription,\n",
" 'beta': incentive_degrade,\n",
" 'gamma': stickiness_degrade \n",
" } \n",
" },\n",
" 'create_incentive': {\n",
" 'behaviors': {\n",
" 'action': add_incentive,\n",
" },\n",
" 'states': {\n",
" 'beta': update_beta,\n",
" 'Budget': incur_incentive_cost,\n",
" }\n",
" },\n",
" 'improve_stickiness': {\n",
" 'behaviors': {\n",
" 'action': add_stickiness\n",
" },\n",
" 'states': {\n",
" 'gamma': update_gamma,\n",
" 'Budget': incur_stickiness_cost,\n",
" }\n",
" }\n",
"}"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "bd3c723a923c4b7ca43f2ff0539df4fa",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"interactive(children=(FloatSlider(value=0.05, description='beta', max=1.0, step=0.01), FloatSlider(value=0.2, …"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<function __main__.widget_handler(beta=0.05, gamma=0.2, subscription_fee=1.0, incentive_cost=10.0, stickiness_cost=5.0)>"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def widget_handler(beta=float(0.05), gamma=float(0.20),\n",
" subscription_fee=float(1.0), \n",
" incentive_cost=float(10.0), \n",
" stickiness_cost=float(5.0)):\n",
" initial_condition['beta'] = beta\n",
" initial_condition['gamma'] = gamma\n",
" subscription_fee = subscription_fee\n",
" incentive_cost = incentive_cost\n",
" stickiness_cost = stickiness_cost\n",
" \n",
" config = Configuration(\n",
" sim_config=sim_config,\n",
" state_dict=initial_condition,\n",
" seed=seed,\n",
" exogenous_states=exogenous_states,\n",
" env_processes=env_processes,\n",
" mechanisms=mechanisms)\n",
"\n",
" exec_mode = ExecutionMode()\n",
" exec_context = ExecutionContext(exec_mode.single_proc)\n",
" executor = Executor(exec_context, [config]) # Pass the configuration object inside an array\n",
" raw_result, tensor = executor.main()\n",
" df = pd.DataFrame(raw_result)\n",
" df['timestamp'] = pd.to_datetime(df['timestamp'], format=ts_format)\n",
" \n",
" fig = plt.figure(figsize=(7, 14))\n",
" \n",
" sir = fig.add_subplot(3, 1, 1)\n",
" sir.plot('timestamp', 'Ps', data=df, marker='', color='C0', linewidth=2)\n",
" sir.plot('timestamp', 'Pi', data=df, marker='', color='orange', linewidth=2)\n",
" sir.plot('timestamp', 'Pr', data=df, marker='', color='green', linewidth=2)\n",
" sir.legend()\n",
" \n",
" beta_gamma = fig.add_subplot(3, 1, 2)\n",
" beta_gamma.plot('timestamp', 'beta', data=df, marker='', color='C0', linewidth=2)\n",
" beta_gamma.plot('timestamp', 'gamma', data=df, marker='', color='orange', linewidth=2)\n",
" beta_gamma.legend()\n",
" \n",
" budget_pi = fig.add_subplot(3, 1, 3)\n",
" budget_pi.plot('timestamp', 'Budget', data=df, marker='', color='C0', linewidth=2)\n",
" budget_pi.plot('timestamp', 'Pi', data=df, marker='', color='orange', linewidth=2)\n",
" budget_pi.legend()\n",
" \n",
" plt.show()\n",
" \n",
"sliders = interact_manual(widget_handler, \n",
" beta=(0, 1, 0.01),\n",
" gamma=(0, 1, 0.01),\n",
" subscription_fee=(0, 10, 0.1),\n",
" incentive_cost=(0, 20, 0.5),\n",
" stickiness_cost=(0, 20, 0.5)\n",
" )\n",
"sliders"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"single_proc: [<SimCAD.configuration.Configuration object at 0x11da3a550>]\n"
]
}
],
"source": [
"config = Configuration(\n",
" sim_config=sim_config,\n",
" state_dict=initial_condition,\n",
" seed=seed,\n",
" exogenous_states=exogenous_states,\n",
" env_processes=env_processes,\n",
" mechanisms=mechanisms)\n",
"\n",
"from SimCAD.engine import ExecutionMode, ExecutionContext, Executor\n",
"exec_mode = ExecutionMode()\n",
"exec_context = ExecutionContext(exec_mode.single_proc)\n",
"executor = Executor(exec_context, [config]) # Pass the configuration object inside an array\n",
"raw_result, tensor = executor.main()\n",
"df = pd.DataFrame(raw_result)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Ps</th>\n",
" <th>Pi</th>\n",
" <th>Pr</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>301.000000</td>\n",
" <td>301.000000</td>\n",
" <td>301.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>268.079410</td>\n",
" <td>29.445521</td>\n",
" <td>712.475069</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>217.194023</td>\n",
" <td>39.368502</td>\n",
" <td>253.652439</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>83.804634</td>\n",
" <td>1.557923</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>111.975410</td>\n",
" <td>3.720937</td>\n",
" <td>620.263940</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>175.956380</td>\n",
" <td>10.031973</td>\n",
" <td>823.547145</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>351.208484</td>\n",
" <td>36.182324</td>\n",
" <td>894.303654</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>1000.000000</td>\n",
" <td>142.103408</td>\n",
" <td>924.637443</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Ps Pi Pr\n",
"count 301.000000 301.000000 301.000000\n",
"mean 268.079410 29.445521 712.475069\n",
"std 217.194023 39.368502 253.652439\n",
"min 83.804634 1.557923 0.000000\n",
"25% 111.975410 3.720937 620.263940\n",
"50% 175.956380 10.031973 823.547145\n",
"75% 351.208484 36.182324 894.303654\n",
"max 1000.000000 142.103408 924.637443"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"df.plot('timestamp', ['Ps','Pi', 'Pr'])\n",
"df.plot('timestamp', ['beta', 'gamma'])\n",
"df.plot('timestamp', ['Budget', 'Pi'])\n",
"df[['Ps','Pi', 'Pr']].describe()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Budget</th>\n",
" <th>Pi</th>\n",
" <th>Pr</th>\n",
" <th>Ps</th>\n",
" <th>beta</th>\n",
" <th>gamma</th>\n",
" <th>mech_step</th>\n",
" <th>run</th>\n",
" <th>time_step</th>\n",
" <th>timestamp</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>50.00000</td>\n",
" <td>10.0000</td>\n",
" <td>0.0000</td>\n",
" <td>1000.0000</td>\n",
" <td>0.050000</td>\n",
" <td>0.200000</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>2019-01-01 00:00:00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>50.30000</td>\n",
" <td>58.0000</td>\n",
" <td>2.0000</td>\n",
" <td>950.0000</td>\n",
" <td>0.049000</td>\n",
" <td>0.215686</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2019-01-01 00:00:01</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>49.29400</td>\n",
" <td>58.0000</td>\n",
" <td>2.0000</td>\n",
" <td>950.0000</td>\n",
" <td>0.049106</td>\n",
" <td>0.215686</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2019-01-01 00:00:01</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>45.35048</td>\n",
" <td>58.0000</td>\n",
" <td>2.0000</td>\n",
" <td>950.0000</td>\n",
" <td>0.049106</td>\n",
" <td>0.202088</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2019-01-01 00:00:01</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>47.09048</td>\n",
" <td>92.9295</td>\n",
" <td>13.7211</td>\n",
" <td>903.3494</td>\n",
" <td>0.048124</td>\n",
" <td>0.217733</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>2019-01-01 00:00:02</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Budget Pi Pr Ps beta gamma mech_step run \\\n",
"0 50.00000 10.0000 0.0000 1000.0000 0.050000 0.200000 0 1 \n",
"1 50.30000 58.0000 2.0000 950.0000 0.049000 0.215686 1 1 \n",
"2 49.29400 58.0000 2.0000 950.0000 0.049106 0.215686 2 1 \n",
"3 45.35048 58.0000 2.0000 950.0000 0.049106 0.202088 3 1 \n",
"4 47.09048 92.9295 13.7211 903.3494 0.048124 0.217733 1 1 \n",
"\n",
" time_step timestamp \n",
"0 0 2019-01-01 00:00:00 \n",
"1 1 2019-01-01 00:00:01 \n",
"2 1 2019-01-01 00:00:01 \n",
"3 1 2019-01-01 00:00:01 \n",
"4 2 2019-01-01 00:00:02 "
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.head()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.0"
}
},
"nbformat": 4,
"nbformat_minor": 2
}