Skip to content

Add alternative scale parametrization to Exponential #6637

@ricardoV94

Description

@ricardoV94

Description

scale = 1 / lam
PyMC currently uses lam, and others (e.g., Numpy) use scale

This should be relatively simple, here is an existing example of a distribution with multiple parametrizations:

if p is not None and logit_p is not None:
raise ValueError("Incompatible parametrization. Can't specify both p and logit_p.")
elif p is None and logit_p is None:
raise ValueError("Incompatible parametrization. Must specify either p or logit_p.")
if logit_p is not None:
p = pt.sigmoid(logit_p)

Test example:

class TestBernoulliLogitP(BaseTestDistributionRandom):
pymc_dist = pm.Bernoulli
pymc_dist_params = {"logit_p": 1.0}
expected_rv_op_params = {"p": sp.expit(1.0)}
checks_to_run = ["check_pymc_params_match_rv_op"]

See also docstrings examples of how multiple parametrizations are described.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions