To what extent can a non-standard variance for GLMs be specified in Stan?

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.