我已经使用rjags实现了LDA模型。我用以下命令成功地获得了最终样本:
jags <- jags.model('../lda_jags.bug',
data = data,
n.chains = 1,
n.adapt = 100)
update(jags, 2000)
samples <- jags.samples(jags,
c('theta', 'phi', 'z'),
1000)现在我可以使用samples$theta或samples$phi来获得theta和phi的结果。但是我怎么知道样品花了多长时间呢?谢谢!
发布于 2016-04-25 15:30:41
正如@eipi10所述,您可以在update()调用周围使用system.time()来对R中的过程计时。或者,您可以使用runjags包来打印更新模型所用的(总)时间,包括之前对extend.jags的所有调用:
library('runjags')
results <- run.jags('../lda_jags.bug', monitor = c('theta', 'phi', 'z'),
data = data, n.chains = 1, adapt = 100, burnin = 2000, sample = 1000)
results
# or:
jags <- jags.model('../lda_jags.bug',
data = data,
n.chains = 1,
n.adapt = 0)
runjags <- as.runjags(jags, monitor = c('theta', 'phi', 'z'))
results <- extend.jags(runjags, adapt = 100, burnin = 2000, sample = 1000)
results
results <- extend.jags(runjags, sample = 1000)
resultshttps://stackoverflow.com/questions/36831189
复制相似问题