Hi all,
I’ve recently experienced an issue with the way of expressing model parameters, maybe someone can shed some light.
Basically, I have data nested in groups and two instances of measuring data (T1, T2), so I have a 3-dimensional data structure: N rows (groups), M cols (measurements per group) and 2 shelves (time points). I want to fit a hierarchical exponential regression model y = a * e^{bx} , but include a change effect of time. No problem so far, the following model converged without any flaws:
model{
for (n in 1:N) { //groups
for (m in 1:M) { //measurements per group
for (t in 1:2) { //time points
target += normal_lpdf(y[n, m, t] | (a[n] + (delta_a[n] * (t-1))) * exp((b[n] + (delta_b[n] * (t-1))) * x[n, m, t]), sigma);
}
}
}
}
, whereas the “delta” effects are the time effects. Priors are pretty “standard” - Half-Cauchy for variances and Normal for the hypermeans. Group levels are sampled using a covariance matrix to account for correlation.
Now here’s the issue: If I reformulate the model a little, to have the time effects being expressed as factor changes, no convergence will be reached, regardless to whether I adapt the respective hyperpriors or not:
target += normal_lpdf(y[n, m, t] | (a[n] * (1 + delta_a[n] * (t-1))) * exp((b[n] * (1 + delta_b[n] * (t-1))) * x[n, m, t]), sigma);
Any idea what might cause this issue?