def test_pdf(self):
'''
Tests the probability density function.
'''
# Calculate probability density function on lattice
bnds = np.empty((3), dtype=object)
bnds[0] = [-1, 1]
bnds[1] = [0, 2]
bnds[2] = [0.5, 2]
(x0g, x1g, x2g) = np.mgrid[bnds[0][0]:bnds[0][1],
bnds[1][0]:bnds[1][1],
bnds[2][0]:bnds[2][1]]
points = np.array([x0g.ravel(), x1g.ravel(), x2g.ravel()]).T
r_logpdf = np.array([-6.313469, -17.406428, -4.375992, -6.226508,
-8.836115, -20.430739, -5.107053, -6.687987])
p_logpdf = self.vine.logpdf(points)
assert_allclose(p_logpdf, r_logpdf)
r_pdf = np.array([1.811738e-03, 2.757302e-08, 1.257566e-02,
1.976342e-03, 1.453865e-04, 1.339808e-09,
6.053895e-03, 1.245788e-03])
p_pdf = self.vine.pdf(points)
assert_allclose(p_pdf, r_pdf, rtol=1e-5)
评论列表
文章目录