Ejemplo n.º 1
0
def test_sample_confidence_region():
    """Test sampling of confidence region."""
    random_state = check_random_state(42)
    mvn = MVN(mean=np.array([1.0, 2.0]),
              covariance=np.array([[1.0, 0.0], [0.0, 4.0]]),
              random_state=random_state)
    samples = mvn.sample_confidence_region(100, 0.9)
    for sample in samples:
        assert_true(mvn.is_in_confidence_region(sample, 0.9))
Ejemplo n.º 2
0
def test_in_confidence_region():
    """Test check for confidence region."""
    mvn = MVN(mean=np.array([1.0, 2.0]),
              covariance=np.array([[1.0, 0.0], [0.0, 4.0]]))

    alpha_1sigma = 0.6827
    alpha_2sigma = 0.9545

    assert_true(mvn.is_in_confidence_region(mvn.mean, alpha_1sigma))
    assert_true(
        mvn.is_in_confidence_region(mvn.mean + np.array([1.0, 0.0]),
                                    alpha_1sigma))
    assert_false(
        mvn.is_in_confidence_region(mvn.mean + np.array([1.001, 0.0]),
                                    alpha_1sigma))

    assert_true(
        mvn.is_in_confidence_region(mvn.mean + np.array([2.0, 0.0]),
                                    alpha_2sigma))
    assert_false(
        mvn.is_in_confidence_region(mvn.mean + np.array([3.0, 0.0]),
                                    alpha_2sigma))

    assert_true(
        mvn.is_in_confidence_region(mvn.mean + np.array([0.0, 1.0]),
                                    alpha_1sigma))
    assert_true(
        mvn.is_in_confidence_region(mvn.mean + np.array([0.0, 2.0]),
                                    alpha_1sigma))
    assert_false(
        mvn.is_in_confidence_region(mvn.mean + np.array([0.0, 3.0]),
                                    alpha_1sigma))

    assert_true(
        mvn.is_in_confidence_region(mvn.mean + np.array([0.0, 4.0]),
                                    alpha_2sigma))
    assert_false(
        mvn.is_in_confidence_region(mvn.mean + np.array([0.0, 4.001]),
                                    alpha_2sigma))
Ejemplo n.º 3
0
"""
========================================================
Confidence Interval of a 1D Standard Normal Distribution
========================================================

We plot the 0.6827 confidence interval of a standard normal distribution in
one dimension. The confidence interval is marked by green lines and the
region outside of the confidence interval is marked by red lines.
"""
print(__doc__)
import matplotlib.pyplot as plt
import numpy as np
from gmr import MVN

mvn = MVN(mean=[0.0], covariance=[[1.0]])
alpha = 0.6827
X = np.linspace(-3, 3, 101)[:, np.newaxis]
P = mvn.to_probability_density(X)

for x, p in zip(X, P):
    conf = mvn.is_in_confidence_region(x, alpha)
    color = "g" if conf else "r"
    plt.plot([x[0], x[0]], [0, p], color=color)

plt.plot(X.ravel(), P)

plt.xlabel("x")
plt.ylabel("Probability Density $p(x)$")
plt.show()
Ejemplo n.º 4
0
def test_is_in_confidence_region_1d():
    mvn = MVN(mean=[0.0], covariance=[[1.0]])
    assert_true(mvn.is_in_confidence_region([0.0], 1.0))