原文链接:http://tecdat.cn/?p=26336
近似贝叶斯计算和近似技术基于随机模仿模型中的样本计算近似似然值,在过来几年中引起了很多关注,因为它们无望为任何随机过程提供通用统计技术。
一位共事向我询问咱们在咱们的文章中探讨过的近似贝叶斯计算 MCMC (ABC-MCMC) 算法的简略示例。上面,我提供了一个最小的示例,相似于Metropolis-Hastings 。
library(coda) # 假如数据是正态分布的10个样本# 平均值为5.3,SD为2.7data = 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模型实现