首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

R语言泊松过程及在随机模拟应用可视化

全文链接:https://tecdat.cn/?p=34697

相关视频

泊松过程是被研究得最早和最简单的一类点过程,它在点过程的理论和应用中占有重要的地位。泊松过程在现实生活的许多应用中是一个相当适合的模型,它在物理学、天文学、生物学、医学、通讯技术、交通运输和管理科学等领域都有成功运用的例子。

考虑一个具有非均匀强度的泊松过程。

假设顾客到达服务站的人数服从强度为4的泊松过程,到达的顾客很快就可以接受服务,并且假设服务时间是独立的并且服从一个普通的分布,记为G。

为了计算在时刻t已完成服务和正在接受服务的顾客的联合分布,把在时刻t

发生的事件的数量是随参数分布的泊松的随机变量。

lambda=function(x) 100*(sin(x*pi)+1)

这个想法是在有限的时间间隔上生成泊松过程

1.            开始

2.            生成

3.            设置

4.            设置属于

5.            更新t

6.            返回第 2步.

为了得到最小值,考虑代码

这里,生成泊松过程的代码是

X= 0

while(X[length(X)]

u=runif(1)

在这里,我们得到以下直方图,

hist(X,breaks=seq(0,max(X)+1,by=.1),col="yellow")

u=seq(0,max(X),by=.02)

左右滑动查看更多

01

02

03

04

现在考虑另一个策略。这个想法是在下一个事件之前使用条件分布,假设一个事件发生在时间t,

1.            开始

2.            生成

3.            设置

4.            更新t

5.            返回第 2步.

我们可以使用二分法算法,

for(j in 1:20){

if(Ft((a+b)/2)

if(Ft((a+b)/2)>=u){bsup=(a+b)/2;binf=a}

a=0

b=Tmax

for(j in 1:20){

if(Ft((a+b)/2)

   if(Ft((a+b)/2)>=u)

在这里,我们得到以下直方图,

lines(u,lambda(u)/10,lwd=2,col="red")

第三个代码是基于经典算法在有限间隔上生成均匀泊松过程:首先,我们生成事件数,然后,绘制均匀变量,然后对它们进行排序。

1.            生成时间间隔

2.        生成  其中

3.            设置  i.e.

4.            更新‘s

这个算法非常简单,而且速度也很快。这是一个反函数的函数,它不在循环中,

n=rpois(1,Lambda(Tmax))

Ft=function(x) Lambda(x)/Lambda(Tmax)

Ftinv=function(u){

a=0

b=Tmax

for(j in 1:20){

在这里,我们得到以下直方图

u=seq(0,max(X),by=.02)

一种替代方案基于拒绝技术 。这里,我们需要一个强度的上限,这样计算可能会快得多。

1.            开始

2.            生成

3.            设置

4.            生成

5.            如果  然后 更新

6.            返回第 2步.

这里,考虑一个恒定的上界,

t=0

X=  0

while(X[length(X)]

u=runif(1)

在这里,我们得到以下直方图

hist(X,breaks=seq(0,max(X)+1,by=.1),col="yellow")

u=seq(0,max(X),by=.02)

最后,一个也是基于拒绝技术,与第二个混合。也就是说 定义

这个函数可以很容易

1.            开始

2.            生成

3.            设置

4.            生成

5.            如果  然后 更新

6.            返回第二步.

Ftinvu=function(u) -log(1-x)/lambdau

x=Ftinvu(runif(1))

在这里,我们得到以下直方图

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OoyE7i8r3nFMsHhMScC16A0g0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券