在Java问题中实现概率分布函数

Ale*_*nes 7 java math probability

我有一个以概率分布函数形式的函数,如下所示:

式

虽然我发现一些lib提供函数来获得结果,如上面的公式所做的那样; 但我正在学习实施它,所以如果可能的话,我想自己做.

以下是我在实现该功能时可以想到的

public double pdf(double x){
  double mean = mean();
  double variance = variance();
  double base = 1/Math.sqrt(2*Math.PI*variance);
  double pow = -(Math.pow((x-mean), 2)/2*variance);
  return Math.pow(base, pow); 
}

这是实施pdf的正确方法吗?或者我想念哪些部分?

我感谢任何帮助.

Luk*_*ard 1

您的pdf方法实现了正态分布的概率密度函数,但您似乎想要实现累积正态分布函数(或至少是它的变体)。对于正态分布,这是非常重要的,因为它涉及无限积分。

您可以通过使用梯形规则等方法尝试数值积分,但我怀疑随着您离平均值越来越远,不准确性开始增加。

如果你想实现累积正态分布函数,那么我推荐两种方法: