Parameter on the right-side of statement can work as prior?

I have a hierarchical model of 2 levels where in the first I infer the value of beta, and the second I use it for a censored regression on time data. The model was build gradually and works until this point. The model is long and complicated but well tested until the point of this email, so I will not post it as it is at the moment and go with pseudo code.

  1. First I estimate beta, a matrix with dimesions features x categories
// Deconvolution of a mixture with a system liner equations
data_mixture ~ negbinomial_2_log(beta * signatures_data, phi);
  1. Then I use betafor a censored regression (that’s why I cannot put alpha on the left side on the statement)
For each category

  if (is_censored == 0) {
    lp += normal_lpdf(time |  alpha_1 + alpha_2 * beta, sigma);
  } else if (is_censored == 1) {
    lp += normal_lccdf(time |  alpha_1 + alpha_2 * beta, sigma);

Now I imagine beta here is informed by statement (1), and weakly informated by statement (2) when the slope is != from 0. (correct?)

Shoudl I

a) Add a prior to beta, however this prior should also take into account about the association with time. Here we loop back, because time is censored.
b) put a non-informative prior
c) …

1 Like

I am obviously missing some context, but I think beta needs a prior. I am not sure what alpha_2 stands for - should it just be a scaling factor for beta? I can also imagine that it might be easier to put prior on beta for the deconvolution part and on alpha_2 * beta for the time part - you then should be able to turn the prior for alpha_2 * beta into an implied prior on alpha_2 with some linear algebra…

Does that make sense?

1 Like