问题描述
我正在寻找有关如何在Python中实现某些统计模型的建议。我对构造z值(z_1,z_2,z_3,...,z_n)的序列感兴趣,其中间隔(z_1,z_2]中的跳跃数根据带参数lambda(z_2- z_1)
和不相交间隔上的随机跳跃数是独立的随机变量。我希望我的分段常数图看起来像下面的两个图像,其中y轴是Y(z),其中Y(z)由每个间隔内的N(0,1)个随机变量组成。
要构建z数据,什么是解决此问题的最佳方法?我尝试过通过np.random.poisson
采样值,然后取一个累加的总和,但是对于较小的强度值,重复绘制的值。请任何帮助或想法将非常有帮助。谢谢。
解决方法
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进行这些绘制会得到与您的情节相似的东西:
请注意,1/n
设置了一个“λ”,因此平均而言,我们期望n
内有[0,1]
分。在这种情况下,我们得到的略少一些,因此它会超调。如果这对您很重要,请随时重新缩放