-
-
Notifications
You must be signed in to change notification settings - Fork 20
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
Add Frechet RandomVariable
#212
Comments
We've converged on the notion of only implementing the core functionality and |
Thanks for answering. @ricardoV94 you're saying Aeppl will derive the logprob of the inverse Weibull from the logprob of the Weibull? Very cool! @brandonwillard Whichever of those two choices sounds good to me. I just subclassed |
Yes, that will always be the preferred route in cases like this, but, as you mention, we might not get complete parity with NumPy—at least in terms of performance and/or seeding and sample results. Such parity concerns are one of the reasons I don't want to go too far in our |
When it comes to probability distribution my vote goes to AePPL. Also |
Would you say we should drop The choice of what we name and what we leave as function of another RV is somewhat arbitrary, and I just wanted to point out that we don't have a criterion to decide yet. We can either decide that whatever statisticians named they named for a reason, and get the largest set of names function possible. Or decide to only keep a subset of fundamental distributions from which everything else can be derived. These two propositions are not incompatible, as we can always give a name to e.g. |
I agree for the draws and the logprob part. Is there a way we could define an |
Implement a x_rv = aeppl.random.Frechet(1, 1, 1) is equivalent to: x_rv = at.inv(at.random.weibull(1, 1)) as far as sampling and logprob are concerned. An |
This can just be a helper function now that log-densities can be derived from |
So will we match Or should we have an |
We should be able to identify We can always canonicalize/normalize these kinds of non-"atomic" forms for cases like
We could always do that, but I'm included to reserve uses of |
Description of your problem or feature request
I'd like to request to add a Frechet random variable implementation, parameterized the same as Stan here. It's another name for the inverse Weibull, which is in scipy. The use case is penalized complexity (PC) priors for lengthscale parameters in Gaussian process models.
So I'm proposing this as an enhancement, and would be happy to make a PR for it. Would like to support it in aeppl too.
The text was updated successfully, but these errors were encountered: