def test_2d_diag(self):
     data = N.random.randn(1e1, 2)
     mu = N.array([[-3, -1], [3, 3]])
     va = N.array([[1.1, 0.4], [0.6, 0.8]])
     y = multiple_gauss_den(data, mu, va, log=True)
     a1 = logsumexp(y)
     a2 = self.naive_logsumexp(y)
     assert_array_almost_equal(a1, a2, DEF_DEC)
 def test_1d(self):
     data = N.random.randn(1e1)[:, N.newaxis]
     mu = N.array([[-5], [-6]])
     va = N.array([[0.1], [0.1]])
     y = multiple_gauss_den(data, mu, va, log=True)
     a1 = logsumexp(y)
     a2 = self.naive_logsumexp(y)
     assert_array_equal(a1, a2)
 def test_2d_diag_logpdf(self):
     d = 2
     w = N.array([0.4, 0.6])
     mu = N.array([[0., 2], [-1, -2]])
     va = N.array([[1, 0.5], [0.5, 1]])
     x = N.random.randn(100, 2)
     gm = GM.fromvalues(w, mu, va)
     y1 = N.sum(multiple_gauss_den(x, mu, va) * w, 1)
     y2 = gm.pdf(x, log=True)
     assert_array_almost_equal(N.log(y1), y2)
Exemplo n.º 4
0
def test(data, mu, va, log=False):
    y = mnormalik(data, mu, va, log)
    yr = multiple_gauss_den(data, mu, va, log=log)
    np.testing.assert_array_almost_equal(y, yr)