Hi all,
I am running a multinomial logit regression. Everything is running well, but when I am getting an error message when I try to obtain the replications for posterior predictive checking, as well as an error message when trying to get the LOOCV. Here is the code
data.list <- list(N=nrow(M),
K=length(unique(Canadareg2[,1])),
D=ncol(M),
x=M,
ASBR07A=as.numeric(Canadareg2[,1]))
modelString <- "
data {
int <lower=2> K;
int <lower=0> N;
int <lower=1> D;
int <lower=1, upper=K> ASBR07A[N];
matrix[N, D] x;
}
parameters {
matrix[D, K] beta;
}
transformed parameters {
matrix[N, K] x_beta= x * beta;
}
model {
to_vector(beta) ~ normal (0,2);
for (i in 1:N) {
ASBR07A[i] ~ categorical_logit(x_beta[i]');
}
}
generated quantities {
int <lower=1, upper=K> ASBR07A_rep[N];
vector[N] log_lik;
for (i in 1:N){
ASBR07A_rep[i] = categorical_logit_rng(x_beta[i]');
log_lik[i] = categorical_logit_lpmf(ASBR07A[i] |x_beta[i]');
}
}
"
Start estimation
nChains = 4
nIter= 5000
thinSteps = 10
burnInSteps = floor(nIter/2)
ASBR07A = data.list$ASBR07A
MultiNomRegFit = stan(data=data.list,model_code=modelString,
chains=nChains,control = list(adapt_delta = 0.99),
iter=nIter,warmup=burnInSteps,thin=thinSteps)
and here are the error messages
> ASBR07A_rep = extract(MultiNomRegFit,"ASBR07A_rep")$ASBR07A_rep
Error in extract(MultiNomRegFit, "ASBR07A_rep") :
object of type 'S4' is not subsettable
and
log_lik1 = extract_log_lik(MultiNomRegFit, parameter_name="log_lik", merge_chains = FALSE)
Error in extract_log_lik(MultiNomRegFit, parameter_name = "log_lik", merge_chains = FALSE) :
could not find function "extract_log_lik"
Thanks in advance,
David