저는 JAGS에 익숙하지 않고 중단 된 데이터에 대해 dinterval()이 JAGS에서 작동하는 방식을 이해하려고합니다. 나는 각각의 데이터 포인트 (실제 값이 아님)에 대해서만 상한선과 하한선을 가진 거친 데이터를 모델링하고있다.간격 검열 데이터에 대한 dinterval()?
일부 상위 및 하위 경계를 각 지점에 대해 : 여기에 내가이 일을해야한다고 생각하는 방법의 간단한 예입니다
> head(lim)
L U
[1,] 14.98266 15.68029
[2,] 21.21827 21.91590
[3,] 18.34953 19.04716
[4,] 19.00186 19.69949
[5,] 15.39891 16.09654
[6,] 17.81705 18.51468
데이터가 공통으로 정상적인에서 오는 가정 모델을 (쓰기 함수) 평균과 분산 다음 들쭉날쭉 대한
playmodel <- function(){
for (i in 1:50){
is.censored[i] ~ dinterval(t[i], lim[i,])
t[i] ~ dnorm(mu,tau)
}
mu ~ dnorm(0,.001)
tau ~ dgamma(.01,.01)
}
filename <- "toymod.bug"
write.model(toymod,filename)
의 일부 기능과 할당 전화 :
data <- list("lim"=lim)
inits <- list(mu=rnorm(1),tau=rgamma(1,.01,.01),t=as.vector(apply(lim,1,mean)))
#last part is to ensure the starting value is between the upper and lower limit
#each chain will start at the same place for t but this is just for this case
params <- c("mu","tau")
그리고 모델을 실행하십시오 :
playmodel.jags <- jags(data,inits, params, model.file="toymod.bug", n.chains=3,
n.iter=50000,n.burnin=30000, n.thin=1, DIC=TRUE,
working.directory=NULL,refresh = 50000/50, progress.bar = "text")
실행하면 어떻게됩니까?
이1) 무, 내 예상은 그것이 실행되지 않습니다 15
2)해야 할 때를 잘 주위 0 놓을 경우 DIC = TRUE :
error: "Error in jags.samples(model, variable.names, n.iter, thin, type = "trace", : Failed to set trace monitor for node deviance
내가 어리석은 일을하고 있어요 확신하고 누군가가 나를 궤도에 올려 놓는 것을 도울 수 있다면 고맙겠습니다.
서면으로, 모델이 어떤 결과를 관찰하지 않습니다
또한 I 모델을 OpenBUGS에서 I (Lower, Upper) 함수를 사용하여 모델링하면 제대로 작동하는 것 같습니다. – scottyaz
우리 중 얼마나 많은 사람들이 통계 물리학을 사용하는지 잘 모르겠습니다. 이것은 stats.stackexchange.com의 교차 게시가 좋은 아이디어 일 수있는 몇 가지 상황 중 하나 일 수 있습니다. 또는 패키지 작성자에게 연락하거나 패키지 메일 링리스트가 있는지 확인할 수 있습니다. –