Sharing a to-me-neat parameterization for Gaussian Processes

I think what you describe is a good reparametrization technique - I’ve used it in a similar case (but with a Kalman filter) where I’ve also had trouble that there are two sources of variance that are hard to distinguish. I’ve worked with a parametrization that seems very similar to yours, but I explicitly modelled both the total variance and the proportion as (code not tested):

parameters {
   real<lower=0> sd_total;
   real<lower=0, upper=1> prop_sd1;
}

transformed parameters {
   real<lower=0> sd1;
   real<lower=0> sd2;
   {
       real total_variance = square(sd_total);
       sd1 = sqrt(prop_sd1 * total_variance);
       sd2 = sqrt((1 - prop_sd1) * total_variance);
   }   
}

Which I think underlines how your parametrization is going to alter inference: you are making an additional assumption that sd_total (in my notation above) is always 1 (after your scaling to sd of the data). That does not sound as necessarily reasonable.

However, allowing sd_total to vary in your model leads to correlation between logit_pvn and sd_total and some divergences so I am actually not sure how to parametrize such a model well without making an assumption about the total variance.

Does that make sense?

3 Likes