Beispiel #1
0
    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)
Beispiel #2
0
		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
												))
Beispiel #3
0
    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)
Beispiel #5
0
    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)
Beispiel #6
0
    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)