-
Notifications
You must be signed in to change notification settings - Fork 0
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 exponential simplex transform #2
base: main
Are you sure you want to change the base?
Conversation
@bob-carpenter @sethaxen this is updated from the emails I sent out. It seems to work quite well. |
simplex_transforms/stan/transforms/Exponential/Exponential_functions.stan
Show resolved
Hide resolved
simplex_transforms/stan/transforms/Exponential/Exponential_functions.stan
Show resolved
Hide resolved
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.
Thanks for adding! Is the derivation written down somewhere? I may have missed it in one of the e-mails, but can you say something about the rationale behind this transform? So far as I can tell, it's very similar to Expanded-Softmax. In particular, if
On that note, is there a more descriptive name than "Exponential"?
Can you also add a jax implementation and add it to the list of transforms in the tests so that the Jacobian determinant is automatically checked?
simplex_transforms/stan/transforms/Exponential/Exponential_functions.stan
Outdated
Show resolved
Hide resolved
simplex_transforms/stan/transforms/Exponential/Exponential_functions.stan
Show resolved
Hide resolved
simplex_transforms/stan/transforms/Exponential/Exponential_functions.stan
Show resolved
Hide resolved
I'll write it out and send it.
I was surprised at how
It's more like a generalized logit function I guess.
Ooph. Yea I'll have to use an llm to help me with that but I can try! |
That's interesting. I found that log(1 + exp(y)) did not perform better than exp(y) for lognormal, gamma, or inverse gamma or weibull distributions. It did a little bit better for half normal distributions. We should've started with an analysis of positive transforms. |
If it helps, check out the last 3 commits on https://github.com/bob-carpenter/transforms/tree/ilr2. Following the same approach would work here. |
After some algebra and cancellation this transform is ready. By preliminary wall clock time and ESS this performs really well.