在R中使用MCMCpack的riwish函数采样逆威沙特分布的参数疑问
关于MCMCpack中
riwish函数的参数选择问题 结论
你需要传入**solve(S)**(即书中矩阵S的逆矩阵)才能得到符合《Bayesian Data Analysis》中定义的条件分布$\Sigma|y$的采样结果。
原因解析
在《Bayesian Data Analysis》的参数化定义里,逆威沙特分布$Inv-Wishart(\nu, S)$表示$\Sigma$的分布满足$\Sigma^{-1} \sim Wishart(\nu, S^{-1})$。而MCMCpack包的riwish函数采用的参数规则是:第二个参数对应的是逆威沙特分布中精度矩阵的尺度参数,也就是书中定义的S的逆矩阵。如果直接传入S,采样结果的参数会和书中的条件分布不匹配。
正确代码示例
library(MCMCpack) # 书中定义的矩阵S S <- matrix(c(1,.3,.3,1),2,2) # 正确调用方式:传入S的逆矩阵 riwish(4, solve(S))
内容的提问来源于stack exchange,提问作者John Smith
相关产品推荐
相关产品推荐

