Hi all, hope you doing well.
I know that to define a real parameter in a specific interval we should do it in the parameter block using, for example for \alpha:
real <lower=a,upper=b> alpha;
in mathematical notation this means \alpha \in [a,b] .
Is there a way to define this parameter in an interval which has the form [a,b]U[c,d] for example, [0,1]U[2,10]?, this example implies that, for instance 1.5 is not in the domain of \alpha.
Thanks for the attention.
The short answer is no, but I think the long answer is “Why do you want to do this?”
I think there’s a very good chance that this community might be able to come up with some good suggestions for how to get a good model for your data if you explain why you want a parameter on a discontinuous domain.
@jsocolar asks good questions. If you are sure these are valid hard bounds, you can try to either
- map an interval [a, b] to [c, d]\cup[e,f] with
if else clause. This introduces discontinuity and may stress the sampler.
- or you can scale & shift a sigmoid function so it transits smoothly from d to e. This way you end with only [c, f] bounds. You need good data to invalidate the transition interval in posterior.