首页 > 解决方案 > R ggmcmc 格式化跟踪图

问题描述

我正在使用 ggmcmc 为 MCMC 创建诊断图。

这需要以下步骤:

library(ggmcmc)
plotobj<-ggs(as.mcmc(model.out))

ggmcmc(plotobj, file="myfile.pdf")

此图的问题在于格式:我的 MCMC 来自模型建模概率,因此我希望图 ylim 介于 0 和 1 之间,而不是专注于值。这使视觉检查变得复杂,因为“模糊毛毛虫”看起来都具有相同的宽度,即使有些更窄(即收敛到更小的参数空间)。

我努力了:

str(ggs(as.mcmc(model.out)))
ggmcmc(plotobj, file="myfile.pdf") + ylim(0,1)
ggmcmc(plotobj, file="myfile.pdf") + scale_y_continuous(limits=c(0,1))

这显然不起作用,因为 ggmc 是来自同一对象的几种不同类型图的包装器(用于评估几个不同的模型参数)。

抱歉无法复制示例,这些对象非常复杂,而且我很不擅长编造东西;-)

tibble [110,000 x 4] (S3: tbl_df/tbl/data.frame)
$ Iteration: int [1:110000] 1 2 3 4 5 6 7 8 9 10 ...
$ Chain    : int [1:110000] 1 1 1 1 1 1 1 1 1 1 ...
$ Parameter: Factor w/ 11 levels "psi.fs[1]","psi.fs[2]",..: 1 1 1 1 1 1 1 1 1 1 ...
$ value    : num [1:110000] 0.413 0.639 0.719 0.729 0.737 ...
- attr(*, "nChains")= int 2
- attr(*, "nParameters")= int 11
- attr(*, "nIterations")= int 5000
- attr(*, "nBurnin")= num 5000
- attr(*, "nThin")= num 1
- attr(*, "description")= chr "as.mcmc(test_Stel.med)"

此外,我尝试使用 ggmcmc 包中的各个绘图函数:

ggs_traceplot(plotobj) + ylim(0,1)

这实际上可行,但是将所有图合并为一个,这对于 11 个参数是有问题的,并且目视检查由于不同的原因再次失败。

标签: rggplot2mcmc

解决方案


推荐阅读