【问题标题】:Creating vector with intervals drawn from Poisson process创建具有从泊松过程中绘制的间隔的向量
【发布时间】:2021-02-03 12:29:08
【问题描述】:

我正在寻找一些关于如何在 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 对值进行采样,然后取一个累积和,但是对于小强度值,重复绘制的值。请任何帮助或想法都会非常有帮助。谢谢。

【问题讨论】:

  • 你能告诉我们你的代码吗?你的 lambda 是什么?

标签: python random statistics poisson


【解决方案1】:

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 设置了一个“lambda”,所以平均而言我们期望n 点在[0,1] 之内。在这种情况下,我们得到的稍微少一点,所以它过冲了。如果这对您很重要,请随时重新调整

【讨论】:

  • 感谢您的帮助。那么 1/n 等于泊松过程中的强度 lambda 吗?我原以为 z 向量中元素之间的平均差异为 n,但实际上是 1/n...
  • 人/图书馆以不同的方式参数化事物; numpy 和 scipy 往往与 stats 约定令人讨厌地不同。这是一个“比例”因素,而不是“比率”,因此是倒数。我建议查找文档和/或进行模拟以确保事情是你所期望的
猜你喜欢
  • 1970-01-01
  • 2014-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-09
相关资源
最近更新 更多