From d93dcf4fcc4316ba814e598252df34e817ac9c01 Mon Sep 17 00:00:00 2001 From: Markus Date: Wed, 19 Sep 2018 23:35:37 -0300 Subject: [PATCH] comments Josh's suggested some comments during a review session --- Sim_CAD_Engine.ipynb | 439 ++++++++++++++++++++++--------------------- 1 file changed, 221 insertions(+), 218 deletions(-) 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" }