copulas.univariate.base module
Base Univariate class.
- class copulas.univariate.base.BoundedType(*values)[source]
Bases:
EnumBounded Enum.
- BOUNDED = 2
- SEMI_BOUNDED = 1
- UNBOUNDED = 0
- class copulas.univariate.base.ParametricType(*values)[source]
Bases:
EnumParametric Enum.
- NON_PARAMETRIC = 0
- PARAMETRIC = 1
- class copulas.univariate.base.ScipyModel(random_state=None)[source]
Bases:
Univariate,ABCWrapper for scipy models.
This class makes the probability_density, cumulative_distribution, percent_point and sample point at the underlying pdf, cdf, ppd and rvs methods respectively.
fit, _get_params and _set_params must be implemented by the subclasses.
- MODEL_CLASS = None
- cumulative_distribution(X)[source]
Compute the cumulative distribution value for each point in X.
- Parameters:
X (numpy.ndarray) – Values for which the cumulative distribution will be computed. It must have shape (n, 1).
- Returns:
Cumulative distribution values for points in X.
- Return type:
numpy.ndarray
- Raises:
NotFittedError – if the model is not fitted.
- fit(X)[source]
Fit the model to a random variable.
- Parameters:
X (numpy.ndarray) – Values of the random variable. It must have shape (n, 1).
- log_probability_density(X)[source]
Compute the log of the probability density for each point in X.
- Parameters:
X (numpy.ndarray) – Values for which the log probability density will be computed. It must have shape (n, 1).
- Returns:
Log probability density values for points in X.
- Return type:
numpy.ndarray
- Raises:
NotFittedError – if the model is not fitted.
- percent_point(U)[source]
Compute the inverse cumulative distribution value for each point in U.
- Parameters:
U (numpy.ndarray) – Values for which the cumulative distribution will be computed. It must have shape (n, 1) and values must be in [0,1].
- Returns:
Inverse cumulative distribution values for points in U.
- Return type:
numpy.ndarray
- Raises:
NotFittedError – if the model is not fitted.
- probability_density(X)[source]
Compute the probability density for each point in X.
- Parameters:
X (numpy.ndarray) – Values for which the probability density will be computed. It must have shape (n, 1).
- Returns:
Probability density values for points in X.
- Return type:
numpy.ndarray
- Raises:
NotFittedError – if the model is not fitted.
- sample(n_samples=1)[source]
Sample values from this model.
- Argument:
- n_samples (int):
Number of values to sample
- Returns:
Array of shape (n_samples, 1) with values randomly sampled from this model distribution.
- Return type:
numpy.ndarray
- Raises:
NotFittedError – if the model is not fitted.
- class copulas.univariate.base.Univariate(candidates=None, parametric=None, bounded=None, random_state=None, selection_sample_size=None)[source]
Bases:
objectUnivariate Distribution.
- Parameters:
candidates (list[str or type or Univariate]) – List of candidates to select the best univariate from. It can be a list of strings representing Univariate FQNs, or a list of Univariate subclasses or a list of instances.
parametric (ParametricType) – If not
None, only select subclasses of this type. Ignored ifcandidatesis passed.bounded (BoundedType) – If not
None, only select subclasses of this type. Ignored ifcandidatesis passed.random_state (int or np.random.RandomState) – Random seed or RandomState to use.
selection_sample_size (int) – Size of the subsample to use for candidate selection. If
None, all the data is used.
- BOUNDED = 0
- PARAMETRIC = 0
- cdf(X)[source]
Compute the cumulative distribution value for each point in X.
- Parameters:
X (numpy.ndarray) – Values for which the cumulative distribution will be computed. It must have shape (n, 1).
- Returns:
Cumulative distribution values for points in X.
- Return type:
numpy.ndarray
- check_fit()[source]
Check whether this model has already been fit to a random variable.
Raise a
NotFittedErrorif it has not.- Raises:
NotFittedError – if the model is not fitted.
- cumulative_distribution(X)[source]
Compute the cumulative distribution value for each point in X.
- Parameters:
X (numpy.ndarray) – Values for which the cumulative distribution will be computed. It must have shape (n, 1).
- Returns:
Cumulative distribution values for points in X.
- Return type:
numpy.ndarray
- Raises:
NotFittedError – if the model is not fitted.
- fit(X)[source]
Fit the model to a random variable.
- Parameters:
X (numpy.ndarray) – Values of the random variable. It must have shape (n, 1).
- fitted = False
- classmethod from_dict(params)[source]
Build a distribution from its params dict.
- Parameters:
params (dict) – Dictionary containing the FQN of the distribution and the necessary parameters to rebuild it. The input format is exactly the same that is outputted by the distribution class
to_dictmethod.- Returns:
Distribution instance.
- Return type:
- classmethod load(path)[source]
Load a Univariate instance from a pickle file.
- Parameters:
path (str) – Path to the pickle file where the distribution has been serialized.
- Returns:
Loaded instance.
- Return type:
- log_probability_density(X)[source]
Compute the log of the probability density for each point in X.
It should be overridden with numerically stable variants whenever possible.
- Parameters:
X (numpy.ndarray) – Values for which the log probability density will be computed. It must have shape (n, 1).
- Returns:
Log probability density values for points in X.
- Return type:
numpy.ndarray
- Raises:
NotFittedError – if the model is not fitted.
- pdf(X)[source]
Compute the probability density for each point in X.
- Parameters:
X (numpy.ndarray) – Values for which the probability density will be computed. It must have shape (n, 1).
- Returns:
Probability density values for points in X.
- Return type:
numpy.ndarray
- percent_point(U)[source]
Compute the inverse cumulative distribution value for each point in U.
- Parameters:
U (numpy.ndarray) – Values for which the cumulative distribution will be computed. It must have shape (n, 1) and values must be in [0,1].
- Returns:
Inverse cumulative distribution values for points in U.
- Return type:
numpy.ndarray
- Raises:
NotFittedError – if the model is not fitted.
- ppf(U)[source]
Compute the inverse cumulative distribution value for each point in U.
- Parameters:
U (numpy.ndarray) – Values for which the cumulative distribution will be computed. It must have shape (n, 1) and values must be in [0,1].
- Returns:
Inverse cumulative distribution values for points in U.
- Return type:
numpy.ndarray
- probability_density(X)[source]
Compute the probability density for each point in X.
- Parameters:
X (numpy.ndarray) – Values for which the probability density will be computed. It must have shape (n, 1).
- Returns:
Probability density values for points in X.
- Return type:
numpy.ndarray
- Raises:
NotFittedError – if the model is not fitted.
- sample(n_samples=1)[source]
Sample values from this model.
- Argument:
- n_samples (int):
Number of values to sample
- Returns:
Array of shape (n_samples, 1) with values randomly sampled from this model distribution.
- Return type:
numpy.ndarray
- Raises:
NotFittedError – if the model is not fitted.
- save(path)[source]
Serialize this univariate instance using pickle.
- Parameters:
path (str) – Path to where this distribution will be serialized.
- set_random_state(random_state)[source]
Set the random state.
- Parameters:
random_state (int, np.random.RandomState, or None) – Seed or RandomState for the random generator.
- to_dict()[source]
Return the parameters of this model in a dict.
- Returns:
Dictionary containing the distribution type and all the parameters that define the distribution.
- Return type:
dict
- Raises:
NotFittedError – if the model is not fitted.