def test_compute_lower_upper_errors(): sample = np.random.normal(loc=0, scale=1, size=100000) median, _ = prob_density.compute_lower_upper_errors(sample, num_sigma=0) npt.assert_almost_equal(median, 0, decimal=2) median, [[lower_sigma1, upper_sigma1] ] = prob_density.compute_lower_upper_errors(sample, num_sigma=1) npt.assert_almost_equal(lower_sigma1, 1, decimal=2) npt.assert_almost_equal(upper_sigma1, 1, decimal=2) median, [[lower_sigma1, upper_sigma1], [lower_sigma2, upper_sigma2], [lower_sigma3, upper_sigma3] ] = prob_density.compute_lower_upper_errors(sample, num_sigma=3) npt.assert_almost_equal(lower_sigma2, 2, decimal=2) npt.assert_almost_equal(upper_sigma2, 2, decimal=2) npt.assert_almost_equal(lower_sigma3, 3, decimal=1) npt.assert_almost_equal(upper_sigma3, 3, decimal=1)
def test_compute_lower_upper_errors(self): x_array = np.linspace(-5, 5, 1000) sigma = 1. pdf_array = self.gauss(x_array, simga=sigma) approx = Approx(x_array, pdf_array) sample = approx.draw(n=20000) mean_0, _ = prob_density.compute_lower_upper_errors( sample, num_sigma=0) mean, [[lower_sigma1, upper_sigma1]] = prob_density.compute_lower_upper_errors( sample, num_sigma=1) npt.assert_almost_equal(mean, mean_0, decimal=8) mean, [[lower_sigma1, upper_sigma1], [lower_sigma2, upper_sigma2]] = prob_density.compute_lower_upper_errors(sample, num_sigma=2) mean, [[lower_sigma1, upper_sigma1], [lower_sigma2, upper_sigma2], [lower_sigma3, upper_sigma3]] = prob_density.compute_lower_upper_errors(sample, num_sigma=3) npt.assert_almost_equal(mean, 0, decimal=2) print(lower_sigma1, lower_sigma2, lower_sigma3) print(upper_sigma1, upper_sigma2, upper_sigma3) npt.assert_almost_equal(lower_sigma1, sigma, decimal=1) npt.assert_almost_equal(lower_sigma2, 2*sigma, decimal=1) npt.assert_almost_equal(lower_sigma3, 3 * sigma, decimal=1) draw = approx.draw_one assert len(draw) == 1
def test_compute_lower_upper_errors(self): x_array = np.linspace(-5, 5, 1000) bin_edges = np.linspace(start=-5, stop=5, num=1000 + 1) sigma = 1. pdf_array = self.gauss(x_array, simga=sigma) approx = PDFSampling(bin_edges, pdf_array) np.random.seed(42) sample = approx.draw(n=20000) mean, [[lower_sigma1, upper_sigma1], [lower_sigma2, upper_sigma2], [lower_sigma3, upper_sigma3] ] = prob_density.compute_lower_upper_errors(sample, num_sigma=3) npt.assert_almost_equal(mean, 0, decimal=2) npt.assert_almost_equal(lower_sigma1, sigma, decimal=2) npt.assert_almost_equal(lower_sigma2, 2 * sigma, decimal=1) npt.assert_almost_equal(lower_sigma3, 3 * sigma, decimal=1) draw = approx.draw_one assert len(draw) == 1
def test_raise(self): with self.assertRaises(ValueError): skewGassian = SkewGaussian() skewGassian.pdf_skew(x=1, mu=1, sigma=1, skw=-1) with self.assertRaises(ValueError): prob_density.compute_lower_upper_errors(sample=None, num_sigma=4)