When using Stan functions like bernoulli_logit
, there is a default to a scale parameter of 1 for the standard logistic distribution.
To what extent is it possible to specify a different variance for this parameter? A scale of 5 perhaps, or something less than 1?
Anything you can write down in math that’s differentiable is fair game. The definition built-in is that
y ~ bernoulli_logit(alpha);
is equivalent to
y ~ bernoulli(inv_logit(alpha));
You can replace inv_logit
with another CDF and you’re good to go. For example, probit regression is just
y ~ bernoulli(Phi(alpha));
where Phi
is the standard normal cdf.
If you want to do inverse logit with a different scale, you can just scale the value, e.g., for scale 5,
bernoulli_logit(y | alpha / 5.0);
You can also write this directly as a cdf as follows.
y ~ bernoulli(logistic_cdf(alpha | 0, 5));
1 Like
Sometimes you’re almost too perfect, @Bob_Carpenter. Many thanks again.