Risk Distributions
- class vivarium.risk_distributions.risk_distributions.BaseDistribution(parameters=None, mean=None, sd=None, computability_bound=0.001)[source]
Generic vectorized wrapper around scipy distributions.
- Parameters:
parameters (Parameters)
mean (Parameter)
sd (Parameter)
computability_bound (float)
- distribution = None
- expected_parameters = ()
- classmethod get_parameters(parameters=None, mean=None, sd=None, computability_bound=0.001)[source]
- Parameters:
parameters (Parameters)
mean (Parameter)
sd (Parameter)
computability_bound (float)
- Return type:
DataFrame
- static computable_parameter_index(mean, sd)[source]
- Parameters:
mean (Series)
sd (Series)
- Return type:
Index
- classmethod get_computability_bounds(parameters, computability_bound)[source]
- Parameters:
parameters (DataFrame)
computability_bound (float)
- Return type:
DataFrame
- process(data, parameters, process_type)[source]
Function called before and after distribution looks to handle pre- and post-processing.
This function should look like an if sieve on the process_type and fall back with a call to this method if no processing needs to be done.
- Parameters:
data (Series) – The data to be processed.
parameters (DataFrame) – Parameter data to be used in the processing.
process_type (str) – One of pdf_preprocess, pdf_postprocess, ppf_preprocess, ppf_post_process.
- Returns:
The processed data.
- Return type:
- class vivarium.risk_distributions.risk_distributions.MirroredDistribution(parameters=None, mean=None, sd=None, computability_bound=0.001)[source]
- Parameters:
parameters (Parameters)
mean (Parameter)
sd (Parameter)
computability_bound (float)
- class vivarium.risk_distributions.risk_distributions.Beta(parameters=None, mean=None, sd=None, computability_bound=0.001)[source]
- Parameters:
parameters (Parameters)
mean (Parameter)
sd (Parameter)
computability_bound (float)
- distribution = <scipy.stats._continuous_distns.beta_gen object>
- expected_parameters = ('a', 'b', 'scale', 'loc')
- class vivarium.risk_distributions.risk_distributions.Exponential(parameters=None, mean=None, sd=None, computability_bound=0.001)[source]
- Parameters:
parameters (Parameters)
mean (Parameter)
sd (Parameter)
computability_bound (float)
- distribution = <scipy.stats._continuous_distns.expon_gen object>
- expected_parameters = ('scale',)
- class vivarium.risk_distributions.risk_distributions.Gamma(parameters=None, mean=None, sd=None, computability_bound=0.001)[source]
- Parameters:
parameters (Parameters)
mean (Parameter)
sd (Parameter)
computability_bound (float)
- distribution = <scipy.stats._continuous_distns.gamma_gen object>
- expected_parameters = ('a', 'scale')
- class vivarium.risk_distributions.risk_distributions.Gumbel(parameters=None, mean=None, sd=None, computability_bound=0.001)[source]
- Parameters:
parameters (Parameters)
mean (Parameter)
sd (Parameter)
computability_bound (float)
- distribution = <scipy.stats._continuous_distns.gumbel_r_gen object>
- expected_parameters = ('loc', 'scale')
- class vivarium.risk_distributions.risk_distributions.InverseGamma(parameters=None, mean=None, sd=None, computability_bound=0.001)[source]
- Parameters:
parameters (Parameters)
mean (Parameter)
sd (Parameter)
computability_bound (float)
- distribution = <scipy.stats._continuous_distns.invgamma_gen object>
- expected_parameters = ('a', 'scale')
- class vivarium.risk_distributions.risk_distributions.InverseWeibull(parameters=None, mean=None, sd=None, computability_bound=0.001)[source]
- Parameters:
parameters (Parameters)
mean (Parameter)
sd (Parameter)
computability_bound (float)
- distribution = <scipy.stats._continuous_distns.invweibull_gen object>
- expected_parameters = ('c', 'scale')
- class vivarium.risk_distributions.risk_distributions.LogLogistic(parameters=None, mean=None, sd=None, computability_bound=0.001)[source]
- Parameters:
parameters (Parameters)
mean (Parameter)
sd (Parameter)
computability_bound (float)
- distribution = <scipy.stats._continuous_distns.burr12_gen object>
- expected_parameters = ('c', 'd', 'scale')
- class vivarium.risk_distributions.risk_distributions.LogNormal(parameters=None, mean=None, sd=None, computability_bound=0.001)[source]
- Parameters:
parameters (Parameters)
mean (Parameter)
sd (Parameter)
computability_bound (float)
- distribution = <scipy.stats._continuous_distns.lognorm_gen object>
- expected_parameters = ('s', 'scale')
- class vivarium.risk_distributions.risk_distributions.MirroredGumbel(parameters=None, mean=None, sd=None, computability_bound=0.001)[source]
- Parameters:
parameters (Parameters)
mean (Parameter)
sd (Parameter)
computability_bound (float)
- distribution = <scipy.stats._continuous_distns.gumbel_r_gen object>
- expected_parameters = ('loc', 'scale')
- process(data, parameters, process_type)[source]
Function called before and after distribution looks to handle pre- and post-processing.
This function should look like an if sieve on the process_type and fall back with a call to this method if no processing needs to be done.
- Parameters:
data (Series) – The data to be processed.
parameters (DataFrame) – Parameter data to be used in the processing.
process_type (str) – One of pdf_preprocess, pdf_postprocess, ppf_preprocess, ppf_post_process.
- Returns:
The processed data.
- Return type:
- class vivarium.risk_distributions.risk_distributions.MirroredGamma(parameters=None, mean=None, sd=None, computability_bound=0.001)[source]
- Parameters:
parameters (Parameters)
mean (Parameter)
sd (Parameter)
computability_bound (float)
- distribution = <scipy.stats._continuous_distns.gamma_gen object>
- expected_parameters = ('a', 'scale')
- process(data, parameters, process_type)[source]
Function called before and after distribution looks to handle pre- and post-processing.
This function should look like an if sieve on the process_type and fall back with a call to this method if no processing needs to be done.
- Parameters:
data (Series) – The data to be processed.
parameters (DataFrame) – Parameter data to be used in the processing.
process_type (str) – One of pdf_preprocess, pdf_postprocess, ppf_preprocess, ppf_post_process.
- Returns:
The processed data.
- Return type:
- class vivarium.risk_distributions.risk_distributions.Normal(parameters=None, mean=None, sd=None, computability_bound=0.001)[source]
- Parameters:
parameters (Parameters)
mean (Parameter)
sd (Parameter)
computability_bound (float)
- distribution = <scipy.stats._continuous_distns.norm_gen object>
- expected_parameters = ('loc', 'scale')
- class vivarium.risk_distributions.risk_distributions.Weibull(parameters=None, mean=None, sd=None, computability_bound=0.001)[source]
- Parameters:
parameters (Parameters)
mean (Parameter)
sd (Parameter)
computability_bound (float)
- distribution = <scipy.stats._continuous_distns.weibull_min_gen object>
- expected_parameters = ('c', 'scale')
- class vivarium.risk_distributions.risk_distributions.EnsembleDistribution(weights, parameters=None, mean=None, sd=None, computability_bound=0.001)[source]
Represents an arbitrary distribution as a weighted sum of several concrete distribution types.
- Parameters:
- classmethod get_parameters(weights, parameters=None, mean=None, sd=None, computability_bound=0.001)[source]
- classmethod get_expected_parameters(distribution_name)[source]
Get the expected parameters for a given distribution in the ensemble.
- static fill_missing_weights(weights, expected_columns)[source]
- Parameters:
weights (Parameters)
- Return type:
Parameters
- ppf(q, q_dist)[source]
Quantile function using 2 propensities.
- Parameters:
- Returns:
Sample from the ensembled distribution.
- Return type:
Union[pandas.Series, numpy.ndarray, float]