Я просто изучаю стан и задаю несколько вопросов. Я пытаюсь сделать упорядоченную пробит-модель в stan. У меня есть несколько вопросов. Во-первых, приведенная ниже модель выдает сообщение об ошибке Stan model does not contain samples.
Что это значит и как мне его исправить?Упорядоченный пробит в stan
Во-вторых, как я могу указать, какие ограничения я хочу определить для модели? На данный момент это неопознанное местоположение. Я хотел бы сообщить stan, чтобы установить одно из tau
s как конкретное значение (например, 0), но я не знаю, как это сделать.
data{
int<lower=1> N; // number of obs
int<lower=3> J; // number of categories
int<lower=2> K; // num of predictors
int y[N]; // outcome var
matrix[N, K] x; // predictor vars
}
parameters{
ordered[J-1] tau; // thresholds
vector[K] beta; // beta coefficients
}
model{
vector[J] theta;
vector[N] xB;
beta ~ normal(0, 100);
xB <- x*beta;
for(n in 1:N){
theta[1] <- 1 - Phi(xB[n] - tau[1]);
for(j in 2:J-1)
theta[j] <- Phi(xB[n]-tau[j-1]) - Phi(xB[n]-tau[j]);
theta[J] <- Phi(xB[n] - tau[J-1]);
y[n] ~ categorical(theta);
}
}
EDIT
Вот R код, который я назвал:
stan_data <- list(N = dim(insurance)[1], # 1000
K = dim(insurance)[2], #5
J = length(table(insurance$spend)), #3
y = insurance$spend, # vector of length N where each element is 0, 1, or 2
x = my_xmatrix) # matrix of dim 1000, 5
mcmc_oprobit <- stan(file="stan/oprobit.stan",
data = stan_data)
Если вы не получили здесь ответа, вы можете попробовать [Stan Group Google] (https://groups.google.com/forum/#!forum/stan-users). Это метод, который разработчики предпочитают отвечать на вопросы. –
@RichardErickson - спасибо. Не похоже, что у меня есть привилегии публикации. – Alex
Вам нужно будет присоединиться к группе. https://support.google.com/groups/answer/1067205?hl=ru –