Int valued y not allowed in _lpdf?

stanc

#1

I am writing a _lpdf function, where the y is an int type (int array actually, but make no difference for this problem). Compilation error says only real variate allowed. Then how come the hospital tutorial uses an int type y?

data {
int N; // number of obs (pregnancies)
int T; // number of weeks in campaign
int K; // number of predictors

int y[N]; // outcome
row_vector[K] x[N]; // predictors
int g[N];    // map obs to groups (pregnancies to women)

}
model {
alpha ~ normal(0,100);
a ~ normal(0,sigma);
beta ~ normal(0,100);
for(n in 1:N) {
y[n] ~ bernoulli(inv_logit( alpha + x[n]*beta));
}
}

if you implement an _lpdf function for this requirement, how would you feed y into the function?


#2

In that case, you need to write a _lpmf function.


#3

heck, I should have thought of that. Thanks.