Hi,
I have a spatio-temporal binomial model and want to do k-fold crossvalidation.
Therefore I specify the sample und define Ntrials_late and for each k I run INLA.
But somehow it says:
Error in inla.core.safe(formula = formula, family = family, contrasts = contrasts, :
The inla result collection failed.
Do you have any clue what this means?
Any remark is highly appreciated.
Best, Corinna
Here is a snippet of the code:
set.seed(1)
spec=c(val1=.1, val2=.1, val3=.1, val4=.1, val5=.1, val6=.1, val7=.1, val8=.1, val9=.1, val10=.1)
g=sample(cut(seq(nrow(temp_late)), nrow(temp_late)*cumsum(c(0,spec)), labels=names(spec)))
Ntrials_late<-temp_late$Days_per_month
for(k in 1:10){
index_val=which(g==paste0("val",k))
index_train=which(g!=paste0("val",k))
A.train<-inla.spde.make.A(mesh=mesh, loc=as.matrix(temp_late[index_train,c('Longitude','Latitude')]), group=temp_late$Month[index_train])
A.val<-inla.spde.make.A(mesh=mesh, loc=as.matrix(temp_late[index_val,c('Longitude','Latitude')]), group=temp_late$Month[index_val])
stack.train<-inla.stack(data=obs.data_late[index_train,], A=list(A.train,1),
effects=list(c(index,index_mean, list(Intercept=1)),
list(covars.data_late[index_train,])),
tag="train")
stack.val<-inla.stack(data=obs.data_pred[index_val,], A=list(A.val,1),
effects=list(c(index,index_mean, list(Intercept=1)),
list(covars.data_late[index_val,])),
tag="val")
join.stack<-inla.stack(stack.train, stack.val)
Ntrials<-c(Ntrials_late[index_train], Ntrials_late[index_val])
min_result<-inla(formula4_min, family="binomial", Ntrials=Ntrials,
data=inla.stack.data(join.stack, spde=spde.nonstat),
control.family=list(link='logit'),
control.predictor = list(A=inla.stack.A(join.stack), compute=TRUE,link=1),
control.compute = list(dic=TRUE,cpo=TRUE, waic=TRUE, config=TRUE,
openmp.strategy="pardiso.parallel"),
verbose=TRUE)
}