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))
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))
""" ======================================================== 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()
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))