Hi,
my rStan code is as follows:
data {
int<lower=1> N;
int<lower=1> T;
matrix[N,T] y;
matrix[N,T] a;
matrix[N,T] b;
matrix[N,T] c;
}
transformed data {
// Standardize the data:
matrix[N, T] z_y;
matrix[N, T] z_a;
matrix[N, T] z_b;
matrix[N, T] z_c;
real a_m[N];
real a_sd[N];
real b_m[N];
real b_sd[N];
real c_m[N];
real c_sd[N];
real y_m[N];
real y_sd[N];
for(i in 1:N) {
y_m[i] = mean(y[i,]);
y_sd[i] = sd(y[i,]);
z_y[i,] = (y[i,] - y_m[i]) / y_sd[i];
a_m[i] = mean(a[i,]);
a_sd[i] = sd(a[i,]);
z_a[i,] = (a[i,] - a_m[i]) / a_sd[i];
c_m[i] = mean(c[i,]);
c_sd[i] = sd(c[i,]);
z_c[i,] = (c[i,] - c_m[i]) / c_sd[i];
b_m[i] = mean(b[i,]);
b_sd[i] = sd(b[i,]);
z_b[i,] = (b[i,] - b_m[i]) / b_sd[i];
}
}
parameters {
real z_beta_0[N];
real z_beta_1[N];
real z_beta_2[N];
real z_beta_3[N];
real<lower=0> z_sigma;
real<lower=0> sigma_beta;
real<lower=0> nu;
}
model {
// Specify the model for the standardized data
for(i in 1:(N-1)) {
// for(j in 1:(T-1)) {
// z_y[i,j] ~ student_t(nu, z_beta_0[i] + z_c[i,j] * z_beta_1[i] + z_a[i,j] * z_beta_2[i] + z_b[i,j] * z_beta_3[i], z_sigma);
z_y[i,] ~ student_t(nu, z_beta_0[i] + z_c[i,] * z_beta_1[i] + z_a[i,] * z_beta_2[i] + z_b[i,] * z_beta_3[i], z_sigma);
// }
}
// Priors vague on standardized scale:
z_beta_0 ~ normal(0, 4);
z_beta_1 ~ student_t(1, 0, sigma_beta);
z_beta_2 ~ student_t(1, 0, sigma_beta);
z_beta_3 ~ student_t(1, 0, sigma_beta);
z_sigma ~ uniform(1.0E-5, 1.0E+1);
nu ~ exponential(1/30.0);
sigma_beta ~ gamma(2.618,1.618); // mode 1.0, sd 1.0
}
generated quantities {
real beta_0[N];
real beta_1[N];
real beta_2[N];
real beta_3[N];
real sigma[N];
// Transform to original scale:
for(i in 1:N) {
beta_1[i] = (z_beta_1[i] / c_sd[i]) * y_sd[i];
beta_2[i] = (z_beta_2[i] / a_sd[i]) * y_sd[i];
beta_3[i] = (z_beta_3[i] / b_sd[i]) * y_sd[i];
beta_0[i] = z_beta_0[i] * y_sd[i] + y_m[i] - ((z_beta_1[i] * c_m[i] / c_sd[i]) + (z_beta_2[i] * a_m[i] / a_sd[i]) + (z_beta_3[i] * b_m[i] / b_sd[i])) * y_sd[i];
sigma[i] = z_sigma * y_sd[i];
}
}
When I run this code, I get this error:
Rejecting initial value:
Error evaluating the log probability at the initial value.
Exception: student_t_lpdf: Location parameter[1] is nan, but must be finite! (in ‘model105c715d6449f_model2_2’ at line 60)
Initialization between (-2, 2) failed after 100 attempts.
Try specifying initial values, reducing ranges of constrained values, or reparameterizing the model.
[1] “Error in sampler$call_sampler(args_list[[i]]) : Initialization failed.”
My R Session Info is as follows:
> sessionInfo()
R version 3.5.0 (2018-04-23)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS High Sierra 10.13.5
Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] coda_0.19-1 rstan_2.17.3 StanHeaders_2.17.2 ggplot2_2.2.1
loaded via a namespace (and not attached):
[1] Rcpp_0.12.16 codetools_0.2-15 lattice_0.20-35 grid_3.5.0 plyr_1.8.4 gtable_0.2.0 stats4_3.5.0 scales_0.5.0
[9] pillar_1.2.2 rlang_0.2.0 lazyeval_0.2.1 tools_3.5.0 munsell_0.4.3 compiler_3.5.0 inline_0.3.14 colorspace_1.3-2
[17] gridExtra_2.3 tibble_1.4.2
Your help would be much appreciated.