I’m trying to implement an ordered probit regression, but I frequently get an error that reads:
Chain 1: Rejecting initial value: Chain 1: Log probability evaluates to log(0), i.e. negative infinity. Chain 1: Stan can't start sampling from this initial value.
Sometimes it works, and sometimes not.
With the logistic version, however, I run into no such problems at all. I wonder if there’s a better way to implement the probit version so I don’t run into these problems. The probit and logistic implementations are below:
// Probit pi = Phi((kappa - y_star)/tau_j[j[m]]); for(c in 2:(n_categories - 1)) pi[c] = Phi((kappa[c] - y_star)/tau_j[j[m]]) - Phi((kappa[c - 1] - y_star)/tau_j[j[m]]); pi[n_categories] = 1 - sum(pi[1:(n_categories-1)]); y[m] ~ categorical(pi); // Logistic y[m] ~ ordered_logistic(y_star / tau_j[j[m]], kappa / tau_j[j[m]]);