欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > poisson过程——随机模拟(Python和R实现)

poisson过程——随机模拟(Python和R实现)

2024/10/24 2:05:07 来源:https://blog.csdn.net/2301_76574743/article/details/142967282  浏览:    关键词:poisson过程——随机模拟(Python和R实现)

Python实现

exponential()使用,自动poisson过程实现。

import numpy as np
import matplotlib.pyplot as plt# Parameters
lambda_rate = 5  # rate parameter (events per time unit)
T = 10  # total time# Generate Poisson process
times = np.random.exponential(1/lambda_rate, int(lambda_rate * T * 1))
arrival_times = np.cumsum(times)
arrival_times = arrival_times[arrival_times < T]# Plot Poisson process
plt.step(np.concatenate([[0], arrival_times]), np.arange(len(arrival_times) + 1), where='post')
plt.xlabel('Time')
plt.xticks(np.arange(0, T + 1, 1))
plt.ylabel('Number of events')
plt.title('Poisson Process')
plt.show()

003adfdc1f254b80b0d4f88605082396.png

 def poisson函数使用。

#正常显示中文标签
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
#%%
import random
import numpy as np
import matplotlib.pyplot as pltdef poisson(T,lambdas):t = 0i = 0s = [t]while True:u = random.expovariate(lambdas)t = t + uif t <= T:i = i + 1#计数s.append(np.round(t,2))#记录发生事件的时间,保留两位小数else:breakprint(f'{T}时间内事件发生的次数:',i,'\n 各个事件发生的时刻:',s)#绘制样本轨迹n = i + 1x = np.arange(n)plt.step(s,x, where='post')#绘制阶梯图plt.xticks(s)#设置x轴刻度plt.xlabel('时间t')plt.ylabel('N(t)')plt.title('Poisson Process')plt.show()return s
#生成图像
poisson(4,1)#参数分别为T和lambda,T为时间长度,lambda为单位时间内事件发生的次数

 c9027888509e4b7bb435a4be3267976d.png

R语言实现

#R语言实现poisson过程
# Parameters
lambda_rate <- 5  # rate parameter (events per time unit)
T <- 10  # total time# Generate Poisson process
set.seed(123)  # for reproducibility
times <- rexp(n = ceiling(lambda_rate * T * 1.5), rate = lambda_rate)
arrival_times <- cumsum(times)
arrival_times <- arrival_times[arrival_times < T]# Plot Poisson process
plot(stepfun(arrival_times, 0:length(arrival_times)), do.points = FALSE, xlab = "Time", ylab = "Number of events", main = "Poisson Process")

 d9808e0fa5cf419faaa46cbea3a94abd.png

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com