def test_bayes_precision(self): """ Check the bayes_precision function.""" res = es.bayes_precision(self.rand_s1, self.rand_s2, num_iters=2000) self.assertEqual(res.treatment_statistics.sample_size, 1000) self.assertEqual(res.control_statistics.sample_size, 1000) self.assertAlmostEqual(res.treatment_statistics.mean, -0.045256707490195384) self.assertAlmostEqual(res.control_statistics.mean, 0.11361694031616358) self.assertAlmostEqual(res.treatment_statistics.variance, 0.9742344563121542) self.assertAlmostEqual(res.control_statistics.variance, 0.9373337542827797) self.assertAlmostEqual(res.delta, -0.15887364780635896) value025 = find_value_by_key_with_condition(res.confidence_interval, 'percentile', 2.5, 'value') value975 = find_value_by_key_with_condition(res.confidence_interval, 'percentile', 97.5, 'value') np.testing.assert_almost_equal(value025, -0.24293384641452503, decimal=5) np.testing.assert_almost_equal(value975, -0.07506434633646140, decimal=5) self.assertEqual(res.p, None) self.assertEqual(res.statistical_power, None) self.assertEqual(res.stop, False)
def do_delta(f): print(f.iloc[0,1]) return early_stopping_to_dataframe(f.columns[2], *es.bayes_precision( x=f.iloc[:, 2], y=baseline_metric, distribution=distribution, posterior_width=posterior_width ))
def test_bayes_precision(self): """ Check the bayes_precision function. """ res = es.bayes_precision(self.rand_s1, self.rand_s2, num_iters=2000) self.assertEqual(res['stop'], 0) self.assertAlmostEqual(res['delta'], -0.15887364780635896) self.assertAlmostEqual(res['interval'][02.5], -0.24644586591251214) self.assertAlmostEqual(res['interval'][97.5], -0.075698253541557695) self.assertEqual(res['n_x'], 1000) self.assertEqual(res['n_y'], 1000) self.assertAlmostEqual(res['mu_x'], -0.045256707490195384) self.assertAlmostEqual(res['mu_y'], 0.11361694031616358)
def test_bayes_precision(self): """ Check the bayes_precision function. """ stop, delta, CI, n_x, n_y, mu_x, mu_y = es.bayes_precision( self.rand_s1, self.rand_s2) self.assertEqual(stop, 0) self.assertAlmostEqual(delta, -0.15887364780635896) self.assertAlmostEqual(CI['lower'], -0.2488832923198368) self.assertAlmostEqual(CI['upper'], -0.074066551390901375) self.assertEqual(n_x, 1000) self.assertEqual(n_y, 1000) self.assertAlmostEqual(mu_x, -0.045256707490195384) self.assertAlmostEqual(mu_y, 0.11361694031616358)
def test_bayes_precision(self): """ Check the bayes_precision function. """ res = es.bayes_precision(self.rand_s1, self.rand_s2, num_iters=2000) self.assertEqual (res['stop'], 0) self.assertAlmostEqual (res['delta'], -0.15887364780635896) value025 = find_list_of_dicts_element(res['confidence_interval'], 'percentile', 2.5, 'value') value975 = find_list_of_dicts_element(res['confidence_interval'], 'percentile', 97.5, 'value') self.assertAlmostEqual (value025, -0.24293384641452503) self.assertAlmostEqual (value975, -0.075064346336461404) self.assertEqual (res['treatment_sample_size'], 1000) self.assertEqual (res['control_sample_size'], 1000) self.assertAlmostEqual (res['treatment_mean'], -0.045256707490195384) self.assertAlmostEqual (res['control_mean'], 0.11361694031616358)