Base classes and utility functions¶
Base classes¶
Base Bayes model and A/B testing classes.
-
class
cprior.cdist.base.
BayesABTest
(modelA, modelB, simulations=None, random_state=None)¶ Bases:
object
Bayes A/B test abstract class.
Parameters: - modelA (object) – The Bayes model for variant A.
- modelB (object) – The Bayes model for variant B.
- simulations (int or None (default=1000000)) – Number of Monte Carlo simulations.
- random_state (int or None (default=None)) – The seed used by the random number generator.
-
expected_loss
()¶ Compute the expected loss. This is the expected uplift lost by choosing a given variant.
-
expected_loss_ci
()¶ Compute credible intervals on the difference distribution of \(Z = B-A\) and/or \(Z = A-B\).
-
expected_loss_relative
()¶ Compute expected relative loss for choosing a variant. This can be seen as the negative expected relative improvement or uplift.
-
expected_loss_relative_ci
()¶ Compute credible intervals on the relative difference distribution of \(Z = (B-A)/A\) and/or \(Z = (A-B)/B\).
-
probability
()¶ Compute the error probability or chance to beat control.
-
update_A
(data)¶ Update posterior parameters for variant A with new data samples.
Parameters: data (array-like, shape = (n_samples)) –
-
update_B
(data)¶ Update posterior parameters for variant B with new data samples.
Parameters: data (array-like, shape = (n_samples)) –
-
class
cprior.cdist.base.
BayesMVTest
(models, simulations=None, random_state=None, n_jobs=None)¶ Bases:
object
Bayesian Multivariate test abstract class.
Parameters: - models (dict) – The Bayes models.
- simulations (int or None (default=1000000)) – Number of Monte Carlo simulations.
- random_state (int or None (default=None)) – The seed used by the random number generator.
-
expected_loss
()¶ Compute the expected loss. This is the expected uplift lost by choosing a given variant.
-
expected_loss_ci
()¶ Compute credible intervals on the difference between two variants.
-
expected_loss_relative
()¶ Compute expected relative loss for choosing a variant. This can be seen as the negative expected relative improvement or uplift.
-
expected_loss_relative_ci
()¶ Compute credible intervals on the relative difference between two variants.
-
expected_loss_vs_all
()¶ Compute the expected loss against all variations.
-
probability
()¶ Compute the error probability or chance to beat control.
-
probability_vs_all
()¶ Compute the error probability or chance to beat all variations.
-
update
(data, variant)¶ Update posterior parameters for a given variant with new data samples.
Parameters: - data (array-like, shape = (n_samples)) –
- variant (str) –
-
class
cprior.cdist.base.
BayesModel
(name='')¶ Bases:
object
Bayes model class.
Parameters: name (str (default="")) – Model name. -
cdf
(x)¶ Cumulative distribution function of the posterior distribution.
Parameters: x (array-like) – Quantiles. Returns: cdf – Cumulative distribution function evaluated at x. Return type: numpy.ndarray
-
credible_interval
(interval_length)¶ Credible interval of the posterior distribution.
Parameters: interval_length (float (default=0.9)) – Compute interval_length
% credible interval. This is a value in [0, 1].Returns: interval – Lower and upper credible interval limits. Return type: tuple
-
mean
()¶ Mean of the posterior distribution.
-
pdf
(x)¶ Probability density function of the posterior distribution.
Parameters: x (array-like) – Quantiles. Returns: pdf – Probability density function evaluated at x. Return type: numpy.ndarray
-
ppf
(q)¶ Percent point function (quantile) of the posterior distribution.
Parameters: x (array-like) – Lower tail probability. Returns: ppf – Quantile corresponding to the lower tail probability q. Return type: numpy.ndarray
-
rvs
(size=1, random_state=None)¶ Random variates of the posterior distribution.
Parameters: - size (int (default=1)) – Number of random variates.
- random_state (int or None (default=None)) – The seed used by the random number generator.
Returns: rvs – Random variates of given size.
Return type: numpy.ndarray or scalar
-
std
()¶ Standard deviation of the posterior distribution.
-
var
()¶ Variance of the posterior distribution.
-
Utility functions¶
Utilities to check methods and models.
-
cprior.cdist.utils.
check_ab_method
(method, method_options, variant, lift=0, interval_length=0.9)¶ Check parameters of A/B testing method.
Parameters: - method (str) – The default computational method.
- method_options (list or tuple) – The list of supported computational methods.
- variant (str) – The chosen variant. Options are “A”, “B”, “all”
- lift (float (default=0.0)) – The amount of uplift.
-
cprior.cdist.utils.
check_models
(refclass, *models)¶ Check that models for A/B and multivariate testing belong to the correct class.
Parameters: - refclass (object) – Reference class.
- models (objects) – Model instances to be checked.
-
cprior.cdist.utils.
check_mv_method
(method, method_options, control, variant, variants, lift=0, interval_length=0.9)¶ Check parameters of Multivariate testing method.
Parameters: - method (str) – The default computational method.
- method_options (list or tuple) – The list of supported computational methods.
- control (str) – The control variant.
- variant (str) – The variation variant.
- variants (list or tuple) – The list of available variants.
- lift (float (default=0.0)) – The amount of uplift.
-
cprior.cdist.utils.
check_mv_models
(refclass, models)¶ Check models for Multivariate testing.
Parameters: - refclass (object) – Reference class.
- models (dict) – Dictionary of model instances to be checked.