0
我正在創建一組項目,並且每個項目都在計算樣本中出現次數。之後,我希望隨機選擇一個項目,但我希望選擇任何特定項目的機會等於所有項目出現次數的總和。隨機元素的統計/加權/概率選擇
我相信我已經找到了一個很好的解決方案,但我很感興趣的是這個概念的標準術語是什麼以及實現它的標準方法是什麼。
我正在創建一組項目,並且每個項目都在計算樣本中出現次數。之後,我希望隨機選擇一個項目,但我希望選擇任何特定項目的機會等於所有項目出現次數的總和。隨機元素的統計/加權/概率選擇
我相信我已經找到了一個很好的解決方案,但我很感興趣的是這個概念的標準術語是什麼以及實現它的標準方法是什麼。
這並沒有自己的名字,但它是根據證據更新您的信仰的重要一步,在顆粒過濾這可能是您正在尋找的術語。
從0到n-1(n是所有項目出現的總次數)中選擇一個隨機數(r)。然後遍歷每個項目並從r中減去出現次數。當你低於零時,選擇最後一個項目。請注意,將相同的項目分組在同一個地方並不重要。你可能有重複,這仍然會工作。或者,如果您的事件單獨存儲在數組(而不是直方圖)中,只需從數組中選擇一個隨機索引。
大量的重複:我最早知道的是[如何生成匹配直方圖的點? ](http://stackoverflow.com/questions/423006/),但在你問題的相關列有更多像[C:基於概率選擇一個隨機項](http://stackoverflow.com/questions/2772882 /)和[用概率分佈生成隨機數](http://stackoverflow.com/questions/3109670/)[調整項目機會從列表中選擇](http://stackoverflow.com/questions/1589321/) [如何實現非均勻概率分佈?](http://stackoverflow.com/questions/3094873/) – dmckee 2010-12-07 06:50:18