diff --git a/bet/calculateP/__init__.py b/bet/calculateP/__init__.py index 9d38cf34..cdce1cbf 100644 --- a/bet/calculateP/__init__.py +++ b/bet/calculateP/__init__.py @@ -6,7 +6,7 @@ * :mod:`~bet.calculateP.calculateP` provides methods for approximating probability densities in the measure-theoretic framework. * :mod:`~bet.calculateP.simpleFunP` provides methods for creating simple function approximations of probability densities for the measure-theoretic framework. -* :mod:`~bet.calculateP.dataConsistent` provides methods for data-consistent stochastic inversion. +* :mod:`~bet.calculateP.calculateR` provides methods for data-consistent stochastic inversion. * :mod:`~bet.calculateP.calculateError` provides methods for approximating numerical and sampling errors. """ -__all__ = ['calculateP', 'simpleFunP', 'calculateError', 'dataConsistent'] +__all__ = ['calculateP', 'simpleFunP', 'calculateError', 'calculateR'] diff --git a/bet/calculateP/dataConsistent.py b/bet/calculateP/calculateR.py similarity index 90% rename from bet/calculateP/dataConsistent.py rename to bet/calculateP/calculateR.py index 0629d846..063ee36f 100644 --- a/bet/calculateP/dataConsistent.py +++ b/bet/calculateP/calculateR.py @@ -1,14 +1,14 @@ # Copyright (C) 2014-2020 The BET Development Team r""" -This module contains functions for data-consistent stochastic inversion. +This module contains functions for data-consistent stochastic inversion based on ratios of densities. -* :meth:`~bet.calculateP.dataConsistent.generate_output_kdes` generates KDEs on output sets. -* :meth:`~bet.calculateP.dataConsistent.invert_to_kde` solves SIP for weighted KDEs. -* :meth:`~bet.calculateP.dataConsistent.invert_to_gmm` solves SIP for a Gaussian Mixture Model. -* :meth:`~bet.calculateP.dataConsistent.invert_to_multivariate_gaussian` solves SIP for a multivariate Gaussian. -* :meth:`~bet.calculateP.dataConsistent.invert_to_random_variable` solves SIP for random variables. -* :meth:`~bet.calculateP.dataConsistent.invert_rejection_sampling` solves SIP with rejection sampling. +* :meth:`~bet.calculateP.calculateR.generate_output_kdes` generates KDEs on output sets. +* :meth:`~bet.calculateP.calculateR.invert_to_kde` solves SIP for weighted KDEs. +* :meth:`~bet.calculateP.calculateR.invert_to_gmm` solves SIP for a Gaussian Mixture Model. +* :meth:`~bet.calculateP.calculateR.invert_to_multivariate_gaussian` solves SIP for a multivariate Gaussian. +* :meth:`~bet.calculateP.calculateR.invert_to_random_variable` solves SIP for random variables. +* :meth:`~bet.calculateP.calculateR.invert_rejection_sampling` solves SIP with rejection sampling. """ import bet.sample @@ -33,13 +33,13 @@ def generate_output_kdes(discretization, bw_method=None): discretization.local_to_global() predict_set = discretization.get_output_sample_set() - obs_set = discretization.get_output_probability_set() + obs_set = discretization.get_output_observed_set() if predict_set.get_region() is None or obs_set.get_region() is None: predict_set.set_region(np.array([0] * predict_set.check_num())) obs_set.set_region(np.array([0] * obs_set.check_num())) if predict_set.get_cluster_maps() is None: - num_clusters = int(max(np.max(predict_set.get_region()), np.max(obs_set.get_region())) + 1) + num_clusters = int(np.max(predict_set.get_region()) + 1) else: num_clusters = len(predict_set.get_cluster_maps()) @@ -80,7 +80,7 @@ def generate_output_kdes(discretization, bw_method=None): obs_kdes.append(gaussian_kde(obs_set.get_values()[obs_pointer].T, bw_method=bw_method)) else: obs_kdes.append(None) - return predict_set, predict_kdes, obs_set, obs_kdes, num_clusters + return predict_kdes, obs_kdes, num_clusters def invert(discretization, bw_method = None): @@ -96,7 +96,8 @@ def invert(discretization, bw_method = None): :return: marginal probabilities and cluster weights :rtype: list, `np.ndarray` """ - predict_set, predict_kdes, obs_set, obs_kdes, num_clusters = generate_output_kdes(discretization, bw_method) + predict_kdes, obs_kdes, num_clusters = generate_output_kdes(discretization, bw_method) + predict_set = discretization.get_output_sample_set() rs = [] r = [] @@ -136,10 +137,12 @@ def invert_to_kde(discretization, bw_method = None): """ from scipy.stats import gaussian_kde - predict_set, predict_kdes, obs_set, obs_kdes, num_clusters = generate_output_kdes(discretization, bw_method) + predict_kdes, obs_kdes, num_clusters = generate_output_kdes(discretization, bw_method) rs, r, lam_ptr = invert(discretization, bw_method) + obs_set = discretization.get_output_observed_set() + # Compute marginal probabilities for each parameter and initial condition. param_marginals = [] cluster_weights = [] @@ -176,8 +179,7 @@ def invert_rejection_sampling(discretization, bw_method=None): :return: sample set containing samples :rtype: :class:`bet.sample.sample_set` """ - predict_set, predict_kdes, obs_set, obs_kdes, num_clusters = generate_output_kdes(discretization, - bw_method=bw_method) + predict_kdes, obs_kdes, num_clusters = generate_output_kdes(discretization, bw_method) rs, r, lam_ptr = invert(discretization, bw_method) @@ -233,10 +235,12 @@ def weighted_mean_and_cov(x, weights): cov1 = cov1 / sum_weights return mean1, cov1 - predict_set, predict_kdes, obs_set, obs_kdes, num_clusters = generate_output_kdes(discretization, bw_method) + predict_kdes, obs_kdes, num_clusters = generate_output_kdes(discretization, bw_method) rs, r, lam_ptr = invert(discretization, bw_method) + obs_set = discretization.get_output_observed_set() + # Compute multivariate normal for each cluster means = [] covariances = [] @@ -289,10 +293,12 @@ def weighted_mean_and_cov(x, weights): cov1 = cov1 / sum_weights return mean1, cov1 - predict_set, predict_kdes, obs_set, obs_kdes, num_clusters = generate_output_kdes(discretization, bw_method) + predict_kdes, obs_kdes, num_clusters = generate_output_kdes(discretization, bw_method) rs, r, lam_ptr = invert(discretization, bw_method) + obs_set = discretization.get_output_observed_set() + # Compute multivariate normal cluster_weights = [] num_obs = obs_set.check_num() @@ -358,10 +364,12 @@ def invert_to_random_variable(discretization, rv, num_reweighted=10000, bw_metho else: raise bet.sample.wrong_input("rv must be a string, list, or tuple.") - predict_set, predict_kdes, obs_set, obs_kdes, num_clusters = generate_output_kdes(discretization, bw_method) + predict_kdes, obs_kdes, num_clusters = generate_output_kdes(discretization, bw_method) rs, r, lam_ptr = invert(discretization, bw_method) + obs_set = discretization.get_output_observed_set() + # Compute multivariate normal cluster_weights = [] num_obs = obs_set.check_num() diff --git a/bet/postProcess/compareP.py b/bet/postProcess/compareP.py index 643aa1af..6e475172 100644 --- a/bet/postProcess/compareP.py +++ b/bet/postProcess/compareP.py @@ -132,9 +132,9 @@ def evaluate_pdfs(self): sup2 = np.equal(self.pdfs2, 0.0) self.pdfs_zero = np.sum(np.logical_and(sup1, sup2)) - def distance(self, functional='tv', normalize=True, **kwargs): + def distance(self, functional='tv', normalize=False, **kwargs): """ - Compute the discrete statistical distance between the probability measures + Compute the statistical distance between the probability measures evaluated at the comparison points. :param functional: functional defining type of statistical distance @@ -183,10 +183,10 @@ def distance(self, functional='tv', normalize=True, **kwargs): dist = functional(self.pdfs1, self.pdfs2, **kwargs) return dist - def distance_marginal(self, i, interval=None, num_points=1000, compare_factor=0.0, normalize=True, + def distance_marginal(self, i, interval=None, num_points=1000, compare_factor=0.0, normalize=False, functional='tv', **kwargs): """ - Compute the discrete statistical distance between the marginals of the probability measures + Compute the statistical distance between the marginals of the probability measures evaluated at equally spaced points on an interval. If the interval is not defined, one is computed by the maximum and minimum values. This domain is extended by the proportion set by `compare_factor`. diff --git a/bet/sample.py b/bet/sample.py index eca33b5e..81f12082 100644 --- a/bet/sample.py +++ b/bet/sample.py @@ -2238,12 +2238,13 @@ class discretization(object): #: :class:`sample.sample_set_base` sample_set_names = ['_input_sample_set', '_output_sample_set', '_emulated_input_sample_set', '_emulated_output_sample_set', - '_output_probability_set'] + '_output_probability_set', '_output_observed_set'] def __init__(self, input_sample_set, output_sample_set, output_probability_set=None, emulated_input_sample_set=None, - emulated_output_sample_set=None): + emulated_output_sample_set=None, + output_observed_set=None): """ Initialize the discretization. @@ -2257,6 +2258,8 @@ def __init__(self, input_sample_set, output_sample_set, :type emulated_input_sample_set: :class:`bet.sample.sample_set_base` :param emulated_output_sample_set: Emulated output set :type emulated_output_sample_set: :class:`bet.sample.sample_set_base` + :param output_observed_set: Observed output set + :type output_observed_set: :class:`bet.sample.sample_set_base` """ #: Input sample set :class:`~bet.sample.sample_set_base` @@ -2271,6 +2274,8 @@ def __init__(self, input_sample_set, output_sample_set, self._output_probability_set = output_probability_set #: Pointer from ``self._output_sample_set`` to #: ``self._output_probability_set`` + #: Observed output sample set :class:`~bet.sample.sample_set_base` + self._output_observed_set = output_observed_set self._io_ptr = None #: Pointer from ``self._emulated_input_sample_set`` to #: ``self._input_sample_set`` @@ -2533,6 +2538,31 @@ def set_output_sample_set(self, output_sample_set): else: raise AttributeError("Wrong Type: Should be sample_set_base type") + def get_output_observed_set(self): + """ + + Returns a reference to the output observed sample set for this discretization. + + :rtype: :class:`~bet.sample.sample_set_base` + :returns: output sample set + + """ + return self._output_observed_set + + def set_output_observed_set(self, output_sample_set): + """ + + Sets the output observed sample set for this discretization. + + :param output_sample_set: output observed sample set. + :type output_sample_set: :class:`~bet.sample.sample_set_base` + + """ + if isinstance(output_sample_set, sample_set_base): + self._output_observed_set = output_sample_set + else: + raise AttributeError("Wrong Type: Should be sample_set_base type") + def get_output_probability_set(self): """ diff --git a/bet/sampling/useLUQ.py b/bet/sampling/useLUQ.py index 336c428c..2d70b9ef 100644 --- a/bet/sampling/useLUQ.py +++ b/bet/sampling/useLUQ.py @@ -143,7 +143,7 @@ def make_disc(self): # Prediction discretization disc1 = sample.discretization(input_sample_set=self.predict_set, output_sample_set=predict_output, - output_probability_set=obs_output) + output_observed_set=obs_output) # Observation discretization disc2 = sample.discretization(input_sample_set=self.obs_set, diff --git a/doc/bet.calculateP.rst b/doc/bet.calculateP.rst index ba069c2b..df4a0194 100644 --- a/doc/bet.calculateP.rst +++ b/doc/bet.calculateP.rst @@ -9,7 +9,6 @@ bet.calculateP.calculateError module .. automodule:: bet.calculateP.calculateError :members: - :special-members: :undoc-members: :show-inheritance: @@ -18,16 +17,14 @@ bet.calculateP.calculateP module .. automodule:: bet.calculateP.calculateP :members: - :special-members: :undoc-members: :show-inheritance: -bet.calculateP.dataConsistent module +bet.calculateP.calculateR module ------------------------------------ -.. automodule:: bet.calculateP.dataConsistent +.. automodule:: bet.calculateP.calculateR :members: - :special-members: :undoc-members: :show-inheritance: @@ -36,7 +33,6 @@ bet.calculateP.simpleFunP module .. automodule:: bet.calculateP.simpleFunP :members: - :special-members: :undoc-members: :show-inheritance: diff --git a/doc/bet.postProcess.rst b/doc/bet.postProcess.rst index 21813a5f..7f9d9b9b 100644 --- a/doc/bet.postProcess.rst +++ b/doc/bet.postProcess.rst @@ -9,7 +9,6 @@ bet.postProcess.compareP module .. automodule:: bet.postProcess.compareP :members: - :special-members: :undoc-members: :show-inheritance: @@ -18,7 +17,6 @@ bet.postProcess.plotDomains module .. automodule:: bet.postProcess.plotDomains :members: - :special-members: :undoc-members: :show-inheritance: @@ -27,7 +25,6 @@ bet.postProcess.plotP module .. automodule:: bet.postProcess.plotP :members: - :special-members: :undoc-members: :show-inheritance: @@ -36,7 +33,6 @@ bet.postProcess.plotVoronoi module .. automodule:: bet.postProcess.plotVoronoi :members: - :special-members: :undoc-members: :show-inheritance: @@ -45,7 +41,6 @@ bet.postProcess.postTools module .. automodule:: bet.postProcess.postTools :members: - :special-members: :undoc-members: :show-inheritance: diff --git a/doc/bet.rst b/doc/bet.rst index 2f493fe0..a114e188 100644 --- a/doc/bet.rst +++ b/doc/bet.rst @@ -19,7 +19,6 @@ bet.Comm module .. automodule:: bet.Comm :members: - :special-members: :undoc-members: :show-inheritance: @@ -28,7 +27,6 @@ bet.sample module .. automodule:: bet.sample :members: - :special-members: :undoc-members: :show-inheritance: @@ -37,7 +35,6 @@ bet.surrogates module .. automodule:: bet.surrogates :members: - :special-members: :undoc-members: :show-inheritance: @@ -46,7 +43,6 @@ bet.util module .. automodule:: bet.util :members: - :special-members: :undoc-members: :show-inheritance: diff --git a/doc/bet.sampling.rst b/doc/bet.sampling.rst index 823d4d07..3dc0f69b 100644 --- a/doc/bet.sampling.rst +++ b/doc/bet.sampling.rst @@ -9,7 +9,6 @@ bet.sampling.LpGeneralizedSamples module .. automodule:: bet.sampling.LpGeneralizedSamples :members: - :special-members: :undoc-members: :show-inheritance: @@ -18,7 +17,6 @@ bet.sampling.basicSampling module .. automodule:: bet.sampling.basicSampling :members: - :special-members: :undoc-members: :show-inheritance: @@ -27,7 +25,6 @@ bet.sampling.useLUQ module .. automodule:: bet.sampling.useLUQ :members: - :special-members: :undoc-members: :show-inheritance: diff --git a/doc/bet.sensitivity.rst b/doc/bet.sensitivity.rst index 2b40fbd9..d425ab51 100644 --- a/doc/bet.sensitivity.rst +++ b/doc/bet.sensitivity.rst @@ -9,7 +9,6 @@ bet.sensitivity.chooseQoIs module .. automodule:: bet.sensitivity.chooseQoIs :members: - :special-members: :undoc-members: :show-inheritance: @@ -18,7 +17,6 @@ bet.sensitivity.gradients module .. automodule:: bet.sensitivity.gradients :members: - :special-members: :undoc-members: :show-inheritance: diff --git a/doc/overview.rst b/doc/overview.rst index 7a9b2e07..f6916fff 100644 --- a/doc/overview.rst +++ b/doc/overview.rst @@ -152,7 +152,7 @@ The package layout is as follows:: calculateP calculateError simpleFunP - dataConsistent + calculateR sampling/ basicSampling useLUQ diff --git a/examples/linearMap/linearMapDataConsistent.py b/examples/linearMap/linearMapDataConsistent.py index 7199839f..6e197c03 100644 --- a/examples/linearMap/linearMapDataConsistent.py +++ b/examples/linearMap/linearMapDataConsistent.py @@ -27,7 +27,7 @@ import numpy as np import bet.postProcess.plotP as plotP -import bet.calculateP.dataConsistent as dc +import bet.calculateP.calculateR as calculateR import bet.sample as samp import bet.sampling.basicSampling as bsam import bet.postProcess.compareP as compP @@ -70,8 +70,8 @@ input_samples_obs.set_domain(np.repeat([[0.0, 1.0]], 3, axis=0)) # Generate samples on the parameter space -beta_a = 2.0 # a parameter for beta distribution -beta_b = 2.0 # b parameter for beta distribution +beta_a = 0.5 # a parameter for beta distribution +beta_b = 3.0 # b parameter for beta distribution ''' Suggested changes for user: @@ -88,7 +88,7 @@ disc_obs = sampler_obs.compute_qoi_and_create_discretization(input_samples_obs) # Set probability set for predictions -disc_predict.set_output_probability_set(disc_obs.get_output_sample_set()) +disc_predict.set_output_observed_set(disc_obs.get_output_sample_set()) # Calculate initial total variation of marginals @@ -99,7 +99,7 @@ print("------------------------------------------------------") -invert_to = 'kde' # 'multivariate_gaussian', 'expon', 'beta' +invert_to = 'expon' # 'multivariate_gaussian', 'expon', 'beta' ''' Suggested changes for user: @@ -115,19 +115,19 @@ if invert_to == 'kde': # Invert to weighted KDE print("Weighted Kernel Density Estimate") - dc.invert_to_kde(disc_predict) + calculateR.invert_to_kde(disc_predict) elif invert_to == 'multivariate_gaussian': # Invert to multivariate Gaussian print("Multivariate Gaussian") - dc.invert_to_gmm(disc_predict) + calculateR.invert_to_gmm(disc_predict) elif invert_to == 'beta': # Invert and fit Beta distribution print("Beta Distribution") - dc.invert_to_random_variable(disc_predict, rv='beta') + calculateR.invert_to_random_variable(disc_predict, rv='beta') elif invert_to == 'expon': # Invert and fit Beta distribution print("Beta Distribution") - dc.invert_to_random_variable(disc_predict, rv='expon') + calculateR.invert_to_random_variable(disc_predict, rv='expon') # Calculate Total Variation between updated marginals and data-generating marginals diff --git a/examples/nonlinearMap/nonlinearMapDataConsistent.py b/examples/nonlinearMap/nonlinearMapDataConsistent.py index 8adb4387..f37ffc9e 100644 --- a/examples/nonlinearMap/nonlinearMapDataConsistent.py +++ b/examples/nonlinearMap/nonlinearMapDataConsistent.py @@ -38,7 +38,7 @@ import numpy as np import bet.postProcess.plotP as plotP -import bet.calculateP.dataConsistent as dc +import bet.calculateP.calculateR as calculateR import bet.sample as samp import bet.sampling.basicSampling as bsam import bet.postProcess.compareP as compP @@ -104,7 +104,7 @@ disc_obs = sampler_obs.compute_qoi_and_create_discretization(input_samples_obs) # Set probability set for predictions -disc_predict.set_output_probability_set(disc_obs.get_output_sample_set()) +disc_predict.set_output_observed_set(disc_obs.get_output_sample_set()) # Calculate initial total variation of marginals @@ -131,19 +131,19 @@ if invert_to == 'kde': # Invert to weighted KDE print("Weighted Kernel Density Estimate") - dc.invert_to_kde(disc_predict) + calculateR.invert_to_kde(disc_predict) elif invert_to == 'multivariate_gaussian': # Invert to multivariate Gaussian print("Multivariate Gaussian") - dc.invert_to_multivariate_gaussian(disc_predict) + calculateR.invert_to_multivariate_gaussian(disc_predict) elif invert_to == 'beta': # Invert and fit Beta distribution print("Beta Distribution") - dc.invert_to_random_variable(disc_predict, rv='beta') + calculateR.invert_to_random_variable(disc_predict, rv='beta') elif invert_to == 'expon': # Invert and fit Beta distribution print("Beta Distribution") - dc.invert_to_random_variable(disc_predict, rv='expon') + calculateR.invert_to_random_variable(disc_predict, rv='expon') else: raise RuntimeError("Not an acceptable type of Inversion.") diff --git a/examples/useLUQ/selkov.py b/examples/useLUQ/selkov.py index 03175b53..9db4b46a 100644 --- a/examples/useLUQ/selkov.py +++ b/examples/useLUQ/selkov.py @@ -1,7 +1,7 @@ # Copyright (C) 2014-2020 The BET Development Team import bet.sampling.basicSampling as bsam -import bet.calculateP.dataConsistent as dc +import bet.calculateP.calculateR as calculateR import bet.sampling.useLUQ as useLUQ import bet.postProcess.plotP as plotP import bet.postProcess.compareP as compP @@ -60,7 +60,7 @@ # Invert to multivariate Gaussian print("------------------------------------------------------") print("Multivariate Gaussian") -dc.invert_to_multivariate_gaussian(disc1) +calculateR.invert_to_multivariate_gaussian(disc1) # Plot marginal probabilities and calculate total variations between probability measures for i in range(2): @@ -77,7 +77,7 @@ # Invert to Gaussian Mixture Model print("------------------------------------------------------") print("Gaussian Mixture Model") -dc.invert_to_gmm(disc1) +calculateR.invert_to_gmm(disc1) for i in range(2): plotP.plot_marginal(sets=(disc1.get_input_sample_set(), disc2.get_input_sample_set()), i=i, sets_label_initial=['Initial', 'Data-Generating'], sets_label=['Updated', ''], @@ -90,7 +90,7 @@ print("------------------------------------------------------") print("Weighted Kernel Density Estimate") -dc.invert_to_kde(disc1) +calculateR.invert_to_kde(disc1) for i in range(2): plotP.plot_marginal(sets=(disc1.get_input_sample_set(), disc2.get_input_sample_set()), i=i, sets_label_initial=['Initial', 'Data-Generating'], sets_label=['Updated', ''], @@ -105,7 +105,7 @@ print("------------------------------------------------------") print("Beta distribution") -dc.invert_to_random_variable(disc1, rv='beta') +calculateR.invert_to_random_variable(disc1, rv='beta') for i in range(2): plotP.plot_marginal(sets=(disc1.get_input_sample_set(), disc2.get_input_sample_set()), i=i, sets_label_initial=['Initial', 'Data-Generating'], sets_label=['Updated', ''], diff --git a/test/problem_setups.py b/test/problem_setups.py index 81744bf6..728415c9 100644 --- a/test/problem_setups.py +++ b/test/problem_setups.py @@ -5,7 +5,7 @@ import numpy as np import bet.calculateP.simpleFunP as simpleFunP import bet.calculateP.calculateP as calculateP -import bet.calculateP.dataConsistent as dataConsistent +import bet.calculateP.calculateR as calculateR """ Useful setups for testing. @@ -132,8 +132,8 @@ def my_model(samples): sampler2.random_sample_set(rv2, dim, num_samples, globalize) disc2 = sampler1.compute_qoi_and_create_discretization() - disc1.set_output_probability_set(disc2.get_output_sample_set()) - dataConsistent.invert_to_kde(disc1) + disc1.set_output_observed_set(disc2.get_output_sample_set()) + calculateR.invert_to_kde(disc1) return disc1, disc2 @@ -153,8 +153,8 @@ def my_model(samples): sampler2.random_sample_set(rv2, dim, num_samples, globalize) disc2 = sampler1.compute_qoi_and_create_discretization() - disc1.set_output_probability_set(disc2.get_output_sample_set()) - dataConsistent.invert_to_gmm(disc1) + disc1.set_output_observed_set(disc2.get_output_sample_set()) + calculateR.invert_to_gmm(disc1) return disc1, disc2 @@ -175,8 +175,8 @@ def my_model(samples): sampler2.random_sample_set(rv2, dim, num_samples, globalize) disc2 = sampler1.compute_qoi_and_create_discretization() - disc1.set_output_probability_set(disc2.get_output_sample_set()) - dataConsistent.invert_to_multivariate_gaussian(disc1) + disc1.set_output_observed_set(disc2.get_output_sample_set()) + calculateR.invert_to_multivariate_gaussian(disc1) return disc1, disc2 @@ -197,8 +197,8 @@ def my_model(samples): sampler2.random_sample_set(rv2, dim, num_samples, globalize) disc2 = sampler1.compute_qoi_and_create_discretization() - disc1.set_output_probability_set(disc2.get_output_sample_set()) - dataConsistent.invert_to_random_variable(disc1, rv=rv_invert) + disc1.set_output_observed_set(disc2.get_output_sample_set()) + calculateR.invert_to_random_variable(disc1, rv=rv_invert) return disc1, disc2 diff --git a/test/test_calculateP/__init__.py b/test/test_calculateP/__init__.py index 4b03255e..27134a88 100644 --- a/test/test_calculateP/__init__.py +++ b/test/test_calculateP/__init__.py @@ -5,4 +5,4 @@ structure mirrors the ``bet`` package structure. """ __all__ = ['test_calculateP', 'test_simpleFunP', - 'test_calculateError', 'test_dataConsistent'] + 'test_calculateError', 'test_calculateR'] diff --git a/test/test_calculateP/test_dataConsistent.py b/test/test_calculateP/test_calculateR.py similarity index 85% rename from test/test_calculateP/test_dataConsistent.py rename to test/test_calculateP/test_calculateR.py index 17a5013f..a8740e0b 100644 --- a/test/test_calculateP/test_dataConsistent.py +++ b/test/test_calculateP/test_calculateR.py @@ -1,7 +1,7 @@ # Copyright (C) 2014-2020 The BET Development Team """ -This module contains unittests for :mod:`~bet.calculateP.dataConsistent` +This module contains unittests for :mod:`~bet.calculateP.calculateR` """ import unittest @@ -20,9 +20,9 @@ from test.problem_setups import * -class Test_dataConsistent(unittest.TestCase): +class Test_calculateR(unittest.TestCase): """ - Testing ``bet.calculateP.dataConsistent`` + Testing ``bet.calculateP.calculateR`` """ def setUp(self): self.in_dim = 1 @@ -32,7 +32,7 @@ def setUp(self): def test_kde(self): """ - Test ``bet.calculateP.dataConsistent.invert_to_kde`` + Test ``bet.calculateP.calculateR.invert_to_kde`` """ disc, _ = random_kde(dim=self.in_dim, out_dim=self.out_dim, level=2) disc.get_input_sample_set().pdf(self.vals) @@ -44,7 +44,7 @@ def test_kde(self): def test_rv(self): """ - Test ``bet.calculateP.dataConsistent.invert_to_random_variable`` + Test ``bet.calculateP.calculateR.invert_to_random_variable`` """ disc, _ = random_rv(dim=self.in_dim, out_dim=self.out_dim, level=2) disc.get_input_sample_set().pdf(self.vals) @@ -56,7 +56,7 @@ def test_rv(self): def test_gmm(self): """ - Test ``bet.calculateP.dataConsistent.invert_to_gmm`` + Test ``bet.calculateP.calculateR.invert_to_gmm`` """ disc, _ = random_gmm(dim=self.in_dim, out_dim=self.out_dim, level=2) disc.get_input_sample_set().pdf(self.vals) @@ -68,7 +68,7 @@ def test_gmm(self): def test_multivariate_gaussian(self): """ - Test ``bet.calculateP.dataConsistent.invert_to_multivariate_gaussian`` + Test ``bet.calculateP.calculateR.invert_to_multivariate_gaussian`` """ disc, _ = random_multivariate_gaussian(dim=self.in_dim, out_dim=self.out_dim, level=2) disc.get_input_sample_set().pdf(self.vals) @@ -78,9 +78,9 @@ def test_multivariate_gaussian(self): disc.get_input_sample_set().marginal_pdf(self.vals_marg, i=0) disc.get_input_sample_set().marginal_pdf_init(self.vals_marg, i=0) -class Test_dataConsistent_3to2(Test_dataConsistent): +class Test_calculateR_3to2(Test_calculateR): """ - Testing ``bet.calculateP.dataConsistent`` with a 3 to 2 map. + Testing ``bet.calculateP.calculateR`` with a 3 to 2 map. """ def setUp(self): self.in_dim = 3 @@ -91,7 +91,7 @@ def setUp(self): class Test_invert_to_random_variable(unittest.TestCase): """ - Test `bet.calculateP.dataConsistent.invert_to_random_variable` + Test `bet.calculateP.calculateR.invert_to_random_variable` """ def test_string(self): """ @@ -134,7 +134,7 @@ def test_sample_from_updated(self): class Test_rejection_sampling(unittest.TestCase): def Test_rejection_sampling(self): """ - Testing ``bet.calculateP.dataConsistent.invert_rejection_sampling`` + Testing ``bet.calculateP.calculateR.invert_rejection_sampling`` """ rv = 'uniform' dim = 1 @@ -154,8 +154,8 @@ def my_model(samples): sampler2.random_sample_set(rv2, dim, num_samples, globalize) disc2 = sampler1.compute_qoi_and_create_discretization() - disc1.set_output_probability_set(disc2.get_output_sample_set()) - dataConsistent.invert_rejection_sampling(disc1) + disc1.set_output_observed_set(disc2.get_output_sample_set()) + calculateR.invert_rejection_sampling(disc1) diff --git a/test/test_postProcess/test_plotP.py b/test/test_postProcess/test_plotP.py index a7122005..d7b4b0d9 100644 --- a/test/test_postProcess/test_plotP.py +++ b/test/test_postProcess/test_plotP.py @@ -18,7 +18,7 @@ from bet.Comm import comm import os import bet.sample as sample -import bet.calculateP.dataConsistent as dc +import bet.calculateP.calculateR as calculateR import bet.sampling.basicSampling as bsam @@ -250,7 +250,7 @@ def my_model(parameter_samples): ['beta', {'a': 2, 'b': 3}]], input_obj=3, num_samples=1000) sampler2.compute_qoi_and_create_discretization() - sampler.discretization.set_output_probability_set(sampler2.discretization.get_output_sample_set()) + sampler.discretization.set_output_observed_set(sampler2.discretization.get_output_sample_set()) self.disc1 = sampler.discretization self.disc2 = sampler2.discretization @@ -258,7 +258,7 @@ def test_rv(self): """ Test plotting random variable probability. """ - dc.invert_to_random_variable(self.disc1, rv='beta') + calculateR.invert_to_random_variable(self.disc1, rv='beta') param_labels = [r'$a$', r'$b$', r'$c$'] for i in range(3): plotP.plot_marginal(sets=(self.disc1, self.disc2), i=i, diff --git a/test/test_sampling/test_useLUQ.py b/test/test_sampling/test_useLUQ.py index 2164c567..97055d75 100644 --- a/test/test_sampling/test_useLUQ.py +++ b/test/test_sampling/test_useLUQ.py @@ -76,7 +76,7 @@ def test_sets(self): """ assert self.disc1.get_input_sample_set() == self.p_set assert self.disc2.get_input_sample_set() == self.o_set - assert self.disc1.get_output_probability_set() == self.disc2.get_output_sample_set() + assert self.disc1.get_output_observed_set() == self.disc2.get_output_sample_set() def test_saving(self): """