R语言贝叶斯METROPOLIS-HASTINGS GIBBS 吉布斯采样器估计变点指数分布分析泊松过程车站等待时间...

原文链接:http://tecdat.cn/?p=26578

指数分布是泊松过程中事件之间时间的概率分布,因此它用于预测到下一个事件的等待时间,例如,您需要在公共汽车站等待的时间,直到下一班车到了点击文末“阅读原文”获取完整代码数据)。

相关视频

在本文中,我们将使用指数分布,假设它的参数 λ ,即事件之间的平均时间,在某个时间点 k 发生了变化,即:

outside_default.png

我们的主要目标是使用 Gibbs 采样器在给定来自该分布的 n 个观测样本的情况下估计参数 λ、α 和 k。

吉布斯Gibbs 采样器

Gibbs 采样器是 Metropolis-Hastings 采样器的一个特例,通常在目标是多元分布时使用。使用这种方法,链是通过从目标分布的边缘分布中采样生成的,因此每个候选点都被接受。

Gibbs 采样器生成马尔可夫链如下:

  • 让 outside_default.png 是 Rd 中的随机向量,在时间 t=0 初始化 X(0)。

  • 对于每次迭代 t=1,2,3,...重复:

  • 设置 x1=X1(t-1)。

  • 对于每个 j=1,...,d:

  • 生成 X∗j(t) 从 outside_default.png, 其中 outside_default.png 是给定 X(-j) 的 Xj的单变量条件密度。

  • 更新 outside_default.png.

  • 当每个候选点都被接受时,设置 outside_default.png.

  • 增加 t。

贝叶斯公式

变点问题的一个简单公式假设 f和 g 已知密度:

outside_default.png

其中 k 未知且 k=1,2,...,n。让 Yi为公交车到达公交车站之间经过的时间(以分钟为单位)。假设变化点发生在第 k分钟,即:

outside_default.png

当 Y=(Y1,Y2,...,Yn) 时,似然 L(Y|k)由下式给出:

outside_default.png

假设具有独立先验的贝叶斯模型由下式给出:

outside_default.png

数据和参数的联合分布为:

outside_default.png

其中,

outside_default.png

正如我之前提到的,Gibbs 采样器的实现需要从目标分布的边缘分布中采样,因此我们需要找到 λ、α 和 k 的完整条件分布。你怎么能这样做?简单来说,您必须从上面介绍的连接分布中选择仅依赖于感兴趣参数的项并忽略其余项。

相关视频

λ 的完整条件分布由下式给出:

outside_default.png

α 的完整条件分布由下式给出:

outside_default.png

k 的完整条件分布由下式给出:

outside_default.png

计算方法

在这里,您将学习如何使用使用 R 的 Gibbs 采样器来估计参数 λ、α 和 k。

数据

首先,我们从具有变化点的下一个指数分布生成数据:

outside_default.png

set.seed(98712)
y <- c(rexp(25, rate = 2), rexp(35, rate = 10))

考虑到公交车站的情况,一开始公交车平均每2分钟一班,但从时间i=26开始,公交车开始平均每10分钟一班到公交车站。


点击标题查阅往期内容

outside_default.png

R语言Gibbs抽样的贝叶斯简单线性回归仿真分析

outside_default.png

左右滑动查看更多

outside_default.png

01

outside_default.png

02

outside_default.png

03

outside_default.png

04

outside_default.png

Gibbs采样器的实现

首先,我们需要初始化 k、λ 和 α。

n <- length(y) # 样本的观察值的数量
lci <- 10000 # 链的大小
aba <- alpha <- k <- numeric(lcan)
k\[1\] <- sample(1:n,

现在,对于算法的每次迭代,我们需要生成 λ(t)、α(t) 和 k(t),如下所示(记住如果 k+1>n 没有变化点):

outside_default.png

for (i in 2:lcan){kt <- k\[i-1\]# 生成lambdalambda\[i\] <- rgamma# 生成α# 产生k   for (j in 1:n) {L\[j\] <- ((lambda\[i\] / alpha\[i# 删除链条上的前9000个值
bunIn <- 9000

结果

在本节中,我们将介绍 Gibbs 采样器生成的链及其参数 λ、α 和 k 的分布。参数的真实值用红线表示。

outside_default.png

outside_default.png

outside_default.png

下表显示了参数的实际值和使用 Gibbs 采样器获得的估计值的平均值:

res <- c(mean(k\[-(1:bun)\]), mean(lmba\[-(1:burn)\]), mean(apa\[-(1:buI)\]))
resfil

outside_default.png

结论

从结果中,我们可以得出结论,使用 R 中的 Gibbs 采样器获得的具有变点的指数分布对参数 k、λ 和 α 的估计值的平均值接近于参数的实际值,但是我们期望更好估计。这可能是由于选择了链的初始值或选择了 λ 和 α的先验分布。


outside_default.png

点击文末“阅读原文”

获取全文完整资料。

本文选自《R语言贝叶斯METROPOLIS-HASTINGS GIBBS 吉布斯采样器估计变点指数分布分析泊松过程车站等待时间》。

outside_default.png

outside_default.png

点击标题查阅往期内容

R语言马尔可夫MCMC中的METROPOLIS HASTINGS,MH算法抽样(采样)法可视化实例

python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化

Python贝叶斯推断Metropolis-Hastings(M-H)MCMC采样算法的实现

Metropolis Hastings采样和贝叶斯泊松回归Poisson模型

Matlab用BUGS马尔可夫区制转换Markov switching随机波动率模型、序列蒙特卡罗SMC、M H采样分析时间序列

R语言RSTAN MCMC:NUTS采样算法用LASSO 构建贝叶斯线性回归模型分析职业声望数据

R语言BUGS序列蒙特卡罗SMC、马尔可夫转换随机波动率SV模型、粒子滤波、Metropolis Hasting采样时间序列分析

R语言Metropolis Hastings采样和贝叶斯泊松回归Poisson模型

R语言贝叶斯MCMC:用rstan建立线性回归模型分析汽车数据和可视化诊断

R语言贝叶斯MCMC:GLM逻辑回归、Rstan线性回归、Metropolis Hastings与Gibbs采样算法实例

R语言贝叶斯Poisson泊松-正态分布模型分析职业足球比赛进球数

R语言用Rcpp加速Metropolis-Hastings抽样估计贝叶斯逻辑回归模型的参数

R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病

R语言中贝叶斯网络(BN)、动态贝叶斯网络、线性模型分析错颌畸形数据

R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归

Python贝叶斯回归分析住房负担能力数据集

R语言实现贝叶斯分位数回归、lasso和自适应lasso贝叶斯分位数回归分析

Python用PyMC3实现贝叶斯线性回归模型

R语言用WinBUGS 软件对学术能力测验建立层次(分层)贝叶斯模型

R语言Gibbs抽样的贝叶斯简单线性回归仿真分析

R语言和STAN,JAGS:用RSTAN,RJAG建立贝叶斯多元线性回归预测选举数据

R语言基于copula的贝叶斯分层混合模型的诊断准确性研究

R语言贝叶斯线性回归和多元线性回归构建工资预测模型

R语言贝叶斯推断与MCMC:实现Metropolis-Hastings 采样算法示例

R语言stan进行基于贝叶斯推断的回归模型

R语言中RStan贝叶斯层次模型分析示例

R语言使用Metropolis-Hastings采样算法自适应贝叶斯估计与可视化

R语言随机搜索变量选择SSVS估计贝叶斯向量自回归(BVAR)模型

WinBUGS对多元随机波动率模型:贝叶斯估计与模型比较

R语言实现MCMC中的Metropolis–Hastings算法与吉布斯采样

R语言贝叶斯推断与MCMC:实现Metropolis-Hastings 采样算法示例

R语言使用Metropolis-Hastings采样算法自适应贝叶斯估计与可视化

视频:R语言中的Stan概率编程MCMC采样的贝叶斯模型

R语言MCMC:Metropolis-Hastings采样用于回归的贝叶斯估计

outside_default.png

outside_default.png

outside_default.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/6289.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CPU,GPU,MCU,SOC,NPU,DPU,内核,架构简略区分

1.架构 架构由不同的指令集构成&#xff0c;不同的侧重方向的指令集构成不同的软件架构&#xff0c;如ARM架构和X86架构等。 2.内核 内核可以看做是不同的软件架构&#xff0c;铺设上一些外设之后构成&#xff0c;相当于软件架构的载体实现&#xff0c;架构是一堆软件代码&a…

ext4 - delay allocation数据结构

概述 延迟分配delay allocation是ext4非常重要的特性&#xff0c;启用该特性write系统将用户空间buffer写入内存page cache中即返回&#xff0c;此时也不会真正进行磁盘block分配&#xff0c;而是延迟到磁盘回写时&#xff08;比如dirty ratio达到一定值&#xff0c;定时刷新&…

LeetCode笔记:Biweekly Contest 109

LeetCode笔记&#xff1a;Biweekly Contest 109 1. 题目一 1. 解题思路2. 代码实现 2. 题目二 1. 解题思路2. 代码实现 3. 题目三 1. 解题思路2. 代码实现 4. 题目四 1. 解题思路2. 代码实现 比赛链接&#xff1a;https://leetcode.com/contest/biweekly-contest-109/ 1. 题…

【华为c# OD机考参考答案】01---IPv4地址转换成整数

题目 1、题目 01---IPv4地址转换成整数2、解图思路 1、IP地址转为二进制 2、二进制转十进制 3、注意事项 1、IP地址的范围判断 2、空字符串判断 3、非法字符判断 4、考点 1、string的split 、convert等相关用法 2、正则表达式 3、进制转换 4、理解32位整数的意思 5、代码 判…

【NOSQL】MongoDB

MongoDB MongoDB简介体系结构Linux系统中的安装启动和连接&#xff08;1&#xff09;先到官网下载压缩包——>解压——>重命名新建几个目录&#xff0c;分别用来存储数据和日志&#xff1a;新建并修改配置文件官网下载MongoDB Compass MongoDB简介 MongoDB是一个开源、高…

MySQL 权限问题:当 USAGE 碰到 GRANT OPTION

本文分享的是 MySQL 中权限搭配使用不当时可能引发的问题。 作者&#xff1a;佟宇航 爱可生南区交付服务部 DBA 团队成员&#xff0c;主要负责 MySQL 故障处理以及平台技术支持。 本文来源&#xff1a;原创投稿 爱可生开源社区出品&#xff0c;原创内容未经授权不得随意使用&am…

【八股】【计算机网络】

这里写目录标题 OSI 的七层模型TCP/IP模型HTTP 是什么&#xff1f;HTTP状态码HTTP 常见字段GET 和 POST 有什么区别&#xff1f;GET 和 POST 方法都是安全和幂等的吗&#xff1f;HTTP 缓存HTTP 优缺点HTTP 性能HTTP 与 HTTPSHTTPSHTTPS连接过程与一定可靠吗HTTP演进版本HTTP/1.…

湖大CG满分教程:作业训练三编程题15. 公交系统

【问题描述】 城市公交系统有一个记录仪&#xff0c;用于记录每个站点的乘客人数的变化情况&#xff0c;例如&#xff1a;x表示到站前公交车上的乘客人数&#xff0c;y表示离站时公交车上的乘客人数&#xff0c;则该记录仪记录的该站的数字为y-x。 对于一辆公交车和n个车站&…

解决R语言读取数据自动置换符号问题,例如把TCGA样本中的-读取为·

解决方案 在使用R语言read.csv()函数读取csv文件时&#xff0c;会自动把TCGA样本中的-替换为.&#xff0c;为后续数据处理带来不便。 解决方法&#xff1a;在函数中添加check.namesFALSE data <- read.csv("file.csv",check.namesFALSE)具体解释 check.names是…

C# List 详解二

目录 5.Clear() 6.Contains(T) 7.ConvertAll(Converter) ,toutput> 8.CopyTo(Int32, T[], Int32, Int32) 9.CopyTo(T[]) 10.CopyTo(T[], Int32) C# List 详解一 1.Add(T)&#xff0c;2.AddRange(IEnumerable)&#xff0c;3.AsReadOnly()&…

pytorch创建和操作tensor

import torch import numpy as np### 1. 由函数创建 x torch.zeros(5, 3, dtypetorch.int64) # 指定数据类型 print(x.dtype) x torch.zeros(5, 3) # 默认数据类型为torch.float32 print(x.dtype)x torch.rand(5, 3)x torch.torch.ones(10,2,3) x torch.empty(5, 3)# Re…

Matlab的GUI设计

文章目录 AppDesigner各个版本的特点mlapp文件基本格式AppDesigner的回调函数常见控件的属性MVC模式MVC模式设计GUIMVC简单使用 其他让app designer置顶将Guide的GUI导出为m文件将app编译为exe将app中的多个控件组合在一起 AppDesigner 20200328 各个版本的特点 在2017b版本中…

【JavaEE】Spring中注解的方式去获取Bean对象

【JavaEE】Spring的开发要点总结&#xff08;3&#xff09; 文章目录 【JavaEE】Spring的开发要点总结&#xff08;3&#xff09;1. 属性注入1.1 Autowired注解1.2 依赖查找 VS 依赖注入1.3 配合Qualifier 筛选Bean对象1.4 属性注入的优缺点 2. Setter注入2.1 Autowired注解2.2…

21matlab数据分析牛顿插值(matlab程序)

1.简述 一、牛顿插值法原理 1.牛顿插值多项式   定义牛顿插值多项式为&#xff1a; N n ( x ) a 0 a 1 ( x − x 0 ) a 2 ( x − x 0 ) ( x − x 1 ) ⋯ a n ( x − x 0 ) ( x − x 1 ) ⋯ ( x − x n − 1 ) N_n\left(x\right)a_0a_1\left(x-x_0\right)a_2\left(x-x_0\…

NLP masked_tokens[]、token_masks[]是什么?

1、masked_tokens[]、token_masks[]介绍 masked_tokens和token_masks两个列表用于存储mask处理后的token&#xff08;分词&#xff09;结果和对应的mask标志。 masked_tokens列表存储经过mask处理后的分词结果。 token_masks列表存储与每个分词结果对应的mask标志。 2、示例…

Electron运行时报错:浏览器报错Uncaught ReferenceError: require is not defined

这个错误通常发生在浏览器环境中使用了Node.js的模块化语法。由于浏览器不支持直接使用require关键字&#xff0c;所以会报错。 解决这个问题的一种方法是使用Webpack等工具将你的代码打包成浏览器可执行的文件。这样可以将require语法转换为浏览器可识别的语法。 另外&#…

SpringBoot 如何使用 EmbeddedDatabaseBuilder 进行数据库集成测试

SpringBoot 如何使用 EmbeddedDatabaseBuilder 进行数据库集成测试 在开发 SpringBoot 应用程序时&#xff0c;我们通常需要与数据库进行交互。为了确保我们的应用程序在生产环境中可以正常工作&#xff0c;我们需要进行数据库集成测试&#xff0c;以测试我们的应用程序是否能…

剑指offer61.扑克牌中的顺子

我的想法非常简单&#xff0c;就是先给数组排序&#xff0c;然后统计里面有几个0&#xff0c;然后遍历数组&#xff0c;如果是0或者比后面一个数小1就直接进入下一次循环&#xff0c;如果比后面一个数小2&#xff0c;就用掉一个0&#xff0c;0的数量减1&#xff0c;如果比后面的…

Pycharm----导入库文件夹不在py文件的目录下

问题描述&#xff1a; 想在不同目录下导入根目录的包&#xff0c;直接写会报错。如下边object_detect.py在function文件夹下&#xff0c;导入包默认在这个文件下&#xff0c;但我想导入根目录models和utils下的包 解决方法&#xff1a; 将根目录设置为源代码根目录&#xff0…

【OC总结 面向对象 + 内存管理 + runtime】

文章目录 前言面向对象1.1 一个NSObject对象占用多少内存&#xff1f;1.2 iOS的继承链 & 对象的指针指向了哪里&#xff1f;1.3 OC的类的信息存放在哪里&#xff1f;-isa指针1.4 isMemberOfClass & isKindOfClass Runtime1.4 讲一下OC的消息机制1.5 消息转发机制流程1.…