Hi everyone,
I’m having troubles estimating the degrees of freedom when I use a student-t distribution for my prior. I can estimate the model without any problems if I set the degrees of freedom to 4, but if I try to estimate them my effective sample side end up being extremely small (n_eff=2 if iter = 1000).
Is there something like the matt trick that could help me estimate this parameter. Or is there something else that I’m missing that could make this parameter impossible to estimate with my data?
This is my stan code:
data {
int<lower=0> J; //
real y[J]; // estimated effect
int<lower=0> n[J]; //
}
parameters {
real mu; //
real<lower=0> nu; //
real<lower=0> tau; //
vector[J] eta;
real<lower=0> gamma; // degrees of freedom
}
transformed parameters {
vector[J] theta;
vector<lower = 0>[J] sigma;
theta = mu + tau * eta;
for (j in 1:J) sigma[j] = nu/sqrt(n[j]);
}
model {
eta ~ student_t(gamma, 0, 1);
y ~ normal(theta, sigma);
}
Thanks for the help!