Esempio n. 1
0
    def test_results(self):
        the_error = distributions.IncorrectDistributionInicializationError
        with self.assertRaises(the_error):
            distributions.t_Distribution(-1)

        t = distributions.t_Distribution(1)
        t = distributions.t_Distribution(2)
        t = distributions.t_Distribution(3)
        t = distributions.t_Distribution(4)
        t = distributions.t_Distribution(5)

        result_1 = t.pdf(1)
        result_2 = t.pdf(-2)

        result_3 = t.cdf(1)
        result_4 = t.cdf(-2)

        self.assertTrue(0.21 < result_1 and result_1 < 0.22)
        self.assertTrue(0.06 < result_2 and result_2 < 0.07)
        self.assertTrue(0.81 < result_3 and result_3 < 0.82)
        self.assertTrue(0.05 < result_4 and result_4 < 0.06)

        with self.assertRaises(distributions.IncorrectInputError):
            distributions.t_Distribution.t_cdf(3, 0)
        with self.assertRaises(distributions.IncorrectInputError):
            distributions.t_Distribution.t_pdf(3, 0)
Esempio n. 2
0
    def test_results(self):
        normal_dist = distributions.NormalDistribution(0, 1)
        t_dist = distributions.t_Distribution(7)

        result_norm = distributions.find_percentile(0.95, normal_dist.cdf)
        with self.assertRaises(distributions.PercentileError):
            distributions.find_percentile(1.2, normal_dist.cdf)
        cdf = distributions.NormalDistribution.normal_cdf
        result_with_args = distributions.find_percentile(0.8, cdf, (2, 5))

        self.assertTrue(1.644 < result_norm and result_norm < 1.645)
Esempio n. 3
0
    def test_performance(self):
        data_list = [2, 5, 2, 7, 4, 5, 2, 3, 9, 3, 2, 4, 2]
        bad_data = "as"
        big_data = []
        for i in range(60):
            big_data.append(i)

        dist_1 = distributions.NormalDistribution(2, 3)
        dist_2 = distributions.FisherDistribution(2, 3)
        dist_3 = distributions.t_Distribution(7)
        dist_4 = distributions.ChiSquaredDistribution(8)

        distributions.compare_cdf_with_theoretical(data_list, [dist_1, dist_2, dist_3, dist_4])

        distributions.compare_cdf_with_theoretical(data_list, dist_1)
        distributions.compare_cdf_with_theoretical(data_list, dist_2)
        distributions.compare_cdf_with_theoretical(data_list, dist_3)
        distributions.compare_cdf_with_theoretical(data_list, dist_4)
        with self.assertRaises(distributions.NotAListError):
            distributions.compare_cdf_with_theoretical(bad_data, dist_1)

        distributions.compare_cdf_with_theoretical(big_data, dist_1)