I am trying to fit a simple logistic regression of the kind:

n ~ binomial(N, theta)
theta = inv_logit( a + x * b )

where x is either 0 or 1 depending if a condition is present or not. Therefor the intercept a is directly linked to the probability theta for condition 0.

From what I read most people recommend a non-informative normal(0,10) prior for a, but this is always for centered data. I am modeling with rstanarm, which is centering the data (and I think the priors as well?) internally, so I would suspect that the prior I choose should be closer to the raw data I expect and not the centered one, is this correct?

In my data, I know that I have a lot of cases where I have no observations n in condition 0, therefor theta tends to zero and a would tend to -inf. Shouldn't this be reflected by a prior which gives a higher density to -infValues (e.g. a gamma(1,0.5) distribution (but trying it gives me the error below).

Chain 4: Rejecting initial value:
Chain 4:   Log probability evaluates to log(0), i.e. negative infinity.
Chain 4:   Stan can't start sampling from this initial value.

Summarizing the Question:

  • Do I have to account for the centering of the the priors in rstanarm.
  • If not, what would be a appropriate prior for the intercept, if -inf has a high probability.
  • $\begingroup$ What do you mean by zero inflated intercept? $\endgroup$ – kjetil b halvorsen Nov 2 at 10:49
  • $\begingroup$ right, that's a stupid/wrong way of wording that. What I meant is, that the intercept tent to -inf so theta would be 0 in case of condition x = 0 $\endgroup$ – kEks Nov 2 at 13:07
  • $\begingroup$ Can you please then update your post, editing a better explanation? Not everybody reads comments ... $\endgroup$ – kjetil b halvorsen Nov 2 at 13:45
  • $\begingroup$ The prior on a in rstanarm::stan_glm represents your beliefs about the expected log-odds of success for an observation with an average value of x. Although people do put normal(0, 10) priors on that, rarely do they understand what they are doing. If you execute plot(density(plogis(rnorm(10^6, mean = 0, sd = 10)), from = 0, to = 1)) in R, you will see almost all the prior probability is less than 0.2 or greater than 0.8 with intermediate values being implausible. The default is normal with an expectation of zero and a standard deviation of 1.4, which yields almost uniform probabilities. $\endgroup$ – Ben Goodrich Nov 3 at 22:10
  • $\begingroup$ Thanks a lot, the visualization is really striking. And thanks for explaining that the prior for 'a' would be for an average 'x'. Would you mind explaining why it's not for 'x=0' (or point me to a reference for that). $\endgroup$ – kEks Nov 4 at 23:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.