簡體   English   中英

我需要一個有效的算法和/或代碼來建模系統的泊松分布

[英]I need an efficient algorithm and/or code for a modelling Poisson distribution of a system

eeesh標題不是很好。

情況就是這樣。

我有一個實時運行的模擬,我正在嘗試有效地模擬在特定增量時間內具有已知期望值的隨機計數率,並且概率分布具有已知的標准偏差,方差等等......

我只想要一個整數計數,也就是說,對於連續的delta時間,我得到的結果如2,1,0,3,1,2,0,1。

目前我只是將每秒的計數數乘以增量時間(以秒為單位)並將其添加到運行計數變量中,並顯示我通過從浮點數轉換為int來向下舍入。 這不會最終削減芥末=(

我正在運行~60 fps並且如果我能幫助它就不想殺死人們的處理器。

什么是有效實現這一目標的好方法(我正在使用Java)?

聽起來像指數分布 / 泊松過程可能是合適的。 指數分布模擬離散事件發生之間的時間。 lambda參數表示事件的到達率。 泊松過程提供了相同基礎過程的替代表示,為您提供在特定時間范圍內發生的事件的計數(從0到+ inf的整數)。
泊松分布相當容易模擬。 Poisson的lambda表示時間間隔中預期的事件數,並且可以通過這種方式進行模擬
驗證這是否是表示/模擬過程的適當方式的一種方法是驗證均值,方差等是否滿足它們應該是什么,如果它是遵循這樣的過程。

查看Random.nextGaussian() 它返回一個平均值為0.0和SD 1.0的隨機數。 您可以使用縮放和偏移來生成數據。

如果你想要SD 3的平均值,請使用

Random myRandom = new Random();
...

Double nextValue = 7.0 + myRandom.nextGaussian()*3.0;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM