Tag: accord.net

Accord.Net二项概率质量函数结果与Excel结果不同

我试图实现以前通过Excel工作表提供的一些function到C#应用程序,但Accord.NET的概率质量函数由于某种原因而不同于Excel函数。 在Excel概率质量函数中,就是这样使用的 =BINOM.DIST(250; 3779; 0.0638; FALSE) Result: 0.021944019794458 当我使用Accord.NET进行试用时 var binom = new BinomialDistribution(3779, 0.0638); binom.ProbabilityMassFunction(250); // Result: Infinity 但累积分布似乎正常工作(除了最后几位数字,但我认为这只是某种精度错误) Excel中: =BINOM.DIST(250; 3779; 0.0638; TRUE) Result: 0.736156366002849 Accord.NET: var binom = new BinomialDistribution(3779, 0.0638); binom.DistributionFunction(250); // Result: 0.736156366002318 为什么结果如此不同? 有没有办法让雅阁的Excel结果? 编辑: Extreme.Numerics计算与Excel相同的结果,但我不想使用这个库,因为这个库的许可证制度过去总是导致麻烦。 编辑2:似乎像某种溢出错误。 当我使用这个我得到正确的结果: Math.Exp(binom.LogProbabilityMassFunction(250)); 任何想法,为什么这可能会发生?