2017-06-12 18 views
1

到着時間を持つプロセスをモデル化しようとしています。私は実際の到着をサンプリングし、何日もの間、一連の到着カウントを1日に持っています。この測定データを使って、ポアソン分布に従った一連の実際の到着タイムスタンプを作成したいと思います。例えばポアソン到着時間に1日当たりの到着数をシミュレート

、所与: countPerDay = [2,3,1、...] 計算: arrivalTimes = [0.324、0.547、1.223、1.563、1.844、2.618、...]

arrivalTimes = [] 
for d,j in zip(range(len(countPerDay)), countPerDay): 
    l = random.sample(range(ticksPerDay), j) 
    arrivalTimes += [(d*ticksPerDay + v) for v in l] 

私はこれを変更する方法:2私は現在、次のように均一な分布を使用してこれを行う

等、三日目に、最初の日に到着3二日目に、1ということを観察到着時刻が均一ではなくポアソン分布?私は指数分布がポアソン到着時間を提供することを意図していることを知っていますが、この場合、1日に正確な到着数が必要な場合は、到着のすべてを毎日の始めに偏らせることになると心配します。

直感的に、ポアソンの到着時間は、ユニフォームよりも異なる/より良いものはありますか?

答えて

1

ランダムに分布した到着時間の組が指数関数的に分布していることが判明したため、コードは正常です。

n = int(1e8) # Many points 
event_times = n * np.random.rand(n) 
event_times.sort() 
event_distances = event_times[1:] - event_times[:-1] 
plt.hist(event_distances, bins=100) 
plt.xlim(0, 8) # To show the part with high n 
event_distances.mean() 

0.99999996740170383の平均と、次の配信を返します:distances between randomly-timed events are exponentially distributed

をテストするために、私は次のコードを使用しました
関連する問題