Exemplo n.º 1
0
def check_mv_normal(mu, sigma):
    p = MultivariateNormal(mu=mu, sigma=sigma)
    X = p.rvs(20000, random_state=0)

    assert np.mean(mu - X.mean(axis=0)) < 0.02
    assert np.mean(sigma - np.cov(X.T)) < 0.02
    assert p.ndim == len(mu)
Exemplo n.º 2
0
def check_mv_normal(mu, sigma):
    p = MultivariateNormal(mu=mu, sigma=sigma)
    X = p.rvs(20000, random_state=0)

    assert np.mean(mu - X.mean(axis=0)) < 0.02
    assert np.mean(sigma - np.cov(X.T)) < 0.02
    assert p.ndim == len(mu)
Exemplo n.º 3
0
def test_mv_mixture():
    p1 = MultivariateNormal(mu=np.array([0.0, 0.0]), sigma=np.eye(2))
    p2 = MultivariateNormal(mu=np.array([2.0, 2.0]), sigma=0.5 * np.eye(2))
    m = Mixture(components=[p1, p2])
    assert m.ndim == 2
    X = m.rvs(100)
    assert X.shape == (100, 2)

    assert_raises(ValueError, Mixture, components=[p1, Normal()])
Exemplo n.º 4
0
def test_linear_transform_2d():
    p0 = MultivariateNormal(mu=np.array([0.0, 1.0]), sigma=np.eye(2))
    pt = LinearTransform(p0, A=np.array([[1.0, 0], [0.0, 0.5]]))

    X0 = p0.rvs(10, random_state=0)
    Xt = pt.rvs(10, random_state=0)

    assert X0.shape == Xt.shape
    assert_array_equal(p0.pdf(X0), pt.pdf(Xt))
    assert_array_equal(p0.nll(X0), pt.nll(Xt))
Exemplo n.º 5
0
def test_linear_transform_2d():
    p0 = MultivariateNormal(mu=np.array([0., 1.]), sigma=np.eye(2))
    pt = LinearTransform(p0, A=np.array([[1.0, 0], [0., 0.5]]))

    X0 = p0.rvs(10, random_state=0)
    Xt = pt.rvs(10, random_state=0)

    assert X0.shape == Xt.shape
    assert_array_equal(p0.pdf(X0), pt.pdf(Xt))
    assert_array_equal(p0.nll(X0), pt.nll(Xt))