Description
#4508 and #4548 started the refactoring of Distributions whose random Ops were already defined in Aesara, and we should be able to start converting the remaining ones anytime now.
It seems that the logp/ logcdf tests in test_distributions.py
should stay more or less unchanged, but we might want to change or remove most of the tests in test_distributions_random.py
.
Right now, in test_distribtions_random.py
, we are generating a couple hundred samples via pymc3 and scipy and checking they match by doing a Kolmogorov-Smirnov test.
@brandonwillard said that since we are basically just calling numpy / scipy random routines under the hood, it should be enough to check we are converting properly between our parametrizations and the scipy ones.
For the shapes, we can assume that if things are working on Aesara side, they should be working here?
This is the minimalist example of what we need to check:
exp = pm.Exponential.dist(lam=10)
exp.eval() # Make sure we are calling the scipy.stats.expon(1/lam) under the hood
Anything I am missing?