HI, @junpenglao, I wonder if you can help us. We’re trying to compute the logp for a distribution and, as reported, get very high negative values.
As we look at the logp values from our model on a per-variable basis, we see that, as we reported earlier, there are some very large terms.
Looking at an example, we see this, which does seem to suggest a low probability sample:
Sampled hyper-parameters:
gamma_mu = 0.02099537805606402
gamma_sigma = 1.179636714844027e-06
which suggests that any sample from the gamma variable should be very close to 0.02. When we look at the sampled value, though, it’s pretty far:
gamma = 0.12212544319233962
Which is 847457.627118644 standard deviations from the mean!!!
So it’s clear why this logp value is so high.
But I’m boggled by this sample, which was generated by sample_prior_predictive. It’s wildly unlikely. For that matter the gamma_sigma value is quite unlikely also, I think. The mean of the gamma_sigma is 0.15 and the standard deviation is 0.05.
So I guess I’m wondering what is going on inside sample_prior_predictive and if it could possibly have an issue with our distribution.
When I use the conventional sample function on our model, it gives what looks like a reasonable sample. But… when I do a short chain of 5 samples, I get back 5 identical samples, which also seems buggy – we have no evidence, and we have an enormous probability space (three layers of parameters: hyper-hyper parameters, hyper-parameters, and parameters). So shouldn’t the sampler be hopping around?