原文链接:http://tecdat.cn/?p=26336
近似贝叶斯计算和近似技术基于随机模仿模型中的样本计算近似似然值,在过来几年中引起了很多关注,因为它们无望为任何随机过程提供通用统计技术。
一位共事向我询问咱们在咱们的文章中探讨过的近似贝叶斯计算 MCMC (ABC-MCMC) 算法的简略示例。上面,我提供了一个最小的示例,相似于 Metropolis-Hastings。
library(coda)
# 假如数据是正态分布的 10 个样本
# 平均值为 5.3,SD 为 2.7
data = rnorm
# 咱们想用 ABC 来推断出所应用的参数。# 咱们从同一个模型中取样,用平均值和方差作为汇总统计。当咱们承受 ABC 时,咱们返回真,因为与数据的差别小于某个阈值
ABC <- function(pr){
# 先验防止负的标准偏差
if (par <= 0) return(F)
# 随机模型为给定的参数生成一个样本。samples <- rnorm
# 与察看到的汇总统计数字的比拟
if((difmean < 0.1) & (difsd < 0.2)) return(T) else return(F)
}
# 咱们将其插入一个规范的 metropolis Hastings MCMC 中。#用 metropolis 的接受度来替换 ABC 的接受度
MCMCABC <- function(saue, itns){for (i in 1:ieraos){
# 提议函数
prp = rnorm(2,mean = chain\[i,\], sd= c(0.7,0.7))
if(A_ance(prl)){chn\[i+1,\] = prl
}else{chn\[i+1,\] = cain\[i,\]
}
}
return(mcmc(cin))
}
plot(psor)
后果应该是这样的:
_ 图 _:后验样本的轨迹图和边缘图。从左边的边缘图中,您能够看到咱们正在近似检索原始参数值,即 5.3 和 2.7。
最受欢迎的见解
1.matlab 应用贝叶斯优化的深度学习
2.matlab 贝叶斯隐马尔可夫 hmm 模型实现
3.R 语言 Gibbs 抽样的贝叶斯简略线性回归仿真
4.R 语言中的 block Gibbs 吉布斯采样贝叶斯多元线性回归
5.R 语言中的 Stan 概率编程 MCMC 采样的贝叶斯模型
6.Python 用 PyMC3 实现贝叶斯线性回归模型
7.R 语言应用贝叶斯 层次模型进行空间数据分析
8.R 语言随机搜寻变量抉择 SSVS 预计贝叶斯向量自回归(BVAR)模型
9.matlab 贝叶斯隐马尔可夫 hmm 模型实现