mjhajharia / transforms

2 stars 1 forks source link

Update hyperspherical-derived transforms #55

Closed sethaxen closed 1 year ago

sethaxen commented 1 year ago

This PR makes a number of changes/improvements to the transforms derived from hyperspherical coordinates introduced in #41 and #42

One question is whether we should include the transform described in https://arxiv.org/pdf/1010.3436.pdf. This is almost equivalent to the old "logistic product" transform and has all of the same problems. I'm inclined to leave it out.

mjhajharia commented 1 year ago

This PR makes a number of changes/improvements to the transforms derived from hyperspherical coordinates introduced in #41 and #42

  • Renames the files to be more descriptive.
  • Some performance/stability improvements
  • The "logistic product" transform has been replaced with the ~logistic~ hyperspherical-logit transform. This resolves all of the problems with the logistic product transform raised in Add more transforms for simplex #42 (comment). In particular, when x is uniformly distributed on the simplex, y all marginals of y follow the same distribution, which is a 0-centered logistic distribution. See the paper text for details; I haven't seen this transform in the literature, but it isn't necessarily novel.

One question is whether we should include the transform described in https://arxiv.org/pdf/1010.3436.pdf. This is almost equivalent to the old "logistic product" transform and has all of the same problems. I'm inclined to leave it out.

i think we can leave it and simply mention it as a related reference. thanks for the PR!

mjhajharia commented 1 year ago

so Hyperspherical and HypersphericalAngular seem to suffer from the same problem as the old logistic transforms for N=1000 (initialization fails)

sethaxen commented 1 year ago

so Hyperspherical and HypersphericalAngular seem to suffer from the same problem as the old logistic transforms for N=1000 (initialization fails)

I think that makes sense. The first plot in https://github.com/mjhajharia/transforms/pull/42#issuecomment-1193081310 shows that For N=500, about a third of the parameters are guaranteed to be initialized outside of the marginal 99% center interval of the uniform distribution on the simplex, and that should be worse for N=1000.

mjhajharia commented 1 year ago

so Hyperspherical and HypersphericalAngular seem to suffer from the same problem as the old logistic transforms for N=1000 (initialization fails)

I think that makes sense. The first plot in #42 (comment) shows that For N=500, about a third of the parameters are guaranteed to be initialized outside of the marginal 99% center interval of the uniform distribution on the simplex, and that should be worse for N=1000.

yeah turns out init = (-10, 10) also fails, but initialization at exactly 0 works, (-0.5, 0.5) or anything very close to 0 works as well