├── .gitignore ├── causal_simulation_code ├── .vscode │ └── settings.json ├── __init__.py ├── Sine_Base.py ├── Polynomial_Base.py ├── Simulation.py └── GP_Base.py ├── examples ├── Untitled.ipynb └── sample_code.ipynb └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | __pycache__ 3 | .ipynb_checkpoints 4 | -------------------------------------------------------------------------------- /causal_simulation_code/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "python.pythonPath": "/Users/jeroen/Applications/anaconda3/envs/RL1/bin/python" 3 | } -------------------------------------------------------------------------------- /causal_simulation_code/__init__.py: -------------------------------------------------------------------------------- 1 | import sys 2 | sys.path.append('/Users/jeroen/Documents/PhD/research/self/seq_UM/master-code/cs-um/causal-simulation-code') 3 | 4 | from .Sine_Base import Sine_Base 5 | from .Polynomial_Base import Polynomial_Base 6 | from .Simulation import Simulation 7 | from .GP_Base import GP_Base 8 | 9 | -------------------------------------------------------------------------------- /causal_simulation_code/Sine_Base.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import math 3 | 4 | class Sine_Base: #single cause limit 5 | def __init__(self, D=2, f=1, G=np.full(2, .5)): 6 | self.D = D 7 | self.f = f 8 | 9 | if len(G) != D: 10 | raise ValueError("Displacement vector G does not match dimension count D!") 11 | 12 | self.G = G 13 | 14 | def eval(self, x, d, C): 15 | interaction = 1 16 | 17 | for i in range(self.D): 18 | interaction *= (x[i]+ abs(C - 1) * self.G[i]) 19 | 20 | return (math.sin((self.f) * interaction + d) + 1) / 2 21 | -------------------------------------------------------------------------------- /causal_simulation_code/Polynomial_Base.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import math 3 | 4 | class Polynomial_Base: 5 | def __init__(self, D=2, q=5, K=np.ones(6)): 6 | self.D = D 7 | self.q = q 8 | self.U = self.u() 9 | 10 | if len(K) != self.q + 1: 11 | raise ValueError("Length of coefficient vector K does not match with maximum degree n!") 12 | 13 | self.K = K 14 | 15 | def u(self): 16 | out = np.empty((self.q + 1, self.D)) 17 | for i in range(self.q + 1): 18 | out[i] = np.random.multinomial(i, np.ones(self.D)/self.D, size=1)[0] 19 | return out 20 | 21 | def h(self, d): 22 | return math.sin(d) * 3 23 | 24 | def logistic(self, x): 25 | return (1 + np.exp(-x)) ** -1 26 | 27 | def eval(self, x, d, C): 28 | val = np.ones(self.q + 1) 29 | for i in range(self.q + 1): 30 | for j in range(self.D): 31 | val[i] *= x[j] ** self.U[i][j] 32 | return self.logistic(np.dot(np.sum([np.full(self.q + 1, self.h(d)), self.K], axis=0), val)) -------------------------------------------------------------------------------- /examples/Untitled.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 2, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "%reload_ext autoreload\n", 10 | "%autoreload 2\n", 11 | "\n", 12 | "import sys\n", 13 | "sys.path.insert(0, '..')\n", 14 | "\n", 15 | "from causal_simulation_code import GP_Base\n", 16 | "\n", 17 | "from sklearn.gaussian_process.kernels import RBF" 18 | ] 19 | }, 20 | { 21 | "cell_type": "code", 22 | "execution_count": 9, 23 | "metadata": {}, 24 | "outputs": [], 25 | "source": [ 26 | "g = GP_Base(D=10, C_count=3)\n", 27 | "data = g.sample(n=2000, kernels=[\n", 28 | " RBF(length_scale=1), \n", 29 | " RBF(length_scale=.4), \n", 30 | " RBF(length_scale=.2)], include_ground_truth=False)" 31 | ] 32 | }, 33 | { 34 | "cell_type": "code", 35 | "execution_count": 10, 36 | "metadata": {}, 37 | "outputs": [ 38 | { 39 | "data": { 40 | "text/plain": [ 41 | "(2000, 12)" 42 | ] 43 | }, 44 | "execution_count": 10, 45 | "metadata": {}, 46 | "output_type": "execute_result" 47 | } 48 | ], 49 | "source": [ 50 | "data.shape" 51 | ] 52 | }, 53 | { 54 | "cell_type": "code", 55 | "execution_count": null, 56 | "metadata": {}, 57 | "outputs": [], 58 | "source": [] 59 | } 60 | ], 61 | "metadata": { 62 | "kernelspec": { 63 | "display_name": "Python (cs-um)", 64 | "language": "python", 65 | "name": "cs-um" 66 | }, 67 | "language_info": { 68 | "codemirror_mode": { 69 | "name": "ipython", 70 | "version": 3 71 | }, 72 | "file_extension": ".py", 73 | "mimetype": "text/x-python", 74 | "name": "python", 75 | "nbconvert_exporter": "python", 76 | "pygments_lexer": "ipython3", 77 | "version": "3.7.3" 78 | } 79 | }, 80 | "nbformat": 4, 81 | "nbformat_minor": 2 82 | } 83 | -------------------------------------------------------------------------------- /causal_simulation_code/Simulation.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | from .Sine_Base import Sine_Base 3 | from .Polynomial_Base import Polynomial_Base 4 | 5 | class Simulation: 6 | def __init__(self, C=np.array([0, 1]), D=2, base_functions=np.array([Sine_Base(), Sine_Base()]), drift_rate=0, drift_over_time=1000, sudden_drift=False, drift_moments=np.array([]), std=0): 7 | self.C = C 8 | self.base_functions = base_functions 9 | self.D = D 10 | self.dim_count = D 11 | 12 | self.drift_rate = drift_rate 13 | self.drift_over_time = drift_over_time 14 | self.drift_moments = drift_moments 15 | self.sudden_drift = sudden_drift 16 | self.current_drift = 0 17 | self.drift = 0 18 | 19 | self.std = std 20 | 21 | self.current_state = np.empty(0) 22 | self.time = 0 23 | 24 | def get_new_state(self): 25 | x = np.random.random_sample(self.D) 26 | self.current_state = x 27 | return x 28 | 29 | def reset(self): 30 | self.time = 0 31 | self.current_drift = 0 32 | self.drift = 0 33 | 34 | def choose_cause(self, C, drift=True, n=True): 35 | x = self.current_state 36 | 37 | self.time += 1 38 | self.update_drift() 39 | 40 | p = self.get_response_rate(C, x, drift) 41 | if n: 42 | p = self.apply_noise(p) 43 | 44 | return self.get_new_state(), np.random.binomial(1, p) 45 | 46 | def apply_noise(self, p): 47 | if self.std: 48 | return (1 + np.exp(-3 * np.random.normal(p, self.std))) ** -1 49 | return p 50 | 51 | 52 | def get_response_rate(self, C, x, drift=True): 53 | d = 0 54 | if drift: 55 | if self.drift: 56 | d = self.drift 57 | return self.base_functions[C].eval(x, d, C) 58 | 59 | def update_drift(self): 60 | drift = 0 61 | if self.sudden_drift: 62 | if len(self.drift_moments) == 0: 63 | drift = self.drift_rate * np.random.binomial(1, 1 / self.drift_over_time) 64 | elif np.any(self.drift_moments == self.time): 65 | drift = self.drift_rate 66 | else: 67 | drift = self.drift_rate / self.drift_over_time 68 | 69 | self.drift += drift 70 | self.current_drift = drift 71 | 72 | def get_sim_uplift(self, x): 73 | return self.get_response_rate(1, x, drift=True) - self.get_response_rate(0, x, drift=True) -------------------------------------------------------------------------------- /causal_simulation_code/GP_Base.py: -------------------------------------------------------------------------------- 1 | 2 | import numpy as np 3 | 4 | from scipy.special import expit 5 | 6 | import sklearn.gaussian_process as gp 7 | from sklearn.gaussian_process.kernels import RBF 8 | from sklearn.gaussian_process import GaussianProcessRegressor as GPR 9 | from sklearn.utils import check_random_state 10 | 11 | class GP_Base: 12 | def __init__(self, D=1, C_count=2, random_state=0, **kwargs): 13 | self.GP = GPR(**kwargs) 14 | self.D=D 15 | self.C_count=C_count 16 | self.random_state=random_state 17 | 18 | def sample(self, n=1000, kernels=[RBF(), RBF(length_scale=.8)], include_ground_truth=True): 19 | """ 20 | Parameters 21 | ---------- 22 | n : int 23 | Amount of data to sample. 24 | kernels : [Kernel] 25 | For every cause, there should be exactly one Kernel such that 26 | every cause corresponds with a different function. As such, 27 | len(kernels) should equal C_count. 28 | include_ground_truth : Bool 29 | Indicates whether a response should be sampled for all treatments 30 | given a datapoint. Of course, this is not possible in real 31 | datasets. 32 | 33 | Returns 34 | ------- 35 | A dataset of shape (n, D + 2) where the first D columns 36 | contain features, the penultimate column the applied treatment and 37 | the last column the response. If include_ground_truth is True, 38 | the last two columns will be replaced with C_count columns indicating 39 | response to all treatments. 40 | """ 41 | X = np.random.rand(n, self.D) 42 | y = np.ndarray((n, self.C_count)) 43 | 44 | for t in range(self.C_count): 45 | y_mean = self.GP.predict(X) # Thus far, the GP is untrained 46 | # -> without a bias the mean should just be 0 47 | # the reason for using .predict is for future 48 | # purpose 49 | 50 | rng = check_random_state(self.random_state) 51 | p = rng.multivariate_normal(y_mean, kernels[t](X), 1).T 52 | y.T[t] = np.array(list(map(lambda p: np.random.binomial(1, expit(p)), p))).T 53 | 54 | if not include_ground_truth: 55 | y = np.array(list(map(self.reduce_causes, y))) 56 | 57 | data = np.append(X, y, axis=1) 58 | return data 59 | 60 | 61 | def reduce_causes(self, y): 62 | c = np.random.randint(self.C_count) 63 | return np.array([c, y[c]]) 64 | 65 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Causal Simulations for Uplift Modeling 2 | This is an accompanying repository for a [paper](https://arxiv.org/abs/1902.00287), in it you will find code and documentation, representing the ideas discussed in the paper, as well as extra (animated) visualisations. 3 | 4 | The paper focusses on a number of requirements that must be defined for any causal simulation. These requirements will form a guideline throughout the documentation of this code. 5 | 6 | ### Base functions 7 | A core idea behind the discussed papers is one of _base functions_. Two base functions are present in the current code base: 8 | #### `Sine_Base(D, f, G)` 9 | `D` is the dimension count, `f` is the frequency and `G` (displacement vector) will govern the average causal effect in the simulation. 10 | #### `Polynomial_Base(D, q, K)` 11 | Here, `K` (the coefficient vector) implies a crucial difference with the `Sine_Base` as it implies that a `Polynomial_Base` must be created for every cause. This choice is motivated by the fact that one can control the difference between two `coefficient_vector`'s while in a `Sine_Base`, this difference is already controlled by the `displacement_vector`. 12 | 13 | ### Drift 14 | Drift is controlled by the top level class `Simulation(C, D, base_functions, drift_rate, drift_over_time, sudden_drift, drift_moments, std)` through its parameters `drift_rate`, `drift_over_time`, `sudden_drift` and `drift_moments` where the first three are necessary when random drift is required. These first three parameters can be omitted when the `drift_moments` are chosen before the simulation is running. These moments are moments in function of a `t` representing an experiment number. When the drift moments are to be chosen randomly by the `Simulation`, `drift_rate` describes the _amount_ that is drifted, `drift_over_time` governs how often or how gradual the drift is taking place and `sudden_drift` is `False` when the `drift_rate` is linearly distributed over `drift_over_time` and `True` when (on average) the complete `drift_rate` happens once in `drift_over_time`. 15 | 16 | Drift for the `Sine_Base` is illustrated below. 17 | 18 | 19 | 20 | ### Effect 21 | When every a cause `C` is chosen, one can call `.chose_cause(C)` and an effect is returned. When a response is required that does not include drift or noise the method can be called as `.chose_cause(C, drift=False, n=False)`. 22 | 23 | ### Evaluation 24 | In case of uplift modeling, one can consult the actual (ground truth) uplift for a specific `x` by calling `.get_sim_uplift(x)` on a `Simulation`. Other intricacies of the simulation can be acquired upon extension. 25 | 26 | ### Noise 27 | As an extra parameter to `Simulation`, `std` governs the standard deviation of the Gaussian noise over the returned effect of the simulation. Extensions towards other distributions for noise must be added manually. 28 | -------------------------------------------------------------------------------- /examples/sample_code.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 4, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "%reload_ext autoreload\n", 10 | "%autoreload 2\n", 11 | "\n", 12 | "import sys\n", 13 | "sys.path.insert(0, '..')\n", 14 | "\n", 15 | "import numpy as np\n", 16 | "from causal_simulation_code import Sine_Base, Simulation" 17 | ] 18 | }, 19 | { 20 | "cell_type": "code", 21 | "execution_count": 80, 22 | "metadata": {}, 23 | "outputs": [], 24 | "source": [ 25 | "causes = np.array([0,1]) # treatment variables (must match amount of base functions!)\n", 26 | "dims = 5 # covariate dimension count\n", 27 | "\n", 28 | "sim = Simulation(\n", 29 | " D=dims, # covariates dimension\n", 30 | " C=causes, # causes\n", 31 | " base_functions=np.array([\n", 32 | " Sine_Base(f=6, D=dims, G=np.zeros(dims)), # functions for causes\n", 33 | " Sine_Base(f=2, D=dims, G=((4)*np.random.rand(dims)-2))]),\n", 34 | " std=0) # noise" 35 | ] 36 | }, 37 | { 38 | "cell_type": "code", 39 | "execution_count": 81, 40 | "metadata": {}, 41 | "outputs": [ 42 | { 43 | "name": "stdout", 44 | "output_type": "stream", 45 | "text": [ 46 | "0.5194546368822334\n", 47 | "0.5064863344088797\n", 48 | "0.5416727317171718\n", 49 | "0.5139052501098343\n", 50 | "0.5180013849953493\n", 51 | "0.5060016145953736\n", 52 | "0.5155480711464583\n", 53 | "0.5051834331468136\n", 54 | "0.5138447845492788\n", 55 | "0.5046154525576382\n", 56 | "0.50122205895219\n", 57 | "0.5004073533445694\n", 58 | "0.5093309545706151\n", 59 | "0.5031104786921944\n", 60 | "0.582633059824257\n", 61 | "0.5276571827441575\n", 62 | "0.9500165439969459\n", 63 | "0.6823366001675649\n", 64 | "0.6632697409621159\n", 65 | "0.5553264757275395\n", 66 | "0.5014272768729423\n", 67 | "0.5004757595319771\n", 68 | "0.25987219460789057\n", 69 | "0.9685416501955972\n", 70 | "0.6193479474777965\n", 71 | "0.5401272504791732\n", 72 | "0.5143491985794932\n", 73 | "0.5047836500104113\n", 74 | "0.5526661094933125\n", 75 | "0.5175843685666724\n", 76 | "0.6403633710316772\n", 77 | "0.5473541236989212\n", 78 | "0.5139123826599729\n", 79 | "0.5046379929814264\n", 80 | "0.7497436568600098\n", 81 | "0.5867269361839044\n", 82 | "0.9776345595868325\n", 83 | "0.7054872790560398\n", 84 | "0.5184789329664196\n", 85 | "0.5061608915029213\n", 86 | "0.5323882843833752\n", 87 | "0.5108028185198658\n", 88 | "0.82763050460176\n", 89 | "0.6179652706723264\n", 90 | "0.5312569639358418\n", 91 | "0.510425030674704\n", 92 | "0.5186243431579195\n", 93 | "0.5062093912533897\n", 94 | "0.9997088911487579\n", 95 | "0.7549093084967339\n", 96 | "0.5576992851555017\n", 97 | "0.5192712656921272\n", 98 | "0.7999339563384709\n", 99 | "0.606402751240681\n", 100 | "0.9633722662353574\n", 101 | "0.6925045168458793\n", 102 | "0.551383019543125\n", 103 | "0.5171545972258692\n", 104 | "0.5467372363876281\n", 105 | "0.5155993237146975\n", 106 | "0.5090637634636173\n", 107 | "0.5030214015917392\n", 108 | "0.5174651517099749\n", 109 | "0.5058227701379685\n", 110 | "0.5102011918078421\n", 111 | "0.5034006070029053\n", 112 | "0.5100823656150213\n", 113 | "0.503360991027038\n", 114 | "0.577034863087568\n", 115 | "0.5257695559053921\n", 116 | "0.5161566380991588\n", 117 | "0.5053863795022888\n", 118 | "0.6571414984163055\n", 119 | "0.5531827521036528\n", 120 | "0.5061517948436065\n", 121 | "0.50205064427187\n", 122 | "0.5062520369844392\n", 123 | "0.5020840606039776\n", 124 | "0.6392996779278148\n", 125 | "0.5469864705970225\n", 126 | "0.5017523600865277\n", 127 | "0.5005841210917793\n", 128 | "0.5380238509980119\n", 129 | "0.5126855043432801\n", 130 | "0.512102930847559\n", 131 | "0.5040346605660667\n", 132 | "0.5167119220281943\n", 133 | "0.5055715630985648\n", 134 | "0.8345372490025182\n", 135 | "0.6209487384218623\n", 136 | "0.5031609131701885\n", 137 | "0.501053643961899\n", 138 | "0.5104198296773437\n", 139 | "0.5034735000710217\n", 140 | "0.5013309412668626\n", 141 | "0.5004436475546614\n", 142 | "0.5007203235452728\n", 143 | "0.5002401079222518\n", 144 | "0.5588149213264565\n", 145 | "0.5196454110698789\n", 146 | "0.5778927954868974\n", 147 | "0.5260586395053856\n", 148 | "0.5002547966009551\n", 149 | "0.5000849322035859\n", 150 | "0.5065176649337458\n", 151 | "0.5021726096724402\n", 152 | "0.603967952814269\n", 153 | "0.5348823527950729\n", 154 | "0.549101984786917\n", 155 | "0.5163908137875319\n", 156 | "0.5157623910878263\n", 157 | "0.505254904277416\n", 158 | "0.5012033188466647\n", 159 | "0.5004011066263957\n", 160 | "0.7390480366321119\n", 161 | "0.5826991710051699\n", 162 | "0.6900206794171553\n", 163 | "0.5647907964467946\n", 164 | "0.500007196192509\n", 165 | "0.5000023987308364\n", 166 | "0.5276645117751841\n", 167 | "0.5092256918178681\n", 168 | "0.5108204093624074\n", 169 | "0.5036070534182667\n", 170 | "0.5176402896522334\n", 171 | "0.5058811814576308\n", 172 | "0.7159732491063445\n", 173 | "0.5741669370820027\n", 174 | "0.6340966796426111\n", 175 | "0.5451911115630882\n", 176 | "0.5455538816033506\n", 177 | "0.5152033693016398\n", 178 | "0.5348526789639914\n", 179 | "0.5116259404069733\n", 180 | "0.569569028960357\n", 181 | "0.5232567645941177\n", 182 | "0.7407758883330503\n", 183 | "0.5833465139410557\n", 184 | "0.5031011277065683\n", 185 | "0.5010337151266899\n", 186 | "0.8929676864243279\n", 187 | "0.6484298825147625\n", 188 | "0.8423794907300627\n", 189 | "0.6243918693639448\n", 190 | "0.6110975153080518\n", 191 | "0.5373094903756088\n", 192 | "0.9675749857298155\n", 193 | "0.696041156011567\n", 194 | "0.5000186448404571\n", 195 | "0.5000062149468203\n", 196 | "0.9053868588606953\n", 197 | "0.6549831389299212\n", 198 | "0.5876469415500015\n", 199 | "0.5293504953460176\n", 200 | "0.6040100875219031\n", 201 | "0.5348966766759982\n", 202 | "0.5099660916186991\n", 203 | "0.5033222261023842\n", 204 | "0.6669872700258692\n", 205 | "0.556631064464713\n", 206 | "0.5133229154565018\n", 207 | "0.5044414390909436\n", 208 | "0.50685288541803\n", 209 | "0.5022843587151143\n", 210 | "0.5139234797823812\n", 211 | "0.504641693296804\n", 212 | "0.984538647998138\n", 213 | "0.713190408694431\n", 214 | "0.9358632351931233\n", 215 | "0.6728125881094346\n", 216 | "0.5195899689612831\n", 217 | "0.5065314757012029\n", 218 | "0.5520376877065868\n", 219 | "0.5173738656211365\n", 220 | "0.912815915914061\n", 221 | "0.659073226961006\n", 222 | "0.5004246916611985\n", 223 | "0.5001415639021968\n", 224 | "0.7252249520553175\n", 225 | "0.577563693310797\n", 226 | "0.5201098222746863\n", 227 | "0.5067048816696611\n", 228 | "0.5693612509645589\n", 229 | "0.5231869024875031\n", 230 | "0.5012400515499411\n", 231 | "0.5004133508933121\n", 232 | "0.5924273476582663\n", 233 | "0.5309675020546654\n", 234 | "0.6365840519234467\n", 235 | "0.5460487964467545\n", 236 | "0.5002267583768503\n", 237 | "0.5000755861279199\n", 238 | "0.6646176688742856\n", 239 | "0.5557991323303245\n", 240 | "0.5408038464529127\n", 241 | "0.5136147415892786\n", 242 | "0.5632295894605194\n", 243 | "0.5211268220919036\n", 244 | "0.6409065467877639\n", 245 | "0.5475419479202188\n", 246 | "0.6816872954835825\n", 247 | "0.5618226371457014\n", 248 | "0.5036360185905784\n", 249 | "0.5012120156924823\n", 250 | "0.6337614734080899\n", 251 | "0.5450756117417731\n", 252 | "0.5000006472075782\n", 253 | "0.5000002157358594\n", 254 | "0.5525872646121197\n", 255 | "0.5175579564655994\n", 256 | "0.5588178176794035\n", 257 | "0.5196463825199347\n", 258 | "0.5634718486583568\n", 259 | "0.5212081582577223\n", 260 | "0.5047045451378745\n", 261 | "0.5015682022812362\n", 262 | "0.5020135219228739\n", 263 | "0.500671175586819\n", 264 | "0.5000271631619673\n", 265 | "0.5000090543873263\n", 266 | "0.5318939658336944\n", 267 | "0.5106377421230538\n", 268 | "0.618303475209096\n", 269 | "0.5397699701042534\n", 270 | "0.7511789763056442\n", 271 | "0.5872712994457041\n", 272 | "0.5048346444713523\n", 273 | "0.5016115704798131\n", 274 | "0.7546840107592256\n", 275 | "0.5886046180760364\n", 276 | "0.6525112253585763\n", 277 | "0.5515684692102492\n", 278 | "0.5193500868385753\n", 279 | "0.506451461044942\n", 280 | "0.5000378168509512\n", 281 | "0.5000126056169943\n", 282 | "0.5097384270905838\n", 283 | "0.503246324826459\n", 284 | "0.5877813000394763\n", 285 | "0.5293959084167523\n", 286 | "0.5040038813190473\n", 287 | "0.5013346397855222\n", 288 | "0.5573591134982538\n", 289 | "0.5191572013610611\n", 290 | "0.5460421751591074\n", 291 | "0.5153667445435147\n", 292 | "0.5251034328501114\n", 293 | "0.5083709393430907\n", 294 | "0.5117943733115495\n", 295 | "0.5039317819361694\n", 296 | "0.5081481773633212\n", 297 | "0.502716165994021\n", 298 | "0.7511979399987727\n", 299 | "0.5872784979639618\n", 300 | "0.6034466826266816\n", 301 | "0.5347051639657726\n", 302 | "0.9998830345682431\n", 303 | "0.7468714301954271\n", 304 | "0.6009012918418031\n", 305 | "0.5338404480342964\n", 306 | "0.5165357401649191\n", 307 | "0.5055128069346408\n", 308 | "0.500098171368951\n", 309 | "0.5000327237898372\n", 310 | "0.8367949481641301\n", 311 | "0.6219337328292788\n", 312 | "0.5346976762112842\n", 313 | "0.5115741613433217\n", 314 | "0.5130792345090546\n", 315 | "0.5043601869297747\n", 316 | "0.5175296531508107\n", 317 | "0.5058442823312291\n", 318 | "0.5057305048304382\n", 319 | "0.5019102054507848\n", 320 | "0.5461691647427014\n", 321 | "0.515409235387486\n", 322 | "0.5051547151001384\n", 323 | "0.5017182654230797\n", 324 | "0.6701964972356308\n", 325 | "0.5577598929852334\n", 326 | "0.7502375139244677\n", 327 | "0.5869141319357241\n", 328 | "0.802867445148489\n", 329 | "0.6075998841225687\n", 330 | "0.6933215007073567\n", 331 | "0.5659718512146488\n", 332 | "0.5649200368769147\n", 333 | "0.521694468295069\n", 334 | "0.5000223357783002\n", 335 | "0.5000074452594356\n", 336 | "0.8724391575753133\n", 337 | "0.6382342759250116\n", 338 | "0.5798482972211553\n", 339 | "0.5267178179815502\n", 340 | "0.5400726576348606\n", 341 | "0.5133702999615787\n", 342 | "0.5187528234808069\n", 343 | "0.5062522446470106\n", 344 | "0.511365093831385\n", 345 | "0.5037886546477163\n", 346 | "0.6041954117733499\n", 347 | "0.5349596812536759\n", 348 | "0.5007642445685258\n", 349 | "0.500254748277681\n", 350 | "0.9926789201463422\n", 351 | "0.7248755917047582\n", 352 | "0.5036890977307033\n", 353 | "0.5012297091611533\n", 354 | "0.5000187265475382\n", 355 | "0.500006242182514\n", 356 | "0.5099038262084947\n", 357 | "0.5033014673226116\n", 358 | "0.5074653324250297\n", 359 | "0.502488526332901\n", 360 | "0.938037750036045\n", 361 | "0.6742110915963523\n", 362 | "0.5624517595957206\n", 363 | "0.5208657036505451\n", 364 | "0.5011760012208645\n", 365 | "0.5003920007282168\n", 366 | "0.5446282768016537\n", 367 | "0.5148937123365216\n", 368 | "0.5262700845159669\n", 369 | "0.5087602803635695\n", 370 | "0.5156864167977678\n", 371 | "0.5052295683739293\n", 372 | "0.5068719113298648\n", 373 | "0.5022907012167502\n", 374 | "0.5072064686791395\n", 375 | "0.5024022301601024\n", 376 | "0.5019415157280197\n", 377 | "0.5006471733549814\n", 378 | "0.5008389495379363\n", 379 | "0.5002796499626175\n", 380 | "0.5011114406622563\n", 381 | "0.5003704804919553\n", 382 | "0.7153536757714446\n", 383 | "0.5739405485418935\n", 384 | "0.6476252370900223\n", 385 | "0.549869888084946\n", 386 | "0.5760375208541979\n", 387 | "0.5254335851022368\n", 388 | "0.5091285207464921\n", 389 | "0.5030429905286035\n", 390 | "0.5116655983927659\n", 391 | "0.5038888464590181\n", 392 | "0.5490035020624708\n", 393 | "0.5163578447789666\n", 394 | "0.47337408134885334\n", 395 | "0.9373839411415479\n", 396 | "0.9195560343429077\n", 397 | "0.6629118954066673\n", 398 | "0.5201024083575773\n", 399 | "0.506702408585757\n", 400 | "0.5578827077731514\n", 401 | "0.5193327732167098\n", 402 | "0.5379733161990232\n", 403 | "0.5126686159848077\n", 404 | "0.514362326798763\n", 405 | "0.5047880276877803\n", 406 | "0.5262855961669151\n", 407 | "0.5087654572742688\n", 408 | "0.5118414524768881\n", 409 | "0.5039474788893276\n", 410 | "0.7556867228034853\n", 411 | "0.5889871087145064\n", 412 | "0.9951635693585374\n", 413 | "0.7296461607682796\n", 414 | "0.5116766530701555\n", 415 | "0.5038925322441764\n", 416 | "0.8136492872243706\n", 417 | "0.6120534431055824\n", 418 | "0.5002626884807312\n", 419 | "0.500087562830491\n", 420 | "0.5029586266520123\n", 421 | "0.5009862139997883\n", 422 | "0.5044012246685885\n", 423 | "0.5014670917306326\n", 424 | "0.8320581605619933\n", 425 | "0.6198727710357621\n", 426 | "0.8906696848492331\n", 427 | "0.6472519406155821\n", 428 | "0.5094543797607567\n", 429 | "0.5031516268766686\n", 430 | "0.9883003655650556\n", 431 | "0.7180892552220115\n", 432 | "0.6117084366045226\n", 433 | "0.5375177961379973\n", 434 | "0.5471128682220628\n", 435 | "0.5157250276993611\n", 436 | "0.502184916584319\n", 437 | "0.5007283075884669\n", 438 | "0.5398388195521562\n", 439 | "0.5132921316585962\n", 440 | "0.5111184658466178\n", 441 | "0.5037064268417213\n", 442 | "0.500901612796345\n", 443 | "0.5003005377435574\n", 444 | "0.5082058863991941\n", 445 | "0.502735404626381\n", 446 | "0.5171517403462843\n", 447 | "0.5057182439924395\n", 448 | "0.5085355137852995\n", 449 | "0.5028452941131987\n", 450 | "0.5099153578093039\n", 451 | "0.5033053118607972\n", 452 | "0.5198639937636259\n", 453 | "0.5066228805687308\n", 454 | "0.6874398545641991\n", 455 | "0.5638695190791324\n", 456 | "0.515281656423432\n", 457 | "0.505094590697729\n", 458 | "0.5587924641412122\n", 459 | "0.5196378788472569\n", 460 | "0.9735601866659231\n", 461 | "0.701463707653072\n", 462 | "0.9598341199097498\n", 463 | "0.6896678703847032\n", 464 | "0.6048268833531929\n", 465 | "0.5351743963462948\n", 466 | "0.5308073163561597\n", 467 | "0.5102748908118635\n", 468 | "0.5269342893407846\n", 469 | "0.5089819611153602\n", 470 | "0.6948731022726866\n", 471 | "0.5665281156137961\n", 472 | "0.510360548561096\n", 473 | "0.5034537359052685\n", 474 | "0.5684573712400018\n", 475 | "0.5228830294006662\n", 476 | "0.7387609932936481\n", 477 | "0.5825917505113175\n", 478 | "0.8161379775107337\n", 479 | "0.6130939963029078\n", 480 | "0.6314316444470385\n", 481 | "0.5442733838797894\n", 482 | "0.5226103262403666\n", 483 | "0.5075390607515389\n", 484 | "0.5473663410568426\n", 485 | "0.5158098560750394\n", 486 | "0.5041924457587046\n", 487 | "0.5013974964758646\n", 488 | "0.5058838861211007\n", 489 | "0.5019613356133757\n", 490 | "0.5282653284005894\n", 491 | "0.5094262431200136\n", 492 | "0.5056447983717394\n", 493 | "0.5018816349880367\n", 494 | "0.5486448964811503\n", 495 | "0.5162377994015475\n", 496 | "0.550102611892561\n", 497 | "0.5167258258529821\n", 498 | "0.6071218996567106\n", 499 | "0.5359552041542744\n", 500 | "0.5820951174797874\n", 501 | "0.5274756615924248\n", 502 | "0.5008161343732123\n", 503 | "0.50027204489845\n", 504 | "0.6813656768676577\n", 505 | "0.5617084617000896\n", 506 | "0.6799468318650914\n", 507 | "0.5612050942107469\n", 508 | "0.5082724892662653\n", 509 | "0.5027576082619041\n", 510 | "0.5000018478649035\n", 511 | "0.5000006159549678\n", 512 | "0.7258628061287502\n", 513 | "0.5777990335224713\n", 514 | "0.510280329848989\n", 515 | "0.503426991269705\n", 516 | "0.661009727724291\n", 517 | "0.5545349226351184\n", 518 | "0.5093936208925061\n", 519 | "0.5031313707220414\n", 520 | "0.5190703129432845\n", 521 | "0.506358141829282\n", 522 | "0.5023663896985319\n", 523 | "0.500788799183746\n", 524 | "0.5132516814475993\n", 525 | "0.5044176869646332\n", 526 | "0.537066645160827\n", 527 | "0.5123656327334167\n", 528 | "0.5324638206681852\n", 529 | "0.5108280444938417\n", 530 | "0.5002388300350034\n", 531 | "0.5000796100143587\n", 532 | "0.9277798156165418\n", 533 | "0.6677850173080002\n", 534 | "0.6581694039284453\n", 535 | "0.5535417431368003\n", 536 | "0.7159610510255856\n", 537 | "0.5741624786875604\n", 538 | "0.5154079478330728\n", 539 | "0.5051367054685748\n", 540 | "0.500379411961816\n", 541 | "0.5001264706647274\n", 542 | "0.5045663592966908\n", 543 | "0.5015221385743729\n", 544 | "0.5255845990080393\n", 545 | "0.5085315115652612\n", 546 | "0.9158561733668329\n", 547 | "0.66078870744879\n", 548 | "0.6304370500650838\n", 549 | "0.5439312036495274\n", 550 | "0.5301710170687282\n", 551 | "0.5100624395512814\n", 552 | "0.5093256764765417\n", 553 | "0.5031087190552634\n", 554 | "0.5001532639824663\n", 555 | "0.5000510879948665\n", 556 | "0.5005949512698483\n", 557 | "0.500198317131548\n", 558 | "0.5158740937038532\n", 559 | "0.5052921550580033\n", 560 | "0.5171096244789892\n", 561 | "0.5057041980395797\n", 562 | "0.9507163847245277\n", 563 | "0.8116054057767054\n", 564 | "0.5214235498885306\n", 565 | "0.5071431271511968\n", 566 | "0.5884687459936631\n", 567 | "0.5296282954979924\n", 568 | "0.5065978396646866\n", 569 | "0.5021993366262061\n", 570 | "0.6534626498490606\n", 571 | "0.5518997992108232\n", 572 | "0.5672934303268613\n", 573 | "0.5224918272671941\n", 574 | "0.5700065019605225\n", 575 | "0.5234038700524903\n", 576 | "0.5069400016300618\n", 577 | "0.5023133999081427\n", 578 | "0.604520729175082\n", 579 | "0.535070290181229\n", 580 | "0.5289032074779085\n", 581 | "0.509639179092656\n", 582 | "0.5092028922873069\n", 583 | "0.5030677847456492\n", 584 | "0.5088093375717491\n", 585 | "0.5029365809165963\n", 586 | "0.8668053406179785\n", 587 | "0.6355520979169154\n", 588 | "0.5435736639331665\n", 589 | "0.5145409521301361\n", 590 | "0.5338913341245172\n", 591 | "0.5113048166703511\n", 592 | "0.5024529737492905\n", 593 | "0.5008176608319655\n", 594 | "0.5030825297054545\n", 595 | "0.5010275156876274\n", 596 | "0.5594796972032727\n", 597 | "0.5198683956634851\n", 598 | "0.5095016066318374\n", 599 | "0.5031673716817782\n", 600 | "0.9166978784147293\n", 601 | "0.8292371183515972\n", 602 | "0.637066669022202\n", 603 | "0.5462153397318208\n", 604 | "0.5233586078156239\n", 605 | "0.5077887225871877\n", 606 | "0.5628324699187589\n", 607 | "0.5209935028095931\n", 608 | "0.5653601396542577\n", 609 | "0.5218422899792001\n", 610 | "0.5097917462631769\n", 611 | "0.5032641008977984\n", 612 | "0.6028253483506478\n", 613 | "0.5344940080255387\n", 614 | "0.5133135354092574\n", 615 | "0.5044383114220624\n", 616 | "0.5400426811904944\n", 617 | "0.5133602791730854\n", 618 | "0.5004701785496086\n", 619 | "0.5001567262037345\n", 620 | "0.500040917831051\n", 621 | "0.5000136392770306\n", 622 | "0.5073234018318774\n", 623 | "0.5024412115356057\n", 624 | "0.6521328041962804\n", 625 | "0.5514367381137056\n", 626 | "0.6385511822744363\n", 627 | "0.5467278881443296\n", 628 | "0.5369563027698102\n", 629 | "0.512328761999313\n", 630 | "0.5416038890578252\n", 631 | "0.5138822314618468\n", 632 | "0.5820213580022225\n", 633 | "0.5274507747743821\n", 634 | "0.5853329113720321\n", 635 | "0.5285686602507108\n", 636 | "0.5013876872419789\n", 637 | "0.5004625629418438\n", 638 | "0.5523694834498784\n", 639 | "0.5174850044011368\n", 640 | "0.5051341567797297\n", 641 | "0.5017114123271664\n", 642 | "0.5000224255999951\n", 643 | "0.5000074752000006\n", 644 | "0.5555308930753602\n", 645 | "0.5185443095793221\n", 646 | "0.5046776120753204\n", 647 | "0.5015592242424677\n", 648 | "0.5310374840841048\n", 649 | "0.5103517441799935\n", 650 | "0.5085709795335874\n", 651 | "0.5028571175671736\n", 652 | "0.7545055533055807\n", 653 | "0.5885365941661986\n", 654 | "0.5404329864153795\n", 655 | "0.5134907572049179\n", 656 | "0.7074874229403858\n", 657 | "0.571077598617162\n", 658 | "0.6092606968985147\n", 659 | "0.5366835083290512\n", 660 | "0.5098289343064573\n", 661 | "0.5032764990337694\n", 662 | "0.8888894970624266\n", 663 | "0.6463462681691943\n", 664 | "0.500490629816117\n", 665 | "0.500163543295368\n", 666 | "0.5071385797628022\n", 667 | "0.5023795984513317\n", 668 | "0.5493867977399055\n", 669 | "0.5164861636928749\n", 670 | "0.5260232161166029\n", 671 | "0.5086778906809175\n", 672 | "0.9871756827780185\n", 673 | "0.7165549078177975\n", 674 | "0.9918601507658245\n", 675 | "0.7756109810374568\n", 676 | "0.5271192007199861\n", 677 | "0.5090436784557761\n", 678 | "0.5211777239291138\n", 679 | "0.5070611189799151\n", 680 | "0.5002833972721323\n", 681 | "0.5000944657618734\n", 682 | "0.5066026560790163\n", 683 | "0.5022009422220024\n", 684 | "0.5000090501048188\n", 685 | "0.5000030167016064\n", 686 | "0.6074102468723863\n", 687 | "0.536053355647415\n", 688 | "0.5397970963696648\n", 689 | "0.5132781845454687\n", 690 | "0.5147710210514039\n", 691 | "0.5049243105306793\n", 692 | "0.529898181968193\n", 693 | "0.5099713482778642\n", 694 | "0.5179872976465959\n", 695 | "0.505996916106789\n", 696 | "0.5018131222014675\n", 697 | "0.5006043752445415\n", 698 | "0.6059415730361316\n", 699 | "0.5355535463500412\n", 700 | "0.8858649683653758\n", 701 | "0.6448207714729748\n", 702 | "0.5083830673540602\n", 703 | "0.5027944721699772\n", 704 | "0.5677256019627265\n", 705 | "0.5226370676796995\n", 706 | "0.6207924607321913\n", 707 | "0.5406216497526399\n", 708 | "0.6769931083150048\n", 709 | "0.5601588784228742\n", 710 | "0.5023804793650741\n", 711 | "0.500793495786295\n", 712 | "0.5491783097844719\n", 713 | "0.5164163654595897\n", 714 | "0.504288768852344\n", 715 | "0.501429605200305\n", 716 | "0.534934987868736\n", 717 | "0.5116534363119375\n", 718 | "0.5950823420933433\n", 719 | "0.531866701825277\n", 720 | "0.5948783192898628\n", 721 | "0.5317975734761828\n", 722 | "0.7195824835863296\n", 723 | "0.575488404465386\n", 724 | "0.5270937352143836\n", 725 | "0.5090351788416795\n", 726 | "0.5036235550789833\n", 727 | "0.5012078610913031\n", 728 | "0.5198537036856014\n", 729 | "0.5066194481350863\n", 730 | "0.5126374184366009\n", 731 | "0.5042128715922234\n", 732 | "0.5279213934288275\n", 733 | "0.5093114368932442\n", 734 | "0.6349398500289588\n", 735 | "0.5454817255981175\n", 736 | "0.5089982099198257\n", 737 | "0.5029995472414212\n", 738 | "0.5066103378509937\n", 739 | "0.50220350301137\n", 740 | "0.506389292749924\n", 741 | "0.5021298157757869\n", 742 | "0.5325811022396345\n", 743 | "0.510867212093346\n", 744 | "0.7285896147162427\n", 745 | "0.5788068383450692\n", 746 | "0.5000160821072905\n", 747 | "0.500005360702431\n", 748 | "0.5036154157743952\n", 749 | "0.5012051479265829\n", 750 | "0.5093967265738885\n", 751 | "0.5031324061116624\n", 752 | "0.5379775206323645\n", 753 | "0.5126700210711113\n", 754 | "0.5017182955657368\n", 755 | "0.5005727661907245\n", 756 | "0.5054811822216497\n", 757 | "0.5018270932703116\n", 758 | "0.5011803828448578\n", 759 | "0.5003934612731523\n", 760 | "0.5019058133291134\n", 761 | "0.5006352724770519\n", 762 | "0.5085979553524489\n", 763 | "0.5028661106850856\n", 764 | "0.507246230173782\n", 765 | "0.5024154852222732\n", 766 | "0.596654057923378\n", 767 | "0.5323994078908137\n", 768 | "0.5774831875836876\n", 769 | "0.5259206118178154\n", 770 | "0.5627500342483437\n", 771 | "0.5209658293669057\n", 772 | "0.5811901954007678\n", 773 | "0.5271703742787203\n", 774 | "0.5019597456826019\n", 775 | "0.5006532500476143\n", 776 | "0.5036003467822706\n", 777 | "0.5012001248129662\n", 778 | "0.5068559961247371\n", 779 | "0.5022853957039703\n", 780 | "0.7496197844964221\n", 781 | "0.5866799999069978\n", 782 | "0.5044451169522854\n", 783 | "0.5014817230007744\n", 784 | "0.5046376054011593\n", 785 | "0.50154588817008\n", 786 | "0.5123669609580759\n", 787 | "0.5041226940356607\n", 788 | "0.5272631562199157\n", 789 | "0.5090917268336533\n", 790 | "0.6635871614241711\n", 791 | "0.5554377429732985\n", 792 | "0.9185287505406318\n", 793 | "0.8284010495917454\n", 794 | "0.5004404420998463\n", 795 | "0.5001468140501594\n", 796 | "0.5168109178752531\n", 797 | "0.5056045782094586\n", 798 | "0.6579826023550155\n", 799 | "0.5534764864307925\n", 800 | "0.5786124677641418\n", 801 | "0.5263011901440148\n", 802 | "0.525447707981712\n", 803 | "0.5084858283053904\n", 804 | "0.5281801694414207\n", 805 | "0.5093978165089249\n", 806 | "0.6357362403454153\n", 807 | "0.5457563328072103\n", 808 | "0.5000148307562375\n", 809 | "0.5000049435854131\n", 810 | "0.5024944198243305\n", 811 | "0.5008314763406093\n", 812 | "0.5060849332174702\n", 813 | "0.5020283555797647\n", 814 | "0.7645079689420391\n", 815 | "0.5923730508109424\n", 816 | "0.8457234994811997\n", 817 | "0.6258791769184484\n", 818 | "0.5005854680020596\n", 819 | "0.5001951560403275\n", 820 | "0.5455967375038983\n", 821 | "0.5152177076791691\n", 822 | "0.5475446061544177\n", 823 | "0.515869517274303\n", 824 | "0.5134414426660266\n", 825 | "0.50448096074602\n", 826 | "0.5558383766678572\n", 827 | "0.5186473743572206\n", 828 | "0.525744479749484\n", 829 | "0.5085848676729944\n", 830 | "0.5135582800834378\n", 831 | "0.5045199191769024\n", 832 | "0.5530014636930897\n", 833 | "0.5176967126651976\n", 834 | "0.5131391606044913\n", 835 | "0.5043801684007738\n", 836 | "0.5421730588988495\n", 837 | "0.5140725496630768\n", 838 | "0.5026222594820059\n", 839 | "0.5008740900557834\n", 840 | "0.5012725073832984\n", 841 | "0.5004241695347874\n", 842 | "0.5075893156011754\n", 843 | "0.5025298582220165\n", 844 | "0.6200407424437278\n", 845 | "0.5403643261035163\n", 846 | "0.7274216489163693\n", 847 | "0.5783748226570852\n", 848 | "0.6893125021830955\n", 849 | "0.5645378117729924\n", 850 | "0.7358295689029448\n", 851 | "0.5814966667361919\n", 852 | "0.500167511588197\n", 853 | "0.5000558371969941\n", 854 | "0.5519958852085143\n", 855 | "0.517359863886548\n", 856 | "0.5024343910741409\n", 857 | "0.5008114665411554\n", 858 | "0.5088732253203715\n", 859 | "0.5029578797929062\n", 860 | "0.5006111850321875\n", 861 | "0.50020372838916\n", 862 | "0.5108118572923938\n", 863 | "0.5036042021351701\n", 864 | "0.6716329872827065\n", 865 | "0.5582659746639592\n", 866 | "0.5115321240775971\n", 867 | "0.5038443443752137\n", 868 | "0.5039231892115885\n", 869 | "0.5013077416651133\n", 870 | "0.584784235627917\n", 871 | "0.5283833642729767\n", 872 | "0.5436372835187713\n", 873 | "0.5145622307502448\n", 874 | "0.8552431407585277\n", 875 | "0.6301806215403182\n", 876 | "0.5391727213041013\n", 877 | "0.5130694799811383\n", 878 | "0.5059320744851827\n", 879 | "0.5019773993982394\n", 880 | "0.6656576791733262\n", 881 | "0.5561641032554621\n", 882 | "0.5163196659672559\n", 883 | "0.5054407476187777\n", 884 | "0.9007643543476729\n", 885 | "0.6525050987619981\n", 886 | "0.5005076807339756\n", 887 | "0.500169226937172\n", 888 | "0.5064897522503871\n", 889 | "0.5021633047449165\n", 890 | "0.5654799199313473\n", 891 | "0.5218825244287584\n", 892 | "0.6625305453347872\n", 893 | "0.5550674503819951\n", 894 | "0.5103233208176717\n", 895 | "0.5034413242971744\n", 896 | "0.5130385191437599\n", 897 | "0.5043466110246729\n", 898 | "0.5304224099643144\n", 899 | "0.5101463742984447\n", 900 | "0.5548090432653165\n", 901 | "0.5183023791018951\n", 902 | "0.5024141496028453\n", 903 | "0.5008047193135599\n", 904 | "0.5253369908221118\n", 905 | "0.5084488802009035\n", 906 | "0.69608377378845\n", 907 | "0.5669626458326186\n", 908 | "0.5415834110172657\n", 909 | "0.5138753843459196\n", 910 | "0.5320309760754282\n", 911 | "0.5106834954006353\n", 912 | "0.5556525527318847\n", 913 | "0.51858508766364\n", 914 | "0.5003204754321856\n", 915 | "0.5001068251505635\n", 916 | "0.5012152863790008\n", 917 | "0.5004050958142124\n", 918 | "0.50522644708793\n", 919 | "0.5017421772310385\n", 920 | "0.5605805370399578\n", 921 | "0.520237718567031\n", 922 | "0.5017196337714268\n", 923 | "0.5005732122616312\n", 924 | "0.648055980061338\n", 925 | "0.5500194378361967\n", 926 | "0.5282737894834744\n", 927 | "0.509429067497497\n", 928 | "0.5508385914397913\n", 929 | "0.516972271807114\n", 930 | "0.500153045288044\n", 931 | "0.5000510150967228\n", 932 | "0.5025219769028253\n", 933 | "0.5008406621361776\n", 934 | "0.5580140564836061\n", 935 | "0.5193768201256085\n", 936 | "0.5220312686789627\n", 937 | "0.5073458703408138\n", 938 | "0.5152025104692245\n", 939 | "0.5050681978092988\n", 940 | "0.5054740245508457\n", 941 | "0.5018247072527672\n", 942 | "0.5779512701798059\n", 943 | "0.5260783453323523\n", 944 | "0.5028378102043694\n", 945 | "0.5009459412490982\n", 946 | "0.5052350181600848\n", 947 | "0.50174503439407\n", 948 | "0.5004575467454941\n", 949 | "0.5001525156007522\n", 950 | "0.5029295959522195\n", 951 | "0.5009765369507371\n", 952 | "0.5137491383006296\n", 953 | "0.5045835596793775\n", 954 | "0.6735287424420177\n", 955 | "0.5589346321165543\n", 956 | "0.50072838294521\n", 957 | "0.5002427943914034\n", 958 | "0.5053203551177586\n", 959 | "0.5017734814553518\n", 960 | "0.9831315025521891\n", 961 | "0.7115063750390243\n", 962 | "0.5747209954372223\n", 963 | "0.5249902341924757\n", 964 | "0.5425754890704249\n", 965 | "0.5142071235532988\n", 966 | "0.60213093040723\n", 967 | "0.5342580744712245\n", 968 | "0.6749546696495745\n", 969 | "0.559438163523428\n", 970 | "0.5261785631292428\n", 971 | "0.5087297358602877\n", 972 | "0.5155991759647244\n", 973 | "0.5052004754366198\n", 974 | "0.5814058774709339\n", 975 | "0.5272431299714113\n", 976 | "0.9844911004427744\n", 977 | "0.7851364539379063\n", 978 | "0.5318611574010349\n", 979 | "0.5106267861625602\n", 980 | "0.51989840839717\n", 981 | "0.5066343601836203\n", 982 | "0.5265459047644039\n", 983 | "0.5088523346699548\n", 984 | "0.5273110405945051\n", 985 | "0.5091077094668932\n", 986 | "0.9684951510784034\n", 987 | "0.6968429013043368\n", 988 | "0.6239506094742023\n", 989 | "0.5417037019668893\n", 990 | "0.500071123084227\n", 991 | "0.5000237076948134\n", 992 | "0.7103304704862088\n", 993 | "0.5721099461334705\n", 994 | "0.5694112525758818\n", 995 | "0.5232037144143578\n", 996 | "0.5030297764571917\n", 997 | "0.5010099309795428\n", 998 | "0.5000560339549504\n", 999 | "0.5000186779850182\n", 1000 | "0.5053640636427468\n", 1001 | "0.5017880517029517\n", 1002 | "0.5021374917025158\n", 1003 | "0.5007124991632589\n", 1004 | "0.5558390549355994\n", 1005 | "0.5186476017113896\n", 1006 | "0.5832622056781589\n", 1007 | "0.527869516726282\n", 1008 | "0.8011970784390632\n", 1009 | "0.6069174850474879\n", 1010 | "0.5000828019221009\n", 1011 | "0.5000276006408124\n", 1012 | "0.5020200704911864\n", 1013 | "0.5006733584587076\n", 1014 | "0.6308038707125757\n", 1015 | "0.5440573847742475\n", 1016 | "0.8738646092649438\n", 1017 | "0.6389201752061063\n", 1018 | "0.5082499863169722\n", 1019 | "0.5027501063685285\n", 1020 | "0.5286985520335021\n", 1021 | "0.5095708597644396\n", 1022 | "0.5085852838116273\n", 1023 | "0.5028618862837353\n", 1024 | "0.5807046816945707\n", 1025 | "0.5270066137262578\n", 1026 | "0.9589733294875245\n", 1027 | "0.6889950471996564\n", 1028 | "0.5170378047893263\n", 1029 | "0.5056802457255948\n", 1030 | "0.5406624221596138\n", 1031 | "0.5135674604190869\n", 1032 | "0.5088441088541747\n", 1033 | "0.5029481729498173\n", 1034 | "0.500159205593439\n", 1035 | "0.5000530685319434\n", 1036 | "0.504147283719663\n", 1037 | "0.5013824419974787\n", 1038 | "0.518602421032287\n", 1039 | "0.5062020793727554\n", 1040 | "0.5425746750966992\n", 1041 | "0.5142068513496648\n", 1042 | "0.6768494210379259\n", 1043 | "0.5601080414106502\n", 1044 | "0.5113141599177924\n", 1045 | "0.5037716727938797\n", 1046 | "0.5001228795969842\n", 1047 | "0.5000409598660279\n", 1048 | "0.5082257914092326\n", 1049 | "0.5027420404260874\n", 1050 | "0.5529551577191528\n", 1051 | "0.5176811996765264\n", 1052 | "0.5272761555860626\n", 1053 | "0.5090960656968132\n", 1054 | "0.5312251730975318\n", 1055 | "0.5104144152882926\n", 1056 | "0.501788646798622\n", 1057 | "0.5005962167298862\n", 1058 | "0.5026689954382016\n", 1059 | "0.5008896689017073\n", 1060 | "0.5476581934060909\n", 1061 | "0.5159075332428023\n", 1062 | "0.5015247124771037\n", 1063 | "0.5005082381925333\n", 1064 | "0.5042812315191857\n", 1065 | "0.5014270926739027\n", 1066 | "0.5026876911576897\n", 1067 | "0.5008959008876803\n", 1068 | "0.5962484256813858\n", 1069 | "0.5322618973676037\n", 1070 | "0.8031190562533921\n", 1071 | "0.6077028457458555\n", 1072 | "0.5031237939344972\n", 1073 | "0.5010412706661236\n", 1074 | "0.500610479938608\n", 1075 | "0.500203493357811\n", 1076 | "0.5033132968806816\n", 1077 | "0.5011044394785229\n", 1078 | "0.5913827839780703\n", 1079 | "0.5306139510512986\n", 1080 | "0.5304074097812858\n", 1081 | "0.5101413659919112\n", 1082 | "0.5404122017304944\n", 1083 | "0.513483808753092\n", 1084 | "0.5358235812850689\n", 1085 | "0.511950295716705\n", 1086 | "0.7753052696872693\n", 1087 | "0.5965718396931478\n", 1088 | "0.5406498554767587\n", 1089 | "0.513563259155004\n", 1090 | "0.5057870129433342\n", 1091 | "0.5019290425990508\n", 1092 | "0.7043366901977747\n", 1093 | "0.5699365971139496\n", 1094 | "0.5012910827245581\n", 1095 | "0.5004303613332932\n", 1096 | "0.5291380938078128\n", 1097 | "0.5097175920571179\n", 1098 | "0.6452312820497713\n", 1099 | "0.5490394036307363\n", 1100 | "0.7939747692039691\n", 1101 | "0.6039889528243636\n", 1102 | "0.5104914244075454\n", 1103 | "0.5034973696206815\n", 1104 | "0.5251049035303013\n", 1105 | "0.5083714301200934\n", 1106 | "0.566783747264228\n", 1107 | "0.5223205571621771\n", 1108 | "0.525534008101487\n", 1109 | "0.5085146283066038\n", 1110 | "0.5253802740537571\n", 1111 | "0.5084633244703431\n", 1112 | "0.5000773918001046\n", 1113 | "0.5000257972667931\n", 1114 | "0.5031496419492593\n", 1115 | "0.5010498868217569\n", 1116 | "0.5435917227986486\n", 1117 | "0.514546992194162\n", 1118 | "0.5034995974759587\n", 1119 | "0.5011665409583846\n", 1120 | "0.5491799375896491\n", 1121 | "0.5164169104111991\n", 1122 | "0.7487578071941046\n", 1123 | "0.5863535814033275\n", 1124 | "0.501375115228002\n", 1125 | "0.5004583722563013\n", 1126 | "0.5348142949047279\n", 1127 | "0.5116131180214353\n", 1128 | "0.6417131922592444\n", 1129 | "0.5478209799399943\n", 1130 | "0.5181769477752783\n", 1131 | "0.5060601695981664\n", 1132 | "0.5009593238332424\n", 1133 | "0.5003197747854747\n", 1134 | "0.8162607407289906\n", 1135 | "0.6131454523379305\n", 1136 | "0.5023148164655896\n", 1137 | "0.5007716079386579\n", 1138 | "0.5832496146601057\n", 1139 | "0.5278652669143775\n", 1140 | "0.5039779907767923\n", 1141 | "0.5013260093603886\n", 1142 | "0.5351590371374573\n", 1143 | "0.5117282830784168\n", 1144 | "0.9739721067538117\n", 1145 | "0.7018567647197632\n", 1146 | "0.5290666025076388\n", 1147 | "0.5096937256523342\n", 1148 | "0.9907511834128289\n", 1149 | "0.7216987833717322\n", 1150 | "0.5872862795304131\n", 1151 | "0.5292286015510115\n", 1152 | "0.5074033159859107\n", 1153 | "0.5024678521550145\n", 1154 | "0.5779559168965922\n", 1155 | "0.5260799112784715\n", 1156 | "0.5645535757075693\n", 1157 | "0.5215713930138829\n", 1158 | "0.5023333364784793\n", 1159 | "0.5007777813355678\n", 1160 | "0.5124509973650971\n", 1161 | "0.5041507138431062\n", 1162 | "0.9236704318494036\n", 1163 | "0.665322025567803\n", 1164 | "0.5231798282554356\n", 1165 | "0.5077290719442114\n", 1166 | "0.5006992964580347\n", 1167 | "0.5002330988868939\n", 1168 | "0.5057486248182216\n", 1169 | "0.5019162458004774\n", 1170 | "0.6236388919588607\n", 1171 | "0.541596829791877\n", 1172 | "0.5662005319459544\n", 1173 | "0.5221246037220424\n", 1174 | "0.9984914985915656\n", 1175 | "0.7611297019365133\n", 1176 | "0.5201066775214928\n", 1177 | "0.5067038326641786\n", 1178 | "0.6056723103410446\n", 1179 | "0.53546194424644\n", 1180 | "0.5108910844189435\n", 1181 | "0.503630616707808\n", 1182 | "0.7039299329739674\n", 1183 | "0.5697895260671133\n", 1184 | "0.5072047313042566\n", 1185 | "0.502401650981678\n", 1186 | "0.5035011583984055\n", 1187 | "0.5011670612772009\n", 1188 | "0.555429040194977\n", 1189 | "0.5185101711260391\n", 1190 | "0.5241145322757175\n", 1191 | "0.5080409502399639\n", 1192 | "0.5166474831198383\n", 1193 | "0.50555007282984\n", 1194 | "0.5090270218317933\n", 1195 | "0.5030091525992638\n", 1196 | "0.8124688539505494\n", 1197 | "0.6115615866559039\n", 1198 | "0.632035046036098\n", 1199 | "0.5444810615550079\n", 1200 | "0.5380552568506778\n", 1201 | "0.5126960000069347\n", 1202 | "0.5218416455604455\n", 1203 | "0.5072826084840796\n", 1204 | "0.7797152314073237\n", 1205 | "0.598305135643842\n", 1206 | "0.5035083581569378\n", 1207 | "0.5011694612491208\n", 1208 | "0.5022098594631063\n", 1209 | "0.5007366219527679\n", 1210 | "0.5254818404031802\n", 1211 | "0.5084972189205172\n", 1212 | "0.5221383365546954\n", 1213 | "0.5073815906234321\n", 1214 | "0.683196926632624\n", 1215 | "0.5623589284591086\n", 1216 | "0.5040449606679815\n", 1217 | "0.5013483332961194\n", 1218 | "0.8621900209699768\n", 1219 | "0.6333873545641576\n", 1220 | "0.5133578898060672\n", 1221 | "0.5044531008978623\n", 1222 | "0.5509663988528195\n", 1223 | "0.5170150720391898\n", 1224 | "0.5221909465845019\n", 1225 | "0.5073991426384018\n", 1226 | "0.5338675974040524\n", 1227 | "0.51129688822963\n", 1228 | "0.5472314515144797\n", 1229 | "0.5157647128714471\n", 1230 | "0.5889181990659597\n", 1231 | "0.5297802585323599\n", 1232 | "0.5127324927425855\n", 1233 | "0.5042445720975339\n", 1234 | "0.5701978491785448\n", 1235 | "0.5234682179462473\n", 1236 | "0.5003239601889372\n", 1237 | "0.5001079867363617\n", 1238 | "0.7989629536668273\n", 1239 | "0.6060078068011213\n", 1240 | "0.5063259836664413\n", 1241 | "0.5021087112313649\n", 1242 | "0.523974638762563\n", 1243 | "0.5079942710586184\n", 1244 | "0.5006107127308741\n", 1245 | "0.5002035709552844\n", 1246 | "0.5848994727753116\n", 1247 | "0.528422278947633\n", 1248 | "0.5425345873818839\n", 1249 | "0.5141934455267501\n", 1250 | "0.5179954842572198\n", 1251 | "0.5059996465488307\n", 1252 | "0.5211806693060076\n", 1253 | "0.5070621015561728\n", 1254 | "0.5345810247894797\n", 1255 | "0.511535194295765\n", 1256 | "0.5012697504895518\n", 1257 | "0.5004232505675655\n", 1258 | "0.5217700154808103\n", 1259 | "0.5072587115788482\n", 1260 | "0.5007619625275495\n", 1261 | "0.500253987596568\n", 1262 | "0.6270129285722409\n", 1263 | "0.5427544574616403\n", 1264 | "0.5056138473066992\n", 1265 | "0.501871317385076\n", 1266 | "0.530592384314613\n", 1267 | "0.5102031264201637\n", 1268 | "0.5012056601091588\n", 1269 | "0.5004018870492399\n", 1270 | "0.5022384298048553\n", 1271 | "0.5007461454837724\n", 1272 | "0.5471226095309272\n", 1273 | "0.5157282877029463\n", 1274 | "0.5313367381500551\n", 1275 | "0.5104516685184527\n", 1276 | "0.5282705777094109\n", 1277 | "0.5094279953812122\n", 1278 | "0.508385320312306\n", 1279 | "0.5027952232499281\n", 1280 | "0.5268414586976131\n", 1281 | "0.5089509777117491\n", 1282 | "0.5011713692433638\n", 1283 | "0.5003904567319354\n", 1284 | "0.5386784191581511\n", 1285 | "0.5129042667583084\n", 1286 | "0.5000247226085982\n", 1287 | "0.5000082408695357\n", 1288 | "0.8375979649536498\n", 1289 | "0.6222852725838819\n", 1290 | "0.6449891749304295\n", 1291 | "0.5489554774868963\n", 1292 | "0.96852579960197\n", 1293 | "0.6968697887145316\n", 1294 | "0.5786274460930421\n", 1295 | "0.5263062388098859\n", 1296 | "0.5961014260376272\n", 1297 | "0.5322120689608983\n", 1298 | "0.505553135066197\n", 1299 | "0.5018510788498446\n", 1300 | "0.5032053390632337\n", 1301 | "0.5010684528596737\n", 1302 | "0.5720051630411498\n", 1303 | "0.5240761530696896\n", 1304 | "0.505681975947276\n", 1305 | "0.5018940282199117\n", 1306 | "0.5306936217679856\n", 1307 | "0.5102369287278622\n", 1308 | "0.5896824070750639\n", 1309 | "0.5300386935984683\n", 1310 | "0.5224074616624351\n", 1311 | "0.5074713782260615\n", 1312 | "0.5356279955077081\n", 1313 | "0.5118849519650971\n", 1314 | "0.5363375129036138\n", 1315 | "0.5121220042666483\n", 1316 | "0.5635107867904112\n", 1317 | "0.5212212317776579\n", 1318 | "0.9922490547832001\n", 1319 | "0.7241352977308926\n", 1320 | "0.5002573236137506\n", 1321 | "0.5000857745412826\n", 1322 | "0.6170739570894184\n", 1323 | "0.5393496048419588\n", 1324 | "0.500384779061373\n", 1325 | "0.5001282596983774\n", 1326 | "0.5113663237197051\n", 1327 | "0.5037890647046747\n", 1328 | "0.5050078880346007\n", 1329 | "0.501669320821042\n", 1330 | "0.5003062976974731\n", 1331 | "0.5001020992381674\n", 1332 | "0.502003398545648\n", 1333 | "0.5006678011035438\n", 1334 | "0.5156635042975289\n", 1335 | "0.5052219275352987\n", 1336 | "0.5922792481418219\n", 1337 | "0.5309173675409908\n", 1338 | "0.9893118701203472\n", 1339 | "0.7792782154344428\n", 1340 | "0.5819528641007451\n", 1341 | "0.5274276650812764\n", 1342 | "0.671215953234472\n", 1343 | "0.5581189999484325\n", 1344 | "0.5000352329150182\n", 1345 | "0.5000117443050147\n", 1346 | "0.5514482217371472\n", 1347 | "0.5171764342407025\n", 1348 | "0.5040343818169462\n", 1349 | "0.5013448069101333\n", 1350 | "0.7130251927599047\n", 1351 | "0.5730909164812998\n", 1352 | "0.5001592935726942\n", 1353 | "0.5000530978583632\n", 1354 | "0.535068802374157\n", 1355 | "0.5116981386512337\n", 1356 | "0.5322288429763332\n", 1357 | "0.5107495724516056\n", 1358 | "0.541305263313933\n", 1359 | "0.5137823838801135\n", 1360 | "0.6069029594932286\n", 1361 | "0.5358806859252112\n", 1362 | "0.5219411403240736\n", 1363 | "0.5073158017010388\n", 1364 | "0.6782589800498449\n", 1365 | "0.5606069767542647\n", 1366 | "0.5689776486437175\n", 1367 | "0.5230579317852818\n", 1368 | "0.5006972487860224\n", 1369 | "0.5002324163289649\n", 1370 | "0.5575710012257503\n", 1371 | "0.5192282493446048\n", 1372 | "0.501308185179228\n", 1373 | "0.500436062168635\n", 1374 | "0.5000579920843917\n", 1375 | "0.5000193306948357\n", 1376 | "0.6610215389100077\n", 1377 | "0.5545390564176655\n", 1378 | "0.5045701435123352\n", 1379 | "0.5015234000263892\n", 1380 | "0.6935232129613957\n", 1381 | "0.5660441271998297\n", 1382 | "0.5001406213598629\n", 1383 | "0.5000468737871703\n", 1384 | "0.500151932629238\n", 1385 | "0.5000506442104388\n", 1386 | "0.5000110927625038\n", 1387 | "0.5000036975875015\n", 1388 | "0.9745672580596888\n", 1389 | "0.7024297818933907\n", 1390 | "0.5203010031783585\n", 1391 | "0.5067686549465282\n", 1392 | "0.5001854816687473\n", 1393 | "0.5000618272241762\n", 1394 | "0.5561755045672524\n", 1395 | "0.5187603828751038\n", 1396 | "0.9400377761661929\n", 1397 | "0.6755163516133356\n", 1398 | "0.5015647363684081\n", 1399 | "0.5005215795462332\n", 1400 | "0.7259058550679746\n", 1401 | "0.5778149221899048\n", 1402 | "0.5302837641285191\n", 1403 | "0.510100083117168\n", 1404 | "0.5006164620302672\n", 1405 | "0.5002054873896983\n", 1406 | "0.5347627622333907\n", 1407 | "0.5115959033730374\n", 1408 | "0.5038448693274039\n", 1409 | "0.5012816343368431\n", 1410 | "0.5028005503564528\n", 1411 | "0.5009335211242997\n", 1412 | "0.5463419280113284\n", 1413 | "0.5154670435884985\n", 1414 | "0.5153179553563896\n", 1415 | "0.5051066953808058\n", 1416 | "0.8337681461869337\n", 1417 | "0.6206143120238846\n", 1418 | "0.7566884083338092\n", 1419 | "0.5893696846858894\n", 1420 | "0.5216121698879663\n", 1421 | "0.5072060523095707\n", 1422 | "0.5622518901420422\n", 1423 | "0.5207986146556333\n", 1424 | "0.9267135123085829\n", 1425 | "0.6671402962762658\n", 1426 | "0.5272120643406626\n", 1427 | "0.5090746736958519\n", 1428 | "0.5182353566421826\n", 1429 | "0.5060796507046083\n", 1430 | "0.5227203314463573\n", 1431 | "0.5075757626929938\n", 1432 | "0.522156835625064\n", 1433 | "0.5073877623652837\n", 1434 | "0.5454893448737175\n", 1435 | "0.5151817773186057\n", 1436 | "0.5931441109711931\n", 1437 | "0.5312101759489067\n", 1438 | "0.5054596514428501\n", 1439 | "0.5018199159621923\n", 1440 | "0.6753956941721464\n", 1441 | "0.5595940038978379\n", 1442 | "0.9197764448764677\n", 1443 | "0.6630396646737604\n", 1444 | "0.7499699905116162\n", 1445 | "0.5868127138608332\n", 1446 | "0.5239016780021327\n", 1447 | "0.5079699259872125\n", 1448 | "0.7622293696430926\n", 1449 | "0.5914947438253444\n", 1450 | "0.5065361449427541\n", 1451 | "0.502178770142025\n" 1452 | ] 1453 | }, 1454 | { 1455 | "name": "stdout", 1456 | "output_type": "stream", 1457 | "text": [ 1458 | "0.6934382653952564\n", 1459 | "0.5660136879947694\n", 1460 | "0.6195101102032671\n", 1461 | "0.540182736184498\n", 1462 | "0.5217312031096657\n", 1463 | "0.5072457632255097\n", 1464 | "0.8464182076484854\n", 1465 | "0.6261896561234732\n", 1466 | "0.501342356394362\n", 1467 | "0.5004474526092471\n", 1468 | "0.5234139511945518\n", 1469 | "0.5078071883460582\n", 1470 | "0.5020698500544486\n", 1471 | "0.5006899517698302\n", 1472 | "0.5073200809687137\n", 1473 | "0.5024401044757051\n", 1474 | "0.7775182681968564\n", 1475 | "0.5974402582445756\n", 1476 | "0.5696684277199117\n", 1477 | "0.5232901871699327\n", 1478 | "0.50582747431984\n", 1479 | "0.5019425305332428\n", 1480 | "0.5390574028353896\n", 1481 | "0.5130309354604962\n", 1482 | "0.5852418024664494\n", 1483 | "0.5285378892186897\n", 1484 | "0.5015144127710828\n", 1485 | "0.5005048049430993\n", 1486 | "0.5018839332775564\n", 1487 | "0.5006279790799769\n", 1488 | "0.5020594911657028\n", 1489 | "0.5006864987807464\n", 1490 | "0.5248076182538554\n", 1491 | "0.5082722251030163\n", 1492 | "0.5782054530555727\n", 1493 | "0.5261640081439853\n", 1494 | "0.519401078526277\n", 1495 | "0.5064684696307886\n", 1496 | "0.8045008872731427\n", 1497 | "0.6082691067854893\n", 1498 | "0.500679521370634\n", 1499 | "0.5002265071855236\n", 1500 | "0.9380569586719272\n", 1501 | "0.6742235395198437\n", 1502 | "0.5126092430007656\n", 1503 | "0.5042034771184498\n", 1504 | "0.5001722547010032\n", 1505 | "0.5000574182346773\n", 1506 | "0.5791467986193424\n", 1507 | "0.5264813076607695\n", 1508 | "0.5032037682523651\n", 1509 | "0.5010679292464916\n", 1510 | "0.5888009297551173\n", 1511 | "0.5297406068607883\n", 1512 | "0.5130896573212637\n", 1513 | "0.5043636622584782\n", 1514 | "0.5817530149220704\n", 1515 | "0.5273602391139758\n", 1516 | "0.5139432771646565\n", 1517 | "0.5046482947031373\n", 1518 | "0.5002394075004075\n", 1519 | "0.5000798025028463\n", 1520 | "0.7365654020580149\n", 1521 | "0.5817712187589761\n", 1522 | "0.5056197508405377\n", 1523 | "0.5018732853400678\n", 1524 | "0.5016946410638934\n", 1525 | "0.5005648813159564\n", 1526 | "0.549503735324945\n", 1527 | "0.5165253135433612\n", 1528 | "0.5116399223176805\n", 1529 | "0.5038802857004328\n", 1530 | "0.5121379659516814\n", 1531 | "0.504046341985418\n", 1532 | "0.5286272287063992\n", 1533 | "0.5095470505134535\n", 1534 | "0.5388034784951612\n", 1535 | "0.5129460649288549\n", 1536 | "0.5361911717523253\n", 1537 | "0.5120731093897967\n", 1538 | "0.6012494844094128\n", 1539 | "0.5339586862589873\n", 1540 | "0.5071532551009469\n", 1541 | "0.5023844906748597\n", 1542 | "0.5705016798309189\n", 1543 | "0.5235703991895458\n", 1544 | "0.5300367381322977\n", 1545 | "0.5100176075992249\n", 1546 | "0.5003728022927907\n", 1547 | "0.5001242674411648\n", 1548 | "0.5282037434103524\n", 1549 | "0.5094056856277601\n", 1550 | "0.5027446404619005\n", 1551 | "0.5009148842380743\n", 1552 | "0.5628334800844722\n", 1553 | "0.5209938419228388\n", 1554 | "0.9770090905606919\n", 1555 | "0.7048487135928451\n", 1556 | "0.5205754559234841\n", 1557 | "0.5068602072177568\n", 1558 | "0.860858714834249\n", 1559 | "0.6327681232854343\n", 1560 | "0.504574773834917\n", 1561 | "0.501524943524621\n", 1562 | "0.5493378163760638\n", 1563 | "0.5164697653309873\n", 1564 | "0.7529857977494399\n", 1565 | "0.5879579031041507\n", 1566 | "0.5129505131799755\n", 1567 | "0.5043172668927693\n", 1568 | "0.5379035992072614\n", 1569 | "0.5126453172687137\n", 1570 | "0.5864171145006458\n", 1571 | "0.5289349055539797\n", 1572 | "0.5006139081117983\n", 1573 | "0.5002046360829692\n", 1574 | "0.5044739981458447\n", 1575 | "0.5014913504056883\n", 1576 | "0.5249737803581492\n", 1577 | "0.5083276735881338\n", 1578 | "0.5018574201140985\n", 1579 | "0.5006191413038414\n", 1580 | "0.560857556831867\n", 1581 | "0.5203306704171962\n", 1582 | "0.536784943189483\n", 1583 | "0.5122715035338296\n", 1584 | "0.5490317273072928\n", 1585 | "0.5163672936704912\n", 1586 | "0.5327765896323027\n", 1587 | "0.5109324986618016\n", 1588 | "0.5021033087923831\n", 1589 | "0.5007011047688028\n", 1590 | "0.7960357615891245\n", 1591 | "0.6048210793431247\n", 1592 | "0.8616826208760704\n", 1593 | "0.633151078345679\n", 1594 | "0.5160333725674267\n", 1595 | "0.5053452720545119\n", 1596 | "0.574189155628839\n", 1597 | "0.5248111778806985\n", 1598 | "0.5158948287987033\n", 1599 | "0.5052990698589319\n", 1600 | "0.5014215298343521\n", 1601 | "0.5004738438455372\n", 1602 | "0.5050592112005649\n", 1603 | "0.5016864293136757\n", 1604 | "0.6944669474610848\n", 1605 | "0.5663824368884782\n", 1606 | "0.5000265886886089\n", 1607 | "0.5000088628962067\n", 1608 | "0.5000092749454521\n", 1609 | "0.5000030916484842\n", 1610 | "0.5294501635001926\n", 1611 | "0.5098217743911957\n", 1612 | "0.5000859269880673\n", 1613 | "0.5000286423294811\n", 1614 | "0.8790937071987608\n", 1615 | "0.6414627700247628\n", 1616 | "0.7918499167833575\n", 1617 | "0.6031339496611445\n", 1618 | "0.5012064006046305\n", 1619 | "0.5004021338817021\n", 1620 | "0.5042863305945333\n", 1621 | "0.5014287924211385\n", 1622 | "0.511651721462847\n", 1623 | "0.5038842196975056\n", 1624 | "0.6557593439660507\n", 1625 | "0.5527004028668705\n", 1626 | "0.5449863245543545\n", 1627 | "0.5150134901262619\n", 1628 | "0.5031089645880068\n", 1629 | "0.501036327465279\n", 1630 | "0.5009845239055922\n", 1631 | "0.5003281748236987\n", 1632 | "0.5280342540890345\n", 1633 | "0.5093491095863217\n", 1634 | "0.5945252340054848\n", 1635 | "0.5316779504666739\n", 1636 | "0.5900167583166602\n", 1637 | "0.5301517828555802\n", 1638 | "0.9290575906164951\n", 1639 | "0.6685629919847142\n", 1640 | "0.6783803687542348\n", 1641 | "0.5606499681056092\n", 1642 | "0.6078631325239903\n", 1643 | "0.5362075378704059\n", 1644 | "0.5007855018005818\n", 1645 | "0.5002618340292636\n", 1646 | "0.5033261071156399\n", 1647 | "0.5011087096405039\n", 1648 | "0.5702748854145464\n", 1649 | "0.5234941252417944\n", 1650 | "0.5110080318149336\n", 1651 | "0.5036696074850017\n", 1652 | "0.6494019000582225\n", 1653 | "0.5504869691108637\n", 1654 | "0.5020443280759627\n", 1655 | "0.500681444379667\n", 1656 | "0.5055561623496428\n", 1657 | "0.5018520879996823\n", 1658 | "0.502225662251626\n", 1659 | "0.5007418895950015\n", 1660 | "0.6735718549366235\n", 1661 | "0.5589498487978061\n", 1662 | "0.5140563444861644\n", 1663 | "0.5046859969502145\n", 1664 | "0.5187525493239561\n", 1665 | "0.5062521532042017\n", 1666 | "0.5178403146190225\n", 1667 | "0.5059478937863862\n", 1668 | "0.5262363567172476\n", 1669 | "0.5087490239602338\n", 1670 | "0.9937412437587076\n", 1671 | "0.7725026690556656\n", 1672 | "0.8563643777877211\n", 1673 | "0.6306941657456113\n", 1674 | "0.5245049804513505\n", 1675 | "0.5081712366100639\n", 1676 | "0.608798519219836\n", 1677 | "0.5365260739289415\n", 1678 | "0.6750164799340113\n", 1679 | "0.5594600018452439\n", 1680 | "0.5151962866950723\n", 1681 | "0.5050661223652855\n", 1682 | "0.5010728365789108\n", 1683 | "0.5003576124368841\n", 1684 | "0.5185450651179847\n", 1685 | "0.506182948997094\n", 1686 | "0.5018876469656394\n", 1687 | "0.5006292169838309\n", 1688 | "0.5664116490886009\n", 1689 | "0.5221955334048851\n", 1690 | "0.5144624440627906\n", 1691 | "0.5048214124403435\n", 1692 | "0.6048254195010275\n", 1693 | "0.5351738985412583\n", 1694 | "0.554236046353744\n", 1695 | "0.5181103617481441\n", 1696 | "0.5010254795923241\n", 1697 | "0.5003418267437929\n", 1698 | "0.5412613232646223\n", 1699 | "0.5137676925938662\n", 1700 | "0.6138741982260443\n", 1701 | "0.5382566873980194\n", 1702 | "0.5803522225129777\n", 1703 | "0.5268877462796422\n", 1704 | "0.5047100036174659\n", 1705 | "0.5015700218461129\n", 1706 | "0.5875691223496738\n", 1707 | "0.5293241934118665\n", 1708 | "0.5683120964921511\n", 1709 | "0.5228341962265837\n", 1710 | "0.5857903293397041\n", 1711 | "0.5287231614209323\n", 1712 | "0.500646791837391\n", 1713 | "0.500215597332578\n", 1714 | "0.5292352703720223\n", 1715 | "0.5097500334248468\n", 1716 | "0.5368216928745397\n", 1717 | "0.5122837830451706\n", 1718 | "0.5546113371315219\n", 1719 | "0.5182361232341031\n", 1720 | "0.5000086924482517\n", 1721 | "0.5000028974827507\n", 1722 | "0.5899459220350933\n", 1723 | "0.530127822509498\n", 1724 | "0.5346022146126721\n", 1725 | "0.5115422726490226\n", 1726 | "0.5029238549516064\n", 1727 | "0.5009746232547241\n", 1728 | "0.5492852755289135\n", 1729 | "0.516452175455824\n", 1730 | "0.5204105184538621\n", 1731 | "0.5068051869624043\n", 1732 | "0.5932061100773607\n", 1733 | "0.5312311697300732\n", 1734 | "0.621532893858856\n", 1735 | "0.5408751967864383\n", 1736 | "0.5263113438158159\n", 1737 | "0.5087740503980628\n", 1738 | "0.5753736030602665\n", 1739 | "0.5252099852259143\n", 1740 | "0.6310756522429128\n", 1741 | "0.544150888723307\n", 1742 | "0.5031207854790664\n", 1743 | "0.5010402678302663\n", 1744 | "0.5037451255303752\n", 1745 | "0.5012483855531493\n", 1746 | "0.5952488920074264\n", 1747 | "0.531923137035428\n", 1748 | "0.576160326563715\n", 1749 | "0.5254749491481301\n", 1750 | "0.5215052999088564\n", 1751 | "0.5071703995079186\n", 1752 | "0.5019433316249972\n", 1753 | "0.500647778658034\n", 1754 | "0.5976276792659687\n", 1755 | "0.5327295499477362\n", 1756 | "0.5081789947271458\n", 1757 | "0.5027264396659357\n", 1758 | "0.5199335588469429\n", 1759 | "0.5066460852720397\n", 1760 | "0.5113793367151858\n", 1761 | "0.5037934033676202\n", 1762 | "0.5293397862213514\n", 1763 | "0.5097849253023478\n", 1764 | "0.5011302812347168\n", 1765 | "0.5003767606968025\n", 1766 | "0.6637172575501946\n", 1767 | "0.5554833529986437\n", 1768 | "0.5132125545478038\n", 1769 | "0.5044046406029243\n", 1770 | "0.6553496694499418\n", 1771 | "0.5525575122182504\n", 1772 | "0.5141229482404418\n", 1773 | "0.5047082060415574\n", 1774 | "0.5930332097505246\n", 1775 | "0.531172624329686\n", 1776 | "0.5004998308727067\n", 1777 | "0.5001666103155685\n", 1778 | "0.6281763352931159\n", 1779 | "0.5431540563831354\n", 1780 | "0.5045974105495713\n", 1781 | "0.5015324893783244\n", 1782 | "0.5001426328628618\n", 1783 | "0.5000475442881938\n", 1784 | "0.5848606530144708\n", 1785 | "0.5284091696651975\n", 1786 | "0.6008162150297484\n", 1787 | "0.5338115602430075\n", 1788 | "0.5016613416511533\n", 1789 | "0.5005537814561462\n", 1790 | "0.528285841174015\n", 1791 | "0.5094330904528416\n", 1792 | "0.508029459222593\n", 1793 | "0.5026765886764433\n", 1794 | "0.5232632016499184\n", 1795 | "0.5077568897602536\n", 1796 | "0.5007530205788447\n", 1797 | "0.5002510069439593\n", 1798 | "0.5504772568949107\n", 1799 | "0.5168512732514832\n", 1800 | "0.5227325044287084\n", 1801 | "0.5075798240852517\n", 1802 | "0.5034718073921465\n", 1803 | "0.5011572773970151\n", 1804 | "0.5620747102721141\n", 1805 | "0.520739144261306\n", 1806 | "0.5706879217033964\n", 1807 | "0.523633038093156\n", 1808 | "0.6959982501212301\n", 1809 | "0.5669319356871654\n", 1810 | "0.5516967546240443\n", 1811 | "0.517259673372104\n", 1812 | "0.6764809793025174\n", 1813 | "0.5599777096538255\n", 1814 | "0.5363184287868086\n", 1815 | "0.512115627910892\n", 1816 | "0.501212292863503\n", 1817 | "0.5004040979730997\n", 1818 | "0.5008503186464242\n", 1819 | "0.5002834396702533\n", 1820 | "0.5076246087550462\n", 1821 | "0.5025416238170834\n", 1822 | "0.5187540848386356\n", 1823 | "0.5062526653627741\n", 1824 | "0.5829999178764182\n", 1825 | "0.5277809908064555\n", 1826 | "0.5076683108609361\n", 1827 | "0.5025561927001665\n", 1828 | "0.5258897464291116\n", 1829 | "0.5086333473902206\n", 1830 | "0.5000098106444367\n", 1831 | "0.5000032702148124\n", 1832 | "0.5096063576763927\n", 1833 | "0.5032022943643092\n", 1834 | "0.5244426736308074\n", 1835 | "0.508150445515104\n", 1836 | "0.5082731944763339\n", 1837 | "0.502757843360534\n", 1838 | "0.9954553657959132\n", 1839 | "0.7302782572389597\n", 1840 | "0.9456311073677054\n", 1841 | "0.6792716532464902\n", 1842 | "0.5593655077471363\n", 1843 | "0.5198300910436614\n", 1844 | "0.601220449898759\n", 1845 | "0.5339488262131129\n", 1846 | "0.5024910001983628\n", 1847 | "0.5008303364526949\n", 1848 | "0.7496148438169669\n", 1849 | "0.5866781279861998\n", 1850 | "0.50299622985829\n", 1851 | "0.5009987485994326\n", 1852 | "0.6278206746204669\n", 1853 | "0.543031872488263\n", 1854 | "0.5608837436833178\n", 1855 | "0.520339457505139\n", 1856 | "0.56185199802966\n", 1857 | "0.5206643942851127\n", 1858 | "0.7080452012277488\n", 1859 | "0.5712799259125806\n", 1860 | "0.7264148597656568\n", 1861 | "0.5780028404308559\n", 1862 | "0.5230664350121439\n", 1863 | "0.5076912382110521\n", 1864 | "0.5000082001231039\n", 1865 | "0.5000027333743681\n", 1866 | "0.6362344693720842\n", 1867 | "0.5459281876382984\n", 1868 | "0.5026788669618482\n", 1869 | "0.5008929594514158\n", 1870 | "0.5753486075834424\n", 1871 | "0.5252015678350124\n", 1872 | "0.5930925973631639\n", 1873 | "0.5311927330469977\n", 1874 | "0.5043120510129412\n", 1875 | "0.5014373661756708\n", 1876 | "0.6132377766140126\n", 1877 | "0.5380394895189743\n", 1878 | "0.5752536669713585\n", 1879 | "0.5251695964865218\n", 1880 | "0.6163509322324753\n", 1881 | "0.5391025134071284\n", 1882 | "0.5013856058848679\n", 1883 | "0.5004618691537686\n", 1884 | "0.5010033329628066\n", 1885 | "0.5003344445204484\n", 1886 | "0.5058747197263178\n", 1887 | "0.5019582799606674\n", 1888 | "0.5188191194649372\n", 1889 | "0.5062743571876257\n", 1890 | "0.5638659322398903\n", 1891 | "0.5213404776515896\n", 1892 | "0.5173916590619483\n", 1893 | "0.5057982593480421\n", 1894 | "0.5019112919745131\n", 1895 | "0.5006370987040112\n", 1896 | "0.5010017268673459\n", 1897 | "0.5003339091543383\n", 1898 | "0.5001979252156994\n", 1899 | "0.5000659750734313\n", 1900 | "0.9457899267726635\n", 1901 | "0.679380700915868\n", 1902 | "0.5007495135082602\n", 1903 | "0.5002498379192581\n", 1904 | "0.5000085398969433\n", 1905 | "0.5000028466323145\n", 1906 | "0.8787391616568717\n", 1907 | "0.6412890257347958\n", 1908 | "0.5049912354216366\n", 1909 | "0.5016637697033733\n", 1910 | "0.6637771435829346\n", 1911 | "0.5555043495755956\n", 1912 | "0.504831256278873\n", 1913 | "0.5016104410354193\n", 1914 | "0.5886691094689139\n", 1915 | "0.5296960369542256\n", 1916 | "0.7847231060218147\n", 1917 | "0.6002871039913624\n", 1918 | "0.5913450639747995\n", 1919 | "0.5306011863850923\n", 1920 | "0.500294691176662\n", 1921 | "0.5000982303972759\n", 1922 | "0.512967921034628\n", 1923 | "0.5043230712442928\n", 1924 | "0.5036588225109111\n", 1925 | "0.501219617179046\n", 1926 | "0.8799635243309256\n", 1927 | "0.6418898765079958\n", 1928 | "0.5035015303390543\n", 1929 | "0.5011671852601194\n", 1930 | "0.5173734272697696\n", 1931 | "0.5057921788165902\n", 1932 | "0.5404082674035684\n", 1933 | "0.5134824934850292\n", 1934 | "0.5070076807781766\n", 1935 | "0.502335961575019\n", 1936 | "0.5028400633639124\n", 1937 | "0.5009466923130406\n", 1938 | "0.503685851255529\n", 1939 | "0.5012286269766015\n", 1940 | "0.6418859709291949\n", 1941 | "0.5478807630002768\n", 1942 | "0.5038461952578991\n", 1943 | "0.501282076325295\n", 1944 | "0.564520408827694\n", 1945 | "0.5215602545016201\n", 1946 | "0.5060018475645258\n", 1947 | "0.5020006585636706\n", 1948 | "0.5010439978374697\n", 1949 | "0.5003479995039246\n", 1950 | "0.5277848042702732\n", 1951 | "0.5092658442346901\n", 1952 | "0.7630109145919933\n", 1953 | "0.5917957020817057\n", 1954 | "0.8495597024869598\n", 1955 | "0.6276002450797058\n", 1956 | "0.5981307507746165\n", 1957 | "0.53290018025464\n", 1958 | "0.5036619697318457\n", 1959 | "0.5012206662776802\n", 1960 | "0.500144527747216\n", 1961 | "0.500048175916335\n", 1962 | "0.9772312944719009\n", 1963 | "0.705074632975325\n", 1964 | "0.5673965976654491\n", 1965 | "0.5225264974372518\n", 1966 | "0.5992459967592645\n", 1967 | "0.5332785575923282\n", 1968 | "0.5041235063484597\n", 1969 | "0.5013745159660997\n", 1970 | "0.5001923578112445\n", 1971 | "0.5000641192718208\n", 1972 | "0.8880456989556025\n", 1973 | "0.6459190224061329\n", 1974 | "0.5029676022834815\n", 1975 | "0.5009892059236462\n", 1976 | "0.6230720589271003\n", 1977 | "0.5414025314350668\n", 1978 | "0.5210177609302243\n", 1979 | "0.5070077557306404\n", 1980 | "0.5424978267413771\n", 1981 | "0.5141811523902196\n", 1982 | "0.8302167221736695\n", 1983 | "0.6190772755480045\n", 1984 | "0.5013832012717089\n", 1985 | "0.5004610676133179\n", 1986 | "0.5078555892647256\n", 1987 | "0.5026186255225776\n", 1988 | "0.5007900594985737\n", 1989 | "0.5002633532636038\n", 1990 | "0.5649145021651787\n", 1991 | "0.5216926093940898\n", 1992 | "0.6175954945812763\n", 1993 | "0.5395278875365185\n", 1994 | "0.5439857195235166\n", 1995 | "0.514678774684494\n", 1996 | "0.6055410425575631\n", 1997 | "0.5354172909906011\n", 1998 | "0.503813962040651\n", 1999 | "0.5012713316393272\n", 2000 | "0.5336098996449106\n", 2001 | "0.5112108145571841\n", 2002 | "0.5264801100161512\n", 2003 | "0.5088303756227246\n", 2004 | "0.6169254964468307\n", 2005 | "0.5392988624767991\n", 2006 | "0.5017656388250488\n", 2007 | "0.5005885473623002\n", 2008 | "0.5647466969588962\n", 2009 | "0.5216362510990581\n", 2010 | "0.5196283203183752\n", 2011 | "0.5065442682357215\n", 2012 | "0.5270348594586227\n", 2013 | "0.5090155279785421\n", 2014 | "0.5100046289289603\n", 2015 | "0.5033350741501578\n", 2016 | "0.5004107210920423\n", 2017 | "0.5001369070443668\n", 2018 | "0.510103591253037\n", 2019 | "0.5033680675214115\n", 2020 | "0.981730891076858\n", 2021 | "0.7880643014262161\n", 2022 | "0.504602555244769\n", 2023 | "0.5015342043412379\n", 2024 | "0.5008205308325715\n", 2025 | "0.5002735103866478\n", 2026 | "0.5388228849398826\n", 2027 | "0.5129525511459798\n", 2028 | "0.5519757135024459\n", 2029 | "0.5173531074186093\n", 2030 | "0.5028299974722309\n", 2031 | "0.5009433369678693\n", 2032 | "0.5171075719860481\n", 2033 | "0.5057035135189432\n", 2034 | "0.8948334249316816\n", 2035 | "0.6493937850740801\n", 2036 | "0.518062061795896\n", 2037 | "0.5060218518978881\n", 2038 | "0.5722478860454406\n", 2039 | "0.5241578207431842\n", 2040 | "0.6001677593873267\n", 2041 | "0.5335914075930563\n", 2042 | "0.5412101191810208\n", 2043 | "0.5137505727095254\n", 2044 | "0.5149256097236935\n", 2045 | "0.5049758602985602\n", 2046 | "0.5015853574107823\n", 2047 | "0.50052845325734\n", 2048 | "0.5143228703546388\n", 2049 | "0.5047748707269708\n", 2050 | "0.5033491321718051\n", 2051 | "0.5011163848112267\n" 2052 | ] 2053 | } 2054 | ], 2055 | "source": [ 2056 | "n = 1000 # data count\n", 2057 | "data = np.ndarray((n, dims + len(causes) * 2))\n", 2058 | "\n", 2059 | "for d in range(n):\n", 2060 | " covariates = sim.get_new_state()\n", 2061 | " for c in causes:\n", 2062 | " p = sim.get_response_rate(c, covariates, drift=False)\n", 2063 | " \"\"\"\n", 2064 | " Note that the parameters of the Sine_Base are\n", 2065 | " highly sensitive. It is good practice to keep\n", 2066 | " in mind the given response rates. Also, the\n", 2067 | " higher the dimension of the covariates the more\n", 2068 | " sensitive the parameters will be.\n", 2069 | " \"\"\"\n", 2070 | " print(p)\n", 2071 | " covariates = np.append(covariates, [c, np.random.binomial(1,p)])\n", 2072 | " \n", 2073 | " data[d] = covariates\n", 2074 | " " 2075 | ] 2076 | }, 2077 | { 2078 | "cell_type": "code", 2079 | "execution_count": 83, 2080 | "metadata": {}, 2081 | "outputs": [ 2082 | { 2083 | "data": { 2084 | "text/plain": [ 2085 | "array([[0.47912421, 0.77664246, 0.67185503, ..., 0. , 1. ,\n", 2086 | " 0. ],\n", 2087 | " [0.17111171, 0.6280657 , 0.49966338, ..., 1. , 1. ,\n", 2088 | " 0. ],\n", 2089 | " [0.46535226, 0.26265062, 0.12480625, ..., 1. , 1. ,\n", 2090 | " 1. ],\n", 2091 | " ...,\n", 2092 | " [0.27360197, 0.73726894, 0.31800897, ..., 0. , 1. ,\n", 2093 | " 0. ],\n", 2094 | " [0.32330085, 0.87825974, 0.05439212, ..., 1. , 1. ,\n", 2095 | " 1. ],\n", 2096 | " [0.38104782, 0.54149087, 0.02135069, ..., 1. , 1. ,\n", 2097 | " 1. ]])" 2098 | ] 2099 | }, 2100 | "execution_count": 83, 2101 | "metadata": {}, 2102 | "output_type": "execute_result" 2103 | } 2104 | ], 2105 | "source": [ 2106 | "data" 2107 | ] 2108 | }, 2109 | { 2110 | "cell_type": "code", 2111 | "execution_count": null, 2112 | "metadata": {}, 2113 | "outputs": [], 2114 | "source": [] 2115 | } 2116 | ], 2117 | "metadata": { 2118 | "kernelspec": { 2119 | "display_name": "Python (cs-um)", 2120 | "language": "python", 2121 | "name": "cs-um" 2122 | }, 2123 | "language_info": { 2124 | "codemirror_mode": { 2125 | "name": "ipython", 2126 | "version": 3 2127 | }, 2128 | "file_extension": ".py", 2129 | "mimetype": "text/x-python", 2130 | "name": "python", 2131 | "nbconvert_exporter": "python", 2132 | "pygments_lexer": "ipython3", 2133 | "version": "3.7.3" 2134 | } 2135 | }, 2136 | "nbformat": 4, 2137 | "nbformat_minor": 2 2138 | } 2139 | --------------------------------------------------------------------------------