5

Pythonライブラリ関数random.expovariateが、ポアソン過程イベントと同等の間隔を生成することをどこかで読みました。
それは本当にそうですか、それとも結果に他の関数を課す必要がありますか?

4

2 に答える 2

8

あなたの質問を厳密に読むと、そうです、それがrandom.expovariateが行うことです。

expovariateは、指数分布のランダムな浮動小数点数を提供します。ポアソン過程では、連続するイベント間の間隔のサイズは指数関数的です。

ただし、ポアソン過程のモデリングを想像できる方法は他に2つあります。

  1. 乱数を生成し、均一に分散して並べ替えるだけです。
  2. ポアソン分布を持つ整数を生成します(つまり、ポアソンプロセスの固定間隔内のイベント数のように分布します)。これを行うには、numpy.random.poissonを使用します。

もちろん、3つすべてがまったく異なります。正しい選択は、アプリケーションによって異なります。

于 2011-12-21T15:33:55.437 に答える
3

https://stackoverflow.com/a/10250877/1587329は、これが機能する理由(Pythonだけでなく)といくつかのコードについての優れた説明を提供します。要するに

次のように、毎秒15回の到着の平均レートでポアソンプロセスの最初の10個のイベントをシミュレートします。

import random
for i in range(1,10):
   print random.expovariate(15)
于 2015-12-20T18:59:03.120 に答える