Python模拟泊松过程

一、实验内容

模拟产生齐次泊松过程和非齐次泊松过程的样本轨道,并通过图像进行展示。说明模拟数据的实现过程和结果展示。
实现软件:python3.12

二、源代码

import numpy as np  
import matplotlib.pyplot as plt  
from scipy.stats import poisson  
  
# 齐次泊松过程模拟  
def homogeneous_poisson_process(T, lambda_):  
    """  
    模拟齐次泊松过程  
    :param T: 模拟的总时间  
    :param lambda_: 事件发生的平均速率  
    :return: 事件发生的时间点列表  
    """  
    n_events = poisson.rvs(lambda_ * T)  # 根据泊松分布计算事件数量  
    event_times = np.sort(np.random.uniform(0, T, n_events))  # 在[0, T]内随机生成事件时间点并排序  
    return event_times  
  
# 非齐次泊松过程模拟(以简单的正弦变化速率为例)  
def inhomogeneous_poisson_process(T, base_lambda, freq):  
    """  
    模拟非齐次泊松过程(正弦变化速率)  
    :param T: 模拟的总时间  
    :param base_lambda: 基础事件发生率  
    :param freq: 正弦波的频率,用于调节事件发生率的变化  
    :return: 事件发生的时间点列表  
    """  
    time_steps = np.linspace(0, T, 1000)  # 创建一个时间轴,用于计算瞬时速率  
    lambda_t = base_lambda * (1 + 0.5 * np.sin(2 * np.pi * freq * time_steps))  # 正弦变化的事件发生率  
  
    events = []  
    t = 0  
    while t < T: # 根据当前的瞬时速率计算下一个事件的发生时间 dt = np.random.exponential(1 / lambda_t[int(t * 1000 / T)]) if t + dt > T:  
            break  
        events.append(t + dt)  
        t += dt  
    return np.array(events)  
  
# 参数设置  
T = 10  # 模拟的总时间长度为10  
homogeneous_lambda = 2  # 齐次泊松过程的事件发生率  
inhomogeneous_base_lambda = 1  # 非齐次泊松过程的基础事件发生率  
freq = 1  # 正弦波的频率  
  
# 模拟齐次泊松过程和非齐次泊松过程  
homogeneous_events = homogeneous_poisson_process(T, homogeneous_lambda)  
inhomogeneous_events = inhomogeneous_poisson_process(T, inhomogeneous_base_lambda, freq)  
  
# 绘制图像  
plt.figure(figsize=(14, 7))  
  
# 绘制齐次泊松过程的事件时间点  
plt.subplot(1, 2, 1)  
plt.scatter(homogeneous_events, [0] * len(homogeneous_events), color='blue')  
plt.title('Homogeneous Poisson Process')  
plt.xlabel('Time')  
plt.ylabel('Event')  
plt.yticks([])  
plt.grid(True)  
plt.xlim(0, T)  
  
# 绘制非齐次泊松过程的事件时间点  
plt.subplot(1, 2, 2)  
plt.scatter(inhomogeneous_events, [0] * len(inhomogeneous_events), color='red')  
time_steps = np.linspace(0, T, 1000)  
plt.plot(time_steps, inhomogeneous_base_lambda * (1 + 0.5 * np.sin(2 * np.pi * freq * time_steps)), color='green', label='λ(t)')  
plt.title('Inhomogeneous Poisson Process')  
plt.xlabel('Time')  
plt.legend()  
plt.ylabel('Event')  
plt.yticks([])  
plt.grid(True)  
plt.xlim(0, T)  
  
plt.tight_layout()  
plt.show()

三、实验结果

模拟泊松过程样本轨道

结合图片理解信息,我们可以对两种随机过程(齐次泊松过程和非齐次泊松过程)在形态和特征上的差异进行描述。

1.齐次泊松过程

形态:图中齐次泊松过程以蓝色虚线表示,展示了一个相对稳定的点发生模式。各个时间间隔内的点发生数量大致相等,没有明显的疏密变化。

特征:均匀性是该过程的主要特征,即事件(点)在给定时间间隔内发生的概率是恒定的,不受时间或其他因素的影响。

2.非齐次泊松过程

形态:非齐次泊松过程以绿色实线表示,其点发生模式呈现出明显的波动。某些时间间隔内点发生密集,而其他时间间隔内则相对稀疏。

特征:非均匀性是该过程的显著特点,事件发生的概率会随着时间或其他因素的变化而变化。

作者:星尘旅人
1.本网站部分素材来源于网络,仅供大家参考学习,如有侵权,请联系博主删除处理。
2.本网站一切内容不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
3.版权&许可请详阅版权声明
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇
//音乐播放