根据泊松过程绘制的间隔创建向量

问题描述

我正在寻找有关如何在Python中实现某些统计模型的建议。我对构造z值(z_1,z_2,z_3,...,z_n)的序列感兴趣,其中间隔(z_1,z_2]中的跳跃数根据带参数lambda(z_2- z_1)

enter image description here

和不相交间隔上的随机跳跃数是独立的随机变量。我希望我的分段常数图看起来像下面的两个图像,其中y轴是Y(z),其中Y(z)由每个间隔内的N(0,1)个随机变量组成。

要构建z数据,什么是解决此问题的最佳方法?我尝试过通过np.random.poisson采样值,然后取一个累加的总和,但是对于较小的强度值,重复绘制的值。请任何帮助或想法将非常有帮助。谢谢。

enter image description here

解决方法

np.random.poisson用于对[z_i,z_j)中发生的事件计数进行采样。如果您想在事件发生时对其进行采样,则只需要指数分布。例如:

import numpy as np

n = 50
z = np.cumsum(np.random.exponential(1/n,size=n))
y = np.random.normal(size=n)

(使用step in matplotlib进行这些绘制会得到与您的情节相似的东西:

plotting z vs y

请注意,1/n设置了一个“λ”,因此平均而言,我们期望n内有[0,1]分。在这种情况下,我们得到的略少一些,因此它会超调。如果这对您很重要,请随时重新缩放