def test_change_functions(self): """ Tests gen.b_w_from_abs_change and gen.counts_from_first Returns ------- boolean -- all tests were passed or not """ np.random.seed(1234) correct = True counts_before = np.array([600, 400]) abs_change = 100 n_total = 1000 K = 2 b_0 = 600 b, w = gen.b_w_from_abs_change(counts_before, abs_change, n_total) if any(np.abs(b - [-0.51082562, -0.91629073]) > 1e-5): print("gen.b_w_from_abs_change: b not correct!") correct = False if any(np.abs(w - [0.44183275, 0.]) > 1e-5): print("gen.b_w_from_abs_change: b not correct!") correct = False b_2 = gen.counts_from_first(b_0, n_total, K) if not np.array_equal(b_2, [600., 400.]): print("gen.counts_from_first not correct!") correct = False self.assertTrue(correct)
b_counts = dict(zip([b_i[0] for b_i in b], [20, 30, 50, 75, 115, 180, 280, 430, 667, 1000])) b2 = [] for y1_0 in [20, 30, 50, 75, 115, 180, 280, 430, 667, 1000]: b_i = np.round(gen.counts_from_first(y1_0, 5000, 5), 3) b2.append(b_i) b_w_dict = {} i = 0 w_all = [] for b_i in b2: b_t = np.round(np.log(b_i / 5000), 3) print(b_t) w_d = {} for change in [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 200, 400, 600, 800, 1000]: _, w = gen.b_w_from_abs_change(b_i, change, 5000) w_0 = np.round(w[0], 3) w_d[w_0] = change b_w_dict[b_t[0]] = w_d i += 1 print(b_w_dict) #%% # all_study_params: One line per data point # all_study_params_agg: Aggregate identical simulation parameters p = [] params = [] for b_i in b: print(b_i[0]) _, all_study_params, all_study_params_agg = ana.multi_run_study_analysis_prepare(path, file_identifier=str(b_i[0]))