I have this model, N is 36
functions{
vector Q_sum_to_zero_QR(int N) {
vector [2*N] Q_r;
for(i in 1:N) {
Q_r[i] = -sqrt((N-i)/(N-i+1.0));
Q_r[i+N] = inv_sqrt((N-i) * (N-i+1));
}
return Q_r;
}
vector sum_to_zero_QR(vector x_raw, vector Q_r) {
int N = num_elements(x_raw) + 1;
vector [N] x;
real x_aux = 0;
for(i in 1:N-1){
x[i] = x_aux + x_raw[i] * Q_r[i];
x_aux = x_aux + x_raw[i] * Q_r[i+N];
}
x[N] = x_aux;
return x;
}
}
data{
int N;
int M;
int y[N,M];
int X[N,2];
}
transformed data{
int C = 2;
vector[2*M] Q_r = Q_sum_to_zero_QR(M);
real x_raw_sigma = inv_sqrt(1 - inv(M));
}
parameters{
vector[M-1] beta_raw[C];
}
transformed parameters{
vector[M] beta[C];
for(c in 1:C) beta[c] = sum_to_zero_QR(beta_raw[c], Q_r);
}
model{
for(n in 1:N) y[n] ~ categorical_logit( beta[1] + X[n,2] * beta[2] );
for(i in 1:C) beta_raw[i] ~ normal(0, x_raw_sigma);
}
I get the error
Chain 1: Error evaluating the log probability at the initial value.
Chain 1: Exception: categorical_logit_lpmf: categorical outcome out of support is 42, but must be in the interval [1, 36] (in 'model9ccd700459b8_glm_multinomial' at line 67)