def table2_row(t0, total, rt0, rtotal): def pTi(t, total): return t * 1.0 / total def sTi(rt0, rtotal, t0): return 99999999 if rt0 == 0 else (t0 - rt0) / ( pow(rt0 * (1 - rt0 * 1.0 / rtotal), 0.5)) return {'|Ti|': t0, 'p(Ti)': pTi(t0, total), 'p0(Ti)': numpy.mean([pTi(rt0[i], rtotal[i]) for i in range(0, MAX_RANDOM_RUNS)]), 'p0(Ti)-sd': std_dev([pTi(rt0[i], rtotal[i]) for i in range(0, MAX_RANDOM_RUNS)]), 's(Ti)': numpy.mean([sTi(rt0[i], rtotal[i], t0) for i in range(0, MAX_RANDOM_RUNS)]), 's(Ti)-sd': std_dev([sTi(rt0[i], rtotal[i], t0) for i in range(0, MAX_RANDOM_RUNS)]) }
def normalize(data_point, data_points): very_small_value = 0.000001 mean = sum(data_points) * 1.0 / len(data_points) stddev = std_dev(data_points) if stddev == 0: stddev = very_small_value if mean == 0 else mean * very_small_value return (data_point - mean) / (3.0 * stddev)
def print_averages(self): for traid_type in self.run_lengths: values=[] for count in self.run_lengths[traid_type]: for i in range(0,self.run_lengths[traid_type][count]): values.append(count) print "%s=%.2f,%.2f" % (traid_type, average(values),std_dev(values))