如何生成泊松过程? [英] How do I generate a Poisson Process?

查看:174
本文介绍了如何生成泊松过程?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

原始问题:

我想生成一个泊松过程.如果按时间 t 到达的次数是 N(t),并且我具有参数为λ的泊松分布,如何生成 N(t)?我将如何在C ++中做到这一点?

说明:

我本来想使用泊松分布来生成过程.但是,我对于需要从流程中获取什么参数感到困惑;我以为我可以使用 N(t),但这告诉我在间隔(0,t] 上有多少次到达,这不是我想要的.那么我以为我可以使用 N(t2)-N(t1)来获取间隔 [t1,t2] 上的到达次数. t)〜Poisson(txλ)我可以使用 Poisson(t2 xλ)-Poisson(t1 xλ),但我不希望间隔内到达的数量./p>

相反,我想生成到达发生的明确时间.

我可以通过使间隔 [t2,t1] 足够小,以使每个间隔只有一个到达(发生为 | t2-t1 |-> 0 ).

解决方案

此处是使用 解决方案

Here's sample code for generating Poisson samples using C++ TR1.

If you want a Poisson process, times between arrivals are exponentially distributed, and exponential values can be generated trivially with the inverse CDF method: -k*log(u) where u is a uniform random variable and k is the mean of the exponential.

这篇关于如何生成泊松过程?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆