In [3]:
import numpy as np
In [4]:
def simulation(f, rounds):
values = [
f()
for _ in xrange(rounds)
]
return np.var(values)
In [5]:
def a():
x = np.random.normal(size=50)
y = np.random.normal(size=50)
return np.mean(x) - np.mean(y)
In [6]:
simulation(a, 10000)
Out[6]:
In [7]:
def b():
x = np.random.choice(np.random.normal(size=100), 50, replace=False)
y = np.random.choice(np.random.normal(size=100), 50, replace=False)
return np.mean(x) - np.mean(y)
In [8]:
simulation(b, 10000)
Out[8]:
In [9]:
def c():
x = np.random.choice(np.random.normal(size=100), 50, replace=True)
y = np.random.choice(np.random.normal(size=100), 50, replace=True)
return np.mean(x) - np.mean(y)
In [10]:
simulation(c, 10000)
Out[10]:
In [11]:
def d():
p = np.random.normal(size=100)
x = np.random.choice(p, 50, replace=False)
y = np.random.choice(p, 50, replace=False)
return np.mean(x) - np.mean(y)
In [12]:
simulation(d, 10000)
Out[12]:
In [13]:
def e():
p = np.random.normal(size=100)
x = np.random.choice(p, 50, replace=True)
y = np.random.choice(p, 50, replace=True)
return np.mean(x) - np.mean(y)
In [15]:
simulation(e, 10000)
Out[15]: