def test_log_post_pred_k(): # Setup densities prior = NIW(m_0=np.array([0.0, 0.0]), k_0=2.0, v_0=5.0, S_0=5.0 * np.eye(2)) gmm = GaussianComponents(np.array([[1.2, 0.9], [-0.1, 0.8], [0.5, 0.4]]), prior) # Add data vectors to a single component gmm.add_item(0, 0) gmm.add_item(1, 0) # Calculate log predictave lp = gmm.log_post_pred_k(2, 0) lp_expected = -2.07325364088 npt.assert_almost_equal(lp, lp_expected)
def test_log_post_pred_k(): # Setup densities prior = NIW(m_0=np.array([0.0, 0.0]), k_0=2., v_0=5., S_0=5. * np.eye(2)) gmm = GaussianComponents(np.array([[1.2, 0.9], [-0.1, 0.8], [0.5, 0.4]]), prior) # Add data vectors to a single component gmm.add_item(0, 0) gmm.add_item(1, 0) # Calculate log predictave lp = gmm.log_post_pred_k(2, 0) lp_expected = -2.07325364088 npt.assert_almost_equal(lp, lp_expected)
def test_map(): # Setup densities prior = NIW(m_0=np.array([0.0, 0.0]), k_0=2.0, v_0=5.0, S_0=5.0 * np.eye(2)) gmm = GaussianComponents(np.array([[1.2, 0.9], [-0.1, 0.8]]), prior) gmm.add_item(0, 0) gmm.add_item(1, 0) mu_expected = np.array([0.275, 0.425]) sigma_expected = np.array([[0.55886364, 0.04840909], [0.04840909, 0.52068182]]) # Calculate the posterior MAP of the parameters mu, sigma = gmm.map(0) npt.assert_almost_equal(mu, mu_expected) npt.assert_almost_equal(sigma, sigma_expected)
def test_map(): # Setup densities prior = NIW(m_0=np.array([0.0, 0.0]), k_0=2.0, v_0=5.0, S_0=5.0 * np.eye(2)) gmm = GaussianComponents(np.array([[1.2, 0.9], [-0.1, 0.8]]), prior) gmm.add_item(0, 0) gmm.add_item(1, 0) mu_expected = np.array([0.275, 0.425]) sigma_expected = np.array([[0.55886364, 0.04840909], [0.04840909, 0.52068182]]) # Calculate the posterior MAP of the parameters mu, sigma = gmm.map(0) npt.assert_almost_equal(mu, mu_expected) npt.assert_almost_equal(sigma, sigma_expected)