That's a good question. The correlation transform is just
a scaled and shifted inverse logit
2 * inv_logit(x) - 1
We could scale x if we think 20's not going to be enough.
But I don't think anyone's going to be initializating
at (-20,20) or beyond.
The transform does bound how close rho will be able to
get to -1 or 1. But inv_logit(20) is pretty close to 1,
so it's probably not an issue if people stay away from
super high or low correlations (which are usually problematic
for other reasons).
I think there's a whole lot of research that could be done
on which transforms are more efficient. For instance, they could
be largely linear within their main range and then highly curved
at the edges. We could also do that with just the log transform
for the lower-bound or upper-bound constraints. For example,
(0,inf) -> (-inf, inf)
by taking this piece to be linear
(0.01,inf) -> (0.01,inf)
and then using a non-linear transform here that's
smooth at the boundary
(0, 0.01) -> (-inf, 0.01)
- Bob
> --
> You received this message because you are subscribed to the Google Groups "stan development mailing list" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to
stan-dev+u...@googlegroups.com.
> For more options, visit
https://groups.google.com/d/optout.