Normal¶
-
class
stats_arrays.
NormalUncertainty
¶ Bases:
stats_arrays.distributions.base.UncertaintyBase
-
classmethod
bounded_random_variables
(params, size, seeded_random=None, maximum_iterations=50)¶ Generate random variables repeatedly until all varaibles are within the bounds of each distribution. Raise MaximumIterationsError if this takes more that maximum_iterations. Uses random_variables for random number generation.
Inputs
- params : A Parameter array.
- size : Integer. The number of values to draw from each distribution in params.
- seeded_random : Integer. Optional. Random seed to get repeatable samples.
- maximum_iterations : Integer. Optional. Maximum iterations to try to fit the given bounds before an error is raised.
Output
An array of random values, with dimensions params rows by size.
-
classmethod
check_2d_inputs
(params, vector)¶ Convert
vector
to 2 dimensions if not already, and raisestats_arrays.InvalidParamsError
ifvector
andparams
dimensions don’t match.
-
classmethod
check_bounds_reasonableness
(params, *args, **kwargs)¶ Test if there is at least a
threshold
percent chance of generating random numbers within the provided bounds.Doesn’t return anything. Raises
stats_arrays.UnreasonableBoundsError
if this condition is not met.Inputs
- params : A one-row Parameter array.
- threshold : A percentage between 0 and 1. The minimum loc of the distribution covered by the bounds before an error is raised.
-
classmethod
from_dicts
(*dicts)¶ Construct a Heterogeneous parameter array from parameter dictionaries.
Dictionary keys are the normal parameter array columns. Each distribution defines which columns are required and which are optional.
Example:
>>> from stats_arrays import UncertaintyBase >>> import numpy as np >>> UncertaintyBase.from_dicts( ... {'loc': 2, 'scale': 3, 'uncertainty_type': 3}, ... {'loc': 5, 'minimum': 3, 'maximum': 10, 'uncertainty_type': 5} ... ) array([(2.0, 3.0, nan, nan, nan, False, 3), (5.0, nan, nan, 3.0, 10.0, False, 5)], dtype=[('loc', '<f8'), ('scale', '<f8'), ('shape', '<f8'), ('minimum', '<f8'), ('maximum', '<f8'), ('negative', '?'), ('uncertainty_type', 'u1')])
- Args:
- One of more dictionaries.
- Returns:
- A Heterogeneous parameter array
-
classmethod
from_tuples
(*data)¶ Construct a Heterogeneous parameter array from parameter tuples.
The order of the parameters is:
loc
scale
shape
minimum
maximum
negative
uncertainty_type
Each input tuple must have a length of exactly 7. For more flexibility, use
from_dicts
.Example:
>>> from stats_arrays import UncertaintyBase >>> import numpy as np >>> UncertaintyBase.from_tuples( ... (2, 3, np.NaN, np.NaN, np.NaN, False, 3), ... (5, np.NaN, np.NaN, 3, 10, False, 5) ... ) array([(2.0, 3.0, nan, nan, nan, False, 3), (5.0, nan, nan, 3.0, 10.0, False, 5)], dtype=[('loc', '<f8'), ('scale', '<f8'), ('shape', '<f8'), ('minimum', '<f8'), ('maximum', '<f8'), ('negative', '?'), ('uncertainty_type', 'u1')])
- Args:
- One of more tuples of length 7.
- Returns:
- A Heterogeneous parameter array
-
classmethod