diff --git a/Sim_CAD_Engine.ipynb b/Sim_CAD_Engine.ipynb
index 93e7aad..08a6f8e 100644
--- a/Sim_CAD_Engine.ipynb
+++ b/Sim_CAD_Engine.ipynb
@@ -2,7 +2,7 @@
"cells": [
{
"cell_type": "code",
- "execution_count": 455,
+ "execution_count": 491,
"metadata": {},
"outputs": [],
"source": [
@@ -24,7 +24,7 @@
},
{
"cell_type": "code",
- "execution_count": 456,
+ "execution_count": 492,
"metadata": {},
"outputs": [],
"source": [
@@ -44,7 +44,7 @@
},
{
"cell_type": "code",
- "execution_count": 457,
+ "execution_count": 493,
"metadata": {},
"outputs": [],
"source": [
@@ -67,7 +67,7 @@
},
{
"cell_type": "code",
- "execution_count": 458,
+ "execution_count": 494,
"metadata": {},
"outputs": [],
"source": [
@@ -75,11 +75,11 @@
"MINUTE = 60*SECOND\n",
"HOUR = 60*MINUTE\n",
"DAY = 24*HOUR\n",
- "DURATION_OF_UNIT_OF_TIME = 1*DAY\n",
+ "DURATION_OF_A_STEP = 1*DAY\n",
"\n",
"experiment_steps = 1000\n",
- "experiment_duration = experiment_steps * DURATION_OF_UNIT_OF_TIME\n",
- "time_array = np.arange(0,experiment_steps*DURATION_OF_UNIT_OF_TIME,DURATION_OF_UNIT_OF_TIME)"
+ "experiment_duration = experiment_steps * DURATION_OF_A_STEP\n",
+ "time_array = np.arange(0,experiment_steps*DURATION_OF_A_STEP,DURATION_OF_A_STEP)"
]
},
{
@@ -91,7 +91,7 @@
},
{
"cell_type": "code",
- "execution_count": 459,
+ "execution_count": 495,
"metadata": {},
"outputs": [],
"source": [
@@ -107,13 +107,15 @@
},
{
"cell_type": "code",
- "execution_count": 460,
+ "execution_count": 496,
"metadata": {},
"outputs": [],
"source": [
"states_names = ['a', 'b', 'c']\n",
"states_data = [[np.zeros(experiment_steps)]*len(states_names)]*monte_carlo_runs\n",
- "states_data = np.zeros((monte_carlo_runs, experiment_steps, len(states_names)), dtype=int)"
+ "states_data = np.zeros((monte_carlo_runs, experiment_steps, len(states_names)), dtype=int)\n",
+ "# states_data is a 3-dimensional array - montecarlo, time, states\n",
+ "# montecarlo[time[states]]"
]
},
{
@@ -125,7 +127,7 @@
},
{
"cell_type": "code",
- "execution_count": 461,
+ "execution_count": 497,
"metadata": {},
"outputs": [],
"source": [
@@ -144,7 +146,7 @@
},
{
"cell_type": "code",
- "execution_count": 462,
+ "execution_count": 498,
"metadata": {},
"outputs": [],
"source": [
@@ -161,7 +163,7 @@
},
{
"cell_type": "code",
- "execution_count": 463,
+ "execution_count": 499,
"metadata": {},
"outputs": [],
"source": [
@@ -177,10 +179,11 @@
},
{
"cell_type": "code",
- "execution_count": 464,
+ "execution_count": 500,
"metadata": {},
"outputs": [],
"source": [
+ "# state/mechanism matrix\n",
"def mech_one(_states_data, _time_array, _run, _step, args):\n",
"# print('mech 1')\n",
" _states_data[_run, _step, states_names.index('a')] += (1-mech_one_coef_A)*args[0]\n",
@@ -215,7 +218,7 @@
},
{
"cell_type": "code",
- "execution_count": 465,
+ "execution_count": 501,
"metadata": {},
"outputs": [],
"source": [
@@ -234,7 +237,7 @@
},
{
"cell_type": "code",
- "execution_count": 466,
+ "execution_count": 502,
"metadata": {},
"outputs": [],
"source": [
@@ -268,7 +271,7 @@
},
{
"cell_type": "code",
- "execution_count": 467,
+ "execution_count": 503,
"metadata": {},
"outputs": [],
"source": [
@@ -284,7 +287,7 @@
},
{
"cell_type": "code",
- "execution_count": 468,
+ "execution_count": 504,
"metadata": {},
"outputs": [],
"source": [
@@ -301,7 +304,7 @@
},
{
"cell_type": "code",
- "execution_count": 469,
+ "execution_count": 505,
"metadata": {},
"outputs": [],
"source": [
@@ -324,7 +327,7 @@
},
{
"cell_type": "code",
- "execution_count": 470,
+ "execution_count": 506,
"metadata": {},
"outputs": [
{
@@ -348,7 +351,7 @@
" states_data = b(_states_data=states_data,\n",
" _time_array=time_array, \n",
" _run=i, \n",
- " _step=t)"
+ " _step=t) #behaviors have access to exogenous data @ step-1, not @ step"
]
},
{
@@ -360,7 +363,7 @@
},
{
"cell_type": "code",
- "execution_count": 471,
+ "execution_count": 507,
"metadata": {},
"outputs": [
{
@@ -400,177 +403,177 @@
" \n",
"
\n",
" | 86400 | \n",
- " 15 | \n",
+ " -7 | \n",
" 0 | \n",
- " 316 | \n",
+ " 293 | \n",
"
\n",
" \n",
" | 172800 | \n",
- " -29 | \n",
+ " -20 | \n",
" 0 | \n",
- " 272 | \n",
+ " 280 | \n",
"
\n",
" \n",
" | 259200 | \n",
- " 28 | \n",
- " 3 | \n",
- " 332 | \n",
+ " -86 | \n",
+ " 0 | \n",
+ " 214 | \n",
"
\n",
" \n",
" | 345600 | \n",
- " 19 | \n",
- " 0 | \n",
- " 323 | \n",
+ " -67 | \n",
+ " 1 | \n",
+ " 234 | \n",
"
\n",
" \n",
" | 432000 | \n",
- " 26 | \n",
- " 0 | \n",
- " 331 | \n",
+ " -67 | \n",
+ " 1 | \n",
+ " 233 | \n",
"
\n",
" \n",
" | 518400 | \n",
- " 56 | \n",
+ " -91 | \n",
" 1 | \n",
- " 363 | \n",
+ " 209 | \n",
"
\n",
" \n",
" | 604800 | \n",
- " 20 | \n",
+ " -99 | \n",
" 1 | \n",
- " 327 | \n",
+ " 201 | \n",
"
\n",
" \n",
" | 691200 | \n",
- " 40 | \n",
- " 2 | \n",
- " 349 | \n",
+ " -93 | \n",
+ " 1 | \n",
+ " 207 | \n",
"
\n",
" \n",
" | 777600 | \n",
- " 22 | \n",
- " 0 | \n",
- " 331 | \n",
+ " -104 | \n",
+ " 1 | \n",
+ " 196 | \n",
"
\n",
" \n",
" | 864000 | \n",
- " -23 | \n",
- " 0 | \n",
- " 286 | \n",
+ " -101 | \n",
+ " 1 | \n",
+ " 199 | \n",
"
\n",
" \n",
" | 950400 | \n",
- " -52 | \n",
- " 0 | \n",
- " 257 | \n",
+ " -86 | \n",
+ " 1 | \n",
+ " 214 | \n",
"
\n",
" \n",
" | 1036800 | \n",
- " -33 | \n",
- " 0 | \n",
- " 276 | \n",
+ " -92 | \n",
+ " 1 | \n",
+ " 208 | \n",
"
\n",
" \n",
" | 1123200 | \n",
- " -33 | \n",
- " 0 | \n",
- " 274 | \n",
+ " -92 | \n",
+ " 1 | \n",
+ " 210 | \n",
"
\n",
" \n",
" | 1209600 | \n",
- " -21 | \n",
- " 0 | \n",
- " 286 | \n",
- "
\n",
- " \n",
- " | 1296000 | \n",
- " -15 | \n",
- " 0 | \n",
- " 292 | \n",
- "
\n",
- " \n",
- " | 1382400 | \n",
- " -20 | \n",
- " 0 | \n",
- " 287 | \n",
- "
\n",
- " \n",
- " | 1468800 | \n",
- " -1 | \n",
- " 0 | \n",
- " 306 | \n",
- "
\n",
- " \n",
- " | 1555200 | \n",
- " 9 | \n",
- " 0 | \n",
- " 317 | \n",
- "
\n",
- " \n",
- " | 1641600 | \n",
- " 2 | \n",
- " 0 | \n",
- " 310 | \n",
- "
\n",
- " \n",
- " | 1728000 | \n",
- " 6 | \n",
- " 0 | \n",
- " 315 | \n",
- "
\n",
- " \n",
- " | 1814400 | \n",
- " -66 | \n",
- " 0 | \n",
- " 243 | \n",
- "
\n",
- " \n",
- " | 1900800 | \n",
- " -106 | \n",
- " 0 | \n",
+ " -99 | \n",
+ " 1 | \n",
" 203 | \n",
"
\n",
" \n",
+ " | 1296000 | \n",
+ " -122 | \n",
+ " 1 | \n",
+ " 180 | \n",
+ "
\n",
+ " \n",
+ " | 1382400 | \n",
+ " -135 | \n",
+ " 1 | \n",
+ " 167 | \n",
+ "
\n",
+ " \n",
+ " | 1468800 | \n",
+ " -161 | \n",
+ " 1 | \n",
+ " 141 | \n",
+ "
\n",
+ " \n",
+ " | 1555200 | \n",
+ " -161 | \n",
+ " 1 | \n",
+ " 141 | \n",
+ "
\n",
+ " \n",
+ " | 1641600 | \n",
+ " -187 | \n",
+ " 1 | \n",
+ " 115 | \n",
+ "
\n",
+ " \n",
+ " | 1728000 | \n",
+ " -195 | \n",
+ " 1 | \n",
+ " 107 | \n",
+ "
\n",
+ " \n",
+ " | 1814400 | \n",
+ " -201 | \n",
+ " 1 | \n",
+ " 101 | \n",
+ "
\n",
+ " \n",
+ " | 1900800 | \n",
+ " -189 | \n",
+ " 1 | \n",
+ " 113 | \n",
+ "
\n",
+ " \n",
" | 1987200 | \n",
- " -119 | \n",
- " 0 | \n",
- " 190 | \n",
+ " -189 | \n",
+ " 1 | \n",
+ " 112 | \n",
"
\n",
" \n",
" | 2073600 | \n",
- " -117 | \n",
- " 0 | \n",
- " 192 | \n",
+ " -189 | \n",
+ " 1 | \n",
+ " 111 | \n",
"
\n",
" \n",
" | 2160000 | \n",
- " -145 | \n",
- " 0 | \n",
- " 164 | \n",
+ " -191 | \n",
+ " 1 | \n",
+ " 109 | \n",
"
\n",
" \n",
" | 2246400 | \n",
- " -152 | \n",
- " 0 | \n",
- " 157 | \n",
+ " -200 | \n",
+ " 1 | \n",
+ " 100 | \n",
"
\n",
" \n",
" | 2332800 | \n",
- " -164 | \n",
- " 0 | \n",
- " 145 | \n",
+ " -206 | \n",
+ " 1 | \n",
+ " 94 | \n",
"
\n",
" \n",
" | 2419200 | \n",
- " -166 | \n",
- " 0 | \n",
- " 143 | \n",
+ " -206 | \n",
+ " 1 | \n",
+ " 94 | \n",
"
\n",
" \n",
" | 2505600 | \n",
- " -168 | \n",
- " 0 | \n",
- " 141 | \n",
+ " -218 | \n",
+ " 1 | \n",
+ " 82 | \n",
"
\n",
" \n",
" | ... | \n",
@@ -582,181 +585,181 @@
"
\n",
" | 99 | \n",
" 83808000 | \n",
- " -302 | \n",
+ " -386 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 83894400 | \n",
- " -302 | \n",
+ " -386 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 83980800 | \n",
- " -302 | \n",
+ " -386 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 84067200 | \n",
- " -302 | \n",
+ " -386 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 84153600 | \n",
- " -302 | \n",
+ " -386 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 84240000 | \n",
- " -302 | \n",
+ " -386 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 84326400 | \n",
- " -302 | \n",
+ " -386 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 84412800 | \n",
- " -302 | \n",
+ " -386 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 84499200 | \n",
- " -302 | \n",
+ " -386 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 84585600 | \n",
- " -302 | \n",
+ " -386 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 84672000 | \n",
- " -302 | \n",
+ " -386 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 84758400 | \n",
- " -302 | \n",
+ " -386 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 84844800 | \n",
- " -302 | \n",
+ " -386 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 84931200 | \n",
- " -302 | \n",
+ " -386 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 85017600 | \n",
- " -302 | \n",
+ " -386 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 85104000 | \n",
- " -302 | \n",
+ " -386 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 85190400 | \n",
- " -302 | \n",
+ " -386 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 85276800 | \n",
- " -302 | \n",
+ " -386 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 85363200 | \n",
- " -302 | \n",
+ " -386 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 85449600 | \n",
- " -302 | \n",
+ " -386 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 85536000 | \n",
- " -302 | \n",
+ " -386 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 85622400 | \n",
- " -302 | \n",
+ " -386 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 85708800 | \n",
- " -302 | \n",
+ " -386 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 85795200 | \n",
- " -302 | \n",
+ " -386 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 85881600 | \n",
- " -302 | \n",
+ " -386 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 85968000 | \n",
- " -302 | \n",
+ " -386 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 86054400 | \n",
- " -302 | \n",
+ " -386 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 86140800 | \n",
- " -302 | \n",
+ " -386 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 86227200 | \n",
- " -302 | \n",
+ " -386 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" | 86313600 | \n",
- " -302 | \n",
+ " -386 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
@@ -768,71 +771,71 @@
"text/plain": [
" a b c\n",
"0 0 0 0 300\n",
- " 86400 15 0 316\n",
- " 172800 -29 0 272\n",
- " 259200 28 3 332\n",
- " 345600 19 0 323\n",
- " 432000 26 0 331\n",
- " 518400 56 1 363\n",
- " 604800 20 1 327\n",
- " 691200 40 2 349\n",
- " 777600 22 0 331\n",
- " 864000 -23 0 286\n",
- " 950400 -52 0 257\n",
- " 1036800 -33 0 276\n",
- " 1123200 -33 0 274\n",
- " 1209600 -21 0 286\n",
- " 1296000 -15 0 292\n",
- " 1382400 -20 0 287\n",
- " 1468800 -1 0 306\n",
- " 1555200 9 0 317\n",
- " 1641600 2 0 310\n",
- " 1728000 6 0 315\n",
- " 1814400 -66 0 243\n",
- " 1900800 -106 0 203\n",
- " 1987200 -119 0 190\n",
- " 2073600 -117 0 192\n",
- " 2160000 -145 0 164\n",
- " 2246400 -152 0 157\n",
- " 2332800 -164 0 145\n",
- " 2419200 -166 0 143\n",
- " 2505600 -168 0 141\n",
+ " 86400 -7 0 293\n",
+ " 172800 -20 0 280\n",
+ " 259200 -86 0 214\n",
+ " 345600 -67 1 234\n",
+ " 432000 -67 1 233\n",
+ " 518400 -91 1 209\n",
+ " 604800 -99 1 201\n",
+ " 691200 -93 1 207\n",
+ " 777600 -104 1 196\n",
+ " 864000 -101 1 199\n",
+ " 950400 -86 1 214\n",
+ " 1036800 -92 1 208\n",
+ " 1123200 -92 1 210\n",
+ " 1209600 -99 1 203\n",
+ " 1296000 -122 1 180\n",
+ " 1382400 -135 1 167\n",
+ " 1468800 -161 1 141\n",
+ " 1555200 -161 1 141\n",
+ " 1641600 -187 1 115\n",
+ " 1728000 -195 1 107\n",
+ " 1814400 -201 1 101\n",
+ " 1900800 -189 1 113\n",
+ " 1987200 -189 1 112\n",
+ " 2073600 -189 1 111\n",
+ " 2160000 -191 1 109\n",
+ " 2246400 -200 1 100\n",
+ " 2332800 -206 1 94\n",
+ " 2419200 -206 1 94\n",
+ " 2505600 -218 1 82\n",
"... ... .. ...\n",
- "99 83808000 -302 0 0\n",
- " 83894400 -302 0 0\n",
- " 83980800 -302 0 0\n",
- " 84067200 -302 0 0\n",
- " 84153600 -302 0 0\n",
- " 84240000 -302 0 0\n",
- " 84326400 -302 0 0\n",
- " 84412800 -302 0 0\n",
- " 84499200 -302 0 0\n",
- " 84585600 -302 0 0\n",
- " 84672000 -302 0 0\n",
- " 84758400 -302 0 0\n",
- " 84844800 -302 0 0\n",
- " 84931200 -302 0 0\n",
- " 85017600 -302 0 0\n",
- " 85104000 -302 0 0\n",
- " 85190400 -302 0 0\n",
- " 85276800 -302 0 0\n",
- " 85363200 -302 0 0\n",
- " 85449600 -302 0 0\n",
- " 85536000 -302 0 0\n",
- " 85622400 -302 0 0\n",
- " 85708800 -302 0 0\n",
- " 85795200 -302 0 0\n",
- " 85881600 -302 0 0\n",
- " 85968000 -302 0 0\n",
- " 86054400 -302 0 0\n",
- " 86140800 -302 0 0\n",
- " 86227200 -302 0 0\n",
- " 86313600 -302 0 0\n",
+ "99 83808000 -386 0 0\n",
+ " 83894400 -386 0 0\n",
+ " 83980800 -386 0 0\n",
+ " 84067200 -386 0 0\n",
+ " 84153600 -386 0 0\n",
+ " 84240000 -386 0 0\n",
+ " 84326400 -386 0 0\n",
+ " 84412800 -386 0 0\n",
+ " 84499200 -386 0 0\n",
+ " 84585600 -386 0 0\n",
+ " 84672000 -386 0 0\n",
+ " 84758400 -386 0 0\n",
+ " 84844800 -386 0 0\n",
+ " 84931200 -386 0 0\n",
+ " 85017600 -386 0 0\n",
+ " 85104000 -386 0 0\n",
+ " 85190400 -386 0 0\n",
+ " 85276800 -386 0 0\n",
+ " 85363200 -386 0 0\n",
+ " 85449600 -386 0 0\n",
+ " 85536000 -386 0 0\n",
+ " 85622400 -386 0 0\n",
+ " 85708800 -386 0 0\n",
+ " 85795200 -386 0 0\n",
+ " 85881600 -386 0 0\n",
+ " 85968000 -386 0 0\n",
+ " 86054400 -386 0 0\n",
+ " 86140800 -386 0 0\n",
+ " 86227200 -386 0 0\n",
+ " 86313600 -386 0 0\n",
"\n",
"[100000 rows x 3 columns]"
]
},
- "execution_count": 471,
+ "execution_count": 507,
"metadata": {},
"output_type": "execute_result"
}