TreeBUGS:分层MPT简介建模

Daniel W.Heck、Nina R.Arnold和Denis阿诺德

2023-05-21

使用TreeBUGS的一般程序

在最简单的场景中,需要执行以下步骤:

  1. 以.eqn格式定义现有MPT模型文件的路径(参见multiTree;莫斯科,2010年)
  2. 使用单个频率定义数据集的路径(.csv文件:逗号分隔,行=人,列=标记的类别)
  3. 调用其中一个拟合函数βMPT牵引MPT(示例如下)
  4. 检查MCMC链的收敛性
  5. 总结并绘制结果

下面将更详细地解释这些步骤。请注意TreeBUGS需要JAGS软件的最新版本(https://mcmc-jags.sourceforge.io网站/).

1.步骤:EQN语法中的MPT模型文件

模型需要以标准.eqn文件格式传递(例如。,如multiTree;莫斯科,2010年)。例如,考虑简单的双高阈值模型(2HTM),每行定义一个包含树标签、类别标签和模型的处理路径方程:

#####标题:2HTM目标命中Do目标命中(1-Do)*g目标未命中(1-Do)*(1-g)诱饵FA(1-Dn)*g诱饵CR(1-Dn)*(1-g)勒尔CR Dn

请注意,类别标签(例如,命中、未命中…)必须以letter(不同于multiTree或HMMTree),并与的列名匹配.模型方程需要乘号*不应总结参数,例如a^2*(1-a).作为TreeBUGS的输入,模型文件(例如。,“2htm.txt”)需要保存在当前工作目录中。否则必须指定文件的相对或绝对路径(例如。,型号/2htm.txt). 检查TreeBUGS如何解释给定的.eqn文件,使用:

读取EQN(
  文件= “文件路径.eqn”,#相对路径或绝对路径
  限制= 列表(“Dn=完成”),#等式约束
  param顺序= 真的
)#显示参数顺序

MPT参数的相等限制可以在中提供列表:

限制<- 列表(“Dn=完成”,“g=0.5”)

或通过硬盘上文本文件的路径(例如。,限制=“pathToFile.txt”)包含等式的约束,每行一个:

Dn=执行克=0.5

2.步骤:具有单个频率的数据集

可以从中以逗号分隔的文本文件(.csv)加载数据以下格式:

Hit、Miss、FA、CR20,      10,      5,    2513,       7,      9,    21 15,       5,      6,    14.....

请注意,第一行包含类别标签,必须匹配.egn文件中的类别标签。其余行包含单个频率。与.eqn文件类似数据文件可以指定为数据输入.csv如果是的话在当前工作目录中,或作为相对或绝对路径(例如。,“C:/models/data_ind.csv”).

在R中使用TreeBUGS时,数据帧或矩阵可以提供与类别标签匹配的列名。

3.步骤:拟合层次MPT模型

等级制度Beta-MPT模型配有以下代码:

#加载程序包:
图书馆(树型无人值守地面传感器)

#拟合模型:
fit分级MPT<- βMPT(
  eqnfile文件= “2htm.txt”,#.egn文件
  数据= “data_ind.csv”,#个别数据
  限制= 列表(“Dn=完成”),#参数限制(或文件路径)

  ###可选MCMC输入:
  n.iter公司= 20000,#迭代次数
  n.燃烧= 5000,#移除的烧入样本数
  n.薄= 5,#去除样品的稀释率
  n.链条=  #MCMC链的数量(并联运行)
)

类似地,可以通过更换βMPT通过列车PT.

4.步骤:检查MCMC链的收敛性

功能βMPT牵引MPT返回a包含MCMC采样器原始样品的列表收敛检查。MCMC样品储存在装配模型$runjags$mcmc作为mcmc.列表对象(有关收敛诊断的概述,请参阅包)。TreeBUGS提供了一个方便的包装器来访问最重要的绘图功能:

#默认值:迹线图和密度
情节(fit分级MPT,#拟合模型
  参数= “意思是” #要绘制哪个参数
)
#将进一步的参数传递给?绘图.mcmc.list

#自相关图:
情节(fitHierarchicalMPT,参数= “意思是”,类型= “acf”)

#Gelman-Rubin图:
情节(fit分级MPT,参数= “意思是”,类型= “盖尔曼”)

有关进一步的收敛统计信息和图表,请参阅和。请注意如果Markov-Chain Monte-Carlo(MCMC)采样器未收敛!

5.步骤:汇总并绘制结果

TreeBUGS生成MPT定制的参数估计和收敛统计:

要在拟合模型后获得摘要,只需使用:

总结(fit分级MPT)

以下函数允许绘制参数估计值,分布、拟合优度和原始频率:

绘图参数(fit分级MPT,#估计参数
  包括个人= 真的 #是否绘制个人估计
)
plot分布(fit分级MPT)#估计的层次参数分布
绘图适配(fit分级MPT)#观测平均频率与预测平均频率
绘图适配(fit分级MPT,统计= “cov”)#观测与预测协方差
绘图频率(fit分级MPT)#每棵树的单个和平均原始频率
plotPriorPost(打印前立柱)(fit分级MPT)#前后对比(组级参数)

可以提取参数估计值(后验均值、中位数、SD)使用以下命令保存到文件:

#R中进一步使用的矩阵:
tt公司<- 获取参数(fit分级MPT,
  参数= “θ”,
  统计= “意思是”
)
tt公司

#将个人估算的完整摘要保存到文件中:
获取参数(fit分级MPT,
  参数= “θ”,
  统计= “摘要”,文件= “参数.csv”
)

工具书类