예제 #1
0
 def __show_boundings_for_scenario(self, scenario):
     print("\nUniform Distribution Percentages")
     print(
         Distribution.percentage_distribution(UniformDistribution,
                                              len(scenario.dataList)))
     self.__show_bounding_for_uniform_bounded_scenario(scenario)
     self.__show_bounding_for_uniform_extremity_scenario(scenario)
     print("\nBinomial Distribution Percentages")
     print(
         Distribution.percentage_distribution(BinomialDistribution,
                                              len(scenario.dataList)))
     self.__show_bounding_for_binomial_bounded_scenario(scenario)
     self.__show_bounding_for_binomial_extremity_scenario(scenario)
예제 #2
0
    def test_binomial_expansion_distribution_percent(self):
        instance = BinomialDistribution
        distribution = Distribution.percentage_distribution(instance, 1)
        self.assertEqual(distribution[0], 1.0 / 2)
        self.assertEqual(distribution[1], 1.0 / 2)

        distribution = Distribution.percentage_distribution(instance, 2)
        self.assertEqual(distribution[0], 1.0 / 4)
        self.assertEqual(distribution[1], 2.0 / 4)
        self.assertEqual(distribution[2], 1.0 / 4)

        distribution = Distribution.percentage_distribution(instance, 3)
        self.assertEqual(distribution[0], 1.0 / 8)
        self.assertEqual(distribution[1], 3.0 / 8)
        self.assertEqual(distribution[2], 3.0 / 8)
        self.assertEqual(distribution[3], 1.0 / 8)
예제 #3
0
 def __count_in(cls, scenario):
     dist = Distribution.percentage_distribution(
         scenario.distribution_profile, len(scenario.data_list()))
     count_in = distribution.count_ins(scenario.distribution_bounding, dist,
                                       scenario.confidence_interval)
     if count_in is None:
         return 0
     else:
         return count_in
예제 #4
0
    def data_lines(cls, scenario):
        data_string = ""
        data_items = len(scenario.dataList)
        dist = Distribution()
        uniform_distribution = dist.percentage_distribution(
            UniformDistribution(), data_items)
        binomial_distribution = dist.percentage_distribution(
            BinomialDistribution(), data_items)

        data_string += SaveAnalysis.leading_line(binomial_distribution,
                                                 scenario,
                                                 uniform_distribution)
        data_string += SaveAnalysis.measurement_lines(binomial_distribution,
                                                      scenario,
                                                      uniform_distribution)
        data_string += SaveAnalysis.trailing_line(scenario)

        return data_string
예제 #5
0
    def test_binomial_expansion_bounded_count_in_values_for_given_confidence(
            self):
        distribution = Distribution.percentage_distribution(
            BinomialDistribution, 1)
        bounded_instance = Bounded
        confidence_interval = .50
        count_in_values = BinomialDistribution.count_ins(
            bounded_instance, distribution, confidence_interval)
        self.assertEqual(count_in_values, None)

        distribution = BinomialDistribution.percentage_distribution(2)
        confidence_interval = .50
        count_in_values = BinomialDistribution.count_ins(
            bounded_instance, distribution, confidence_interval)
        self.assertEqual(count_in_values, 1)

        distribution = BinomialDistribution.percentage_distribution(3)
        confidence_interval = .50
        count_in_values = BinomialDistribution.count_ins(
            bounded_instance, distribution, confidence_interval)
        self.assertEqual(count_in_values, 1)

        distribution = BinomialDistribution.percentage_distribution(5)
        confidence_interval = .9
        count_in_values = BinomialDistribution.count_ins(
            bounded_instance, distribution, confidence_interval)
        self.assertEqual(count_in_values, 1)

        distribution = BinomialDistribution.percentage_distribution(8)
        confidence_interval = .9
        count_in_values = BinomialDistribution.count_ins(
            bounded_instance, distribution, confidence_interval)
        self.assertEqual(count_in_values, 2)

        distribution = BinomialDistribution.percentage_distribution(11)
        confidence_interval = .9
        count_in_values = BinomialDistribution.count_ins(
            bounded_instance, distribution, confidence_interval)
        self.assertEqual(count_in_values, 3)

        distribution = BinomialDistribution.percentage_distribution(13)
        confidence_interval = .9
        count_in_values = BinomialDistribution.count_ins(
            bounded_instance, distribution, confidence_interval)
        self.assertEqual(count_in_values, 4)

        distribution = BinomialDistribution.percentage_distribution(5)
        confidence_interval = .9
        count_in_values = BinomialDistribution.count_ins(
            bounded_instance, distribution, confidence_interval)
        self.assertEqual(count_in_values, 1)
예제 #6
0
    def test_binary_expansion_extremity_count_in_values(self):
        extremity_instance = Extremity
        distribution = Distribution.percentage_distribution(
            BinomialDistribution, 1)
        confidence_interval = .51
        count_in_values = BinomialDistribution.count_ins(
            extremity_instance, distribution, confidence_interval)
        self.assertEqual(count_in_values, None)

        distribution = Distribution.percentage_distribution(
            BinomialDistribution, 1)
        confidence_interval = .5
        count_in_values = BinomialDistribution.count_ins(
            extremity_instance, distribution, confidence_interval)
        self.assertEqual(count_in_values, 1)

        distribution = Distribution.percentage_distribution(
            BinomialDistribution, 2)
        confidence_interval = .5
        count_in_values = BinomialDistribution.count_ins(
            extremity_instance, distribution, confidence_interval)
        self.assertEqual(count_in_values, 1)

        distribution = Distribution.percentage_distribution(
            BinomialDistribution, 3)
        confidence_interval = .51
        count_in_values = BinomialDistribution.count_ins(
            extremity_instance, distribution, confidence_interval)
        self.assertEqual(count_in_values, 1)

        distribution = Distribution.percentage_distribution(
            BinomialDistribution, 3)
        confidence_interval = .5
        count_in_values = BinomialDistribution.count_ins(
            extremity_instance, distribution, confidence_interval)
        self.assertEqual(count_in_values, 2)

        distribution = Distribution.percentage_distribution(
            BinomialDistribution, 4)
        confidence_interval = .9375
        count_in_values = Distribution.count_ins(extremity_instance,
                                                 distribution,
                                                 confidence_interval)
        self.assertEqual(count_in_values, 1)