-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Closed
Description
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:
pymc/pymc/distributions/discrete.py
Lines 126 to 132 in 380e68c
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:
pymc/tests/distributions/test_discrete.py
Lines 962 to 966 in 9a3f504
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.
duncanhobbs