是否有可能使用std :: binomial_distribution计算在k次试验中获得n次成功的概率?怎么样?使用std :: binomial_distribution计算概率
1
A
回答
0
不是真的没有。
std::binomial_distribution
更适合随机数生成,而不是可以提供累积密度函数的东西。
您可以自己在几行代码中实现累积密度函数,或者搜索一个好的数学库。 (使用帕斯卡三角形方法而不是计算大的因子数)。
0
为了实现这种PMF,像Binomial
PMF(p, n,k) = n!/(k!*(n-k)!) p^k (1-p)^(n-k)
好的技巧是计算它的对数和exponentiate它
对于必须使用伽玛功能的数的阶乘的log
沿线(未经测试!)
double logChoose(int n, int k) {
return std::lgamma(double(n+1)) - std::lgamma(double(k+1)) - std::lgamma(double(n-k+1));
}
double PMFBinomial(double p, int n, int k) {
double lgr = logChoose(n, k) + double(k)*std::log(p) + double(n-k)*std::log(1-p);
return std::exp(lgr);
}
相关问题
- 1. 概率计算
- 2. 计算概率
- 3. 概率计算
- 4. 计算概率在概率树
- 5. 概率的计算
- 6. 计算累计概率
- 7. 计算概率,并在Excel
- 8. 调试pymc概率计算
- 9. 计算事件的概率
- 10. 计算概率分布
- 11. 条件概率计算
- 12. 对excel的概率计算
- 13. 在MySQL中计算概率
- 14. 用Java计算加权概率
- 15. 概率包似乎计算错误条件概率?
- 16. 概率计算器与阶乘方程
- 17. 如何使用概率分布对象计算一个点的概率?
- 18. 来自bigrams概率的计算三元概率
- 19. 根据每个值的过去概率计算新概率
- 20. 概率算法
- 21. 用词汇量计算句子的计算概率
- 22. 更好的计算概率的方法?
- 23. 无法计算SVM中的概率?
- 24. 计算UUID唯一的概率
- 25. 计算总体上的概率
- 26. 计算垃圾邮件概率
- 27. 计算概率C++伯努利试验
- 28. 未知概率的计算复杂度
- 29. 填充向量与概率计算
- 30. 生日悖论(计算碰撞概率)
我有因析溢出问题,我使用递归方式: https://en.wikipedia.org/wiki/Binomial_coefficient#Recursive_formula 这是一个好主意吗? –
@Bathsheba:我的意思是你可以使用'std :: binomial_distribution'来完成,如果你想通过随机抽样/大数定律来完成,而不是直接计算出来。我认为这是OP做功课的一部分,可以做到这一点。 –