假設我有一些分佈由如下的概率定義[0.1, 0.6, 0.2, 0.1]
。概率之和等於1.我想知道如何抽樣這個分佈,這樣抽樣將遵循分佈。抽樣分佈
Q
抽樣分佈
0
A
回答
1
假設的Node.js的PRNG服從均勻分佈的一個簡單的解決方案可能是這一個:
var v = Math.random(); // return a number between 0 and 1
if(v < 0.1)
// first value
else if(v < 0.7) // (0.1 + 0.6)
// second value
else if(v < 0.9) // (0.1 + 0.6 + 0.2)
// third value
else
// forth value
這個問題已經被在這裏找到答案(所提出的解決方案是因爲他們提出了一個功能更普遍可以接受一系列概率): distributional sampling in Node.js
1
這取決於您的分佈是離散的還是連續的。對於連續情況,您必須在兩個值之間進行線性插值。這裏是僞
- 讓
u
是0
和1
- 之間的隨機數讓
i
這樣p[i] <= u <= p[i+1]
- 返回
(x[i+1] - x[i])/(p[i+1] - p[i]) * (u - p[i]) + x[i]
請注意,在2有可能是沒有這樣的i
因爲原因有兩個:(a)u < p[1]
或(b)p[n] < u
(我假設基於1
的陣列)。如果(a)在(b)x[n]
的情況下返回x[1]
。
相關問題
- 1. 抽樣分佈的樣本平均值
- 2. 分層隨機抽樣及其分佈
- 3. 從限幅正態分佈中抽樣
- 4. 抽樣分佈和表格總和
- 5. 分層抽樣
- 6. 通過從現有分佈的分佈抽樣來推斷缺失值
- 7. 分層抽樣的python scikitlearn
- 8. 迴歸分層抽樣
- 9. Firebase分析抽樣限制
- 10. 分層抽樣或R中
- 11. 使用Javascript - 分層抽樣
- 12. 從python中抽樣數據繪製分佈
- 13. stan/R中的均勻分佈導致抽樣誤差
- 14. 多元正態分佈的抽樣複雜性
- 15. 從第一性原理的離散概率分佈抽樣
- 16. 如何從給定的Copula的Kendalls分佈函數中抽樣?
- 17. 從R中的懇求伽馬分佈中有效抽樣
- 18. 使用emcee抽樣概率分佈函數?
- 19. 從一列數據集中抽樣分佈
- 20. 從C++中的離散概率分佈中抽樣
- 21. 從多項分佈中抽取一個巨大的樣本(1e09),樣本
- 22. 分層抽樣中的錯誤
- 23. 快速任意分配隨機抽樣
- 24. 隨機抽樣
- 25. 隨機抽樣
- 26. 隨機抽樣
- 27. 抽樣方法
- 28. SQL抽樣
- 29. 半高斯分佈樣本
- 30. Matlab的分佈採樣
你可以提供直覺或給出一些參考爲什麼這是正確的方式嗎? – com