-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Unseed (and slightly refactor) TestMatchesScipy #4461
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unseed (and slightly refactor) TestMatchesScipy #4461
Conversation
Seems like we have a numerical precision issue in the skewnormal: https://github.com/pymc-devs/pymc3/pull/4461/checks?check_run_id=1837831640 Reducing the 64bit decimal precision from 6 to 5, seems to work (I tested on all combinations locally) |
Precision issues in gamma logcdf (32-bit): |
5fe7bc6
to
d0d0e0a
Compare
d0d0e0a
to
4f98dba
Compare
InverseGamma logp also failed with 6 decimals, but passes with 5 (all combinations tested locally). I am now testing all methods locally with all the samples (64bit for now). I figured out that it's probably better to do a complete run once rather than keep chasing the failures... |
My only lingering concern is whether |
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
This PR unseeds
TestMatchesScipy
, which contradicted the effect of limiting the number of samples inproduct(domains, n_samples)
which is supposed to return a random subset of domain x paramdomain points that are used to test the logp and logcdf methods.This, for instance, made this last PR #4459 somewhat shortsighted in that it assumed we would keep covering the entire domain grid (over multiple CI runs)
I also refactored the old
pymc3_matches_scipy
tocheck_logp
, in line with thecheck_logcdf
that was added at a later point. I added some documentation, mostly borrowing from the check_locgdf function.Depending on what your PR does, here are a few things you might want to address in the description: