コード例 #1
0
ファイル: test_em.py プロジェクト: annaebair/superurop
 def test_trunc_log_density(self):
     mu = 0
     sigma = 1
     a = -1
     b = 1
     data = np.array([-0.5, 0, 0.5])
     expected_dist = s.truncnorm(loc=mu, scale=sigma, a=a, b=b)
     actual_dist = TruncatedNormalDistribution(mu=mu,
                                               sigma=sigma,
                                               lower=a,
                                               upper=b)
     expected = expected_dist.logpdf(data)
     actual = actual_dist.log_density(data)
     assert (actual == expected).all()
コード例 #2
0
ファイル: test_em.py プロジェクト: annaebair/superurop
 def test_trunc_log_density_shifted(self):
     mu = 3
     sigma = 2
     a = 0
     b = 4
     data = np.array([0.5, 1, 2, 3, 3.9])
     expected_dist = s.truncnorm(loc=mu,
                                 scale=sigma,
                                 a=(a - mu) / sigma,
                                 b=(b - mu) / sigma)
     actual_dist = TruncatedNormalDistribution(mu=mu,
                                               sigma=sigma,
                                               lower=a,
                                               upper=b)
     expected = expected_dist.logpdf(data)
     actual = actual_dist.log_density(data)
     for i in range(len(expected)):
         assert isclose(actual[i], expected[i], abs_tol=1e-10)
コード例 #3
0
ファイル: test_em.py プロジェクト: annaebair/superurop
 def test_trunc_log_density_shifted_small_sig_outside_range(self):
     mu = 3
     sigma = 0.5
     a = 1
     b = 4
     data = np.array([-1, 0, 0.5, 5])
     expected_dist = s.truncnorm(loc=mu,
                                 scale=sigma,
                                 a=(a - mu) / sigma,
                                 b=(b - mu) / sigma)
     actual_dist = TruncatedNormalDistribution(mu=mu,
                                               sigma=sigma,
                                               lower=a,
                                               upper=b)
     expected = expected_dist.logpdf(data)
     expected = np.where(expected == np.inf, -9999, expected)
     expected = np.where(expected == -np.inf, -9999, expected)
     actual = actual_dist.log_density(data)
     for i in range(len(expected)):
         assert isclose(actual[i], expected[i], abs_tol=1e-10)