1

シミュレートされた動作を作成するためのコードを書いています。その一環として、1分あたりのXイベントをシミュレートしたいと思っています。1秒あたりx/60イベントだけを実行したくありません。代わりに、これらのイベントを平均x/60になる二項分布全体に分散させたいと思います。

これらはイベントであるため、整数のみを扱います。もちろん、配布は完璧である必要はありません。一貫したN-per-second-every-second-all-dayよりも現実的なものです。

2つの質問:

1)自分でExcelを調整するよりも、これらのデータセットをより適切に計算するのに役立つ擬似コードや数式はありますか?

2)私が誤用している用語(おそらくそれらすべて)は、答えをよりよく見つけるのに役立つ可能性がありますか?

ありがとう!

4

1 に答える 1

0

あなたは(おそらく)実際にポアソン過程(二項分布ではない)を求めています.これは、単位時間あたりにイベントが発生する確率が一様である場合に生じる分布です。この種の分布は待ち行列理論でよく発生するため、そこの参照が役立ちます。

これらを生成する最も簡単な方法は、イベント間の時間間隔を生成することです。

generate_time_interval_in_seconds( X=mean_events_per_minute )
    dt=-(60.0/X)*log( random_number_generator() )
    return dt 

random_number_generator()で疑似乱数を返します0-1。それを取る-log(.)と、平均値が の指数分布の乱数が得られます1。これをスケーリングする60.0/Xと、平均値がイベント間の平均間隔である指数分布変量が得られます。

次に、この 1 分間に何回発生したかを判断するには、次のようにします。

count=0
T=generate_time_interval_in_seconds(X)
while( T<60.0)
   ++count
   T+=generate_time_interval_in_seconds(X)
return count
于 2012-08-08T22:01:23.350 に答える