コード例 #1
0
    def test_discrete_dist_describe_on_uniform_data(self):
        points = [
            utils.Point(omega=0, value=1, prob=.25),
            utils.Point(omega=1, value=2, prob=.25),
            utils.Point(omega=2, value=3, prob=.25),
            utils.Point(omega=3, value=4, prob=.25),
        ]
        dist = utils.DiscreteDist(points)

        expected = utils.Summary(mean=2.5, p10=1, p90=4)
        actual = dist.summarize()

        self.assertEqual(actual, expected)
コード例 #2
0
    def test_discrete_dist_describe_on_nonuniform_data(self):
        points = [
            utils.Point(omega=0, value=0, prob=.4),
            utils.Point(omega=1, value=3, prob=.2),
            utils.Point(omega=2, value=10, prob=.2),
            utils.Point(omega=3, value=20, prob=.1),
            utils.Point(omega=4, value=50, prob=.1)
        ]
        dist = utils.DiscreteDist(points)

        expected = utils.Summary(mean=9.6, p10=0, p90=20)
        actual = dist.summarize()

        self.assertEqual(actual, expected)
コード例 #3
0
ファイル: bracket.py プロジェクト: dmalison/hedger
 def get_dist(self):
     points = list()
     for code, (prob, winner_names) in \
             self._tournament.brackets_info.items():
         score = self._get_score(winner_names)
         sample_point = utils.Point(omega=code, prob=prob, value=score)
         points.append(sample_point)
     return utils.DiscreteDist(points)
コード例 #4
0
    def test_make_dist_with_four_equal_teams(self):
        expected = [
            utils.Point(omega=2, prob=.125, value=0),
            utils.Point(omega=3, prob=.125, value=0),
            utils.Point(omega=0, prob=.125, value=160),
            utils.Point(omega=1, prob=.125, value=160),
            utils.Point(omega=6, prob=.125, value=160),
            utils.Point(omega=4, prob=.125, value=320),
            utils.Point(omega=7, prob=.125, value=480),
            utils.Point(omega=5, prob=.125, value=640)
        ]
        actual = self.equal_bracket.get_dist()._points

        self.assertEqual(actual, expected)
コード例 #5
0
    def test_make_dist_with_four_unequal_teams(self):
        expected = [
            utils.Point(omega=2, prob=.09375, value=0),
            utils.Point(omega=3, prob=.09375, value=0),
            utils.Point(omega=0, prob=.01563, value=160),
            utils.Point(omega=1, prob=.04688, value=160),
            utils.Point(omega=6, prob=.14062, value=160),
            utils.Point(omega=4, prob=.01875, value=320),
            utils.Point(omega=7, prob=.42188, value=480),
            utils.Point(omega=5, prob=.16875, value=640)
        ]
        actual = self.unequal_bracket.get_dist()._points

        for actual_point, expected_point in zip(actual, expected):
            self.assertEqual(actual_point.omega, expected_point.omega)
            self.assertEqual(actual_point.value, expected_point.value)
            self.assertAlmostEqual(actual_point.prob, expected_point.prob, 4)