伯努利分布相当于只有1个试验的二项分布,即来自Apache Commons Math库的BinomialDistribution(1,p)
。伯努利分布显然比一般二项分布简单得多。
如果效果很重要,我应该通过继承BernoulliDistribution(p)
来推广自己的AbstractIntegerDistribution
,还是只需要BinomialDistribution(1,p)
来获得几乎相同的效果?
答案 0 :(得分:2)
如果您实际使用的是分发方法并且性能很重要,那么您应该将AbstractIntegerDistribution继承为子类。
BinomialDistribution通过特殊函数使用数值近似来实现分布方法。这些计算带来了一些开销,并且在退化(伯努利)情况下不是必需的,其中可以返回常数。从版本3.4.1开始,probability
方法中没有检查退化情况;虽然有cumulativeProbability
的支票。