类 NormalDistribution

java.lang.Object
org.hipparchus.distribution.continuous.AbstractRealDistribution
org.hipparchus.distribution.continuous.NormalDistribution
所有已实现的接口:
Serializable, RealDistribution

public class NormalDistribution extends AbstractRealDistribution
正态(高斯)分布的实现。
另请参阅:
  • 构造器详细资料

    • NormalDistribution

      public NormalDistribution()
      创建均值为零,标准差为一的正态分布。
    • NormalDistribution

      public NormalDistribution(double mean, double sd) throws MathIllegalArgumentException
      使用给定的均值和标准差创建正态分布。
      参数:
      mean - 此分布的均值。
      sd - 此分布的标准差。
      抛出:
      MathIllegalArgumentException - 如果 sd <= 0
  • 方法详细资料

    • getMean

      public double getMean()
      访问均值。
      返回:
      此分布的均值。
    • getStandardDeviation

      public double getStandardDeviation()
      访问标准差。
      返回:
      此分布的标准差。
    • density

      public double density(double x)
      返回在指定点 x 处评估的此分布的概率密度函数(PDF)。一般来说,PDF 是 CDF 的导数。如果在 x 处导数不存在,则应返回适当的替代值,例如 Double.POSITIVE_INFINITYDouble.NaN,或者差商的下限或上限。
      参数:
      x - 评估 PDF 的点
      返回:
      在点 x 处概率密度函数的值
    • logDensity

      public double logDensity(double x)
      返回在指定点 x 处评估的此分布的概率密度函数(PDF)的自然对数。一般来说,PDF 是 CDF 的导数。如果在 x 处导数不存在,则应返回适当的替代值,例如 Double.POSITIVE_INFINITYDouble.NaN,或者差商的下限或上限。请注意,由于浮点精度和下溢/上溢问题,对于某些分布,此方法比计算 RealDistribution.density(double) 的对数更精确和更快。

      默认实现只是计算 density(x) 的对数。

      指定者:
      logDensity 在接口中 RealDistribution
      覆盖:
      logDensity 在类中 AbstractRealDistribution
      参数:
      x - 评估 PDF 的点
      返回:
      在点 x 处概率密度函数的对数
    • cumulativeProbability

      public double cumulativeProbability(double x)
      对于随机变量 X,其值根据此分布进行分布,此方法返回 P(X <= x)。换句话说,此方法表示此分布的(累积)分布函数(CDF)。如果 x 距离均值超过 40 个标准差,则返回 0 或 1,因为在这些情况下,实际值在 0 或 1 的 Double.MIN_VALUE 范围内。
      参数:
      x - 评估 CDF 的点
      返回:
      随机变量具有此分布的概率小于或等于 x 的概率
    • inverseCumulativeProbability

      public double inverseCumulativeProbability(double p) throws MathIllegalArgumentException
      计算此分布的分位函数。对于随机变量 X 根据此分布分布,返回的值为
      • inf{x in R | P(X<=x) >= p},对于 0 < p <= 1
      • inf{x in R | P(X<=x) > 0},对于 p = 0
      默认实现返回
      指定者:
      inverseCumulativeProbability 在接口中 RealDistribution
      覆盖:
      inverseCumulativeProbability 在类中 AbstractRealDistribution
      参数:
      p - 累积概率
      返回:
      此分布的最小 p 分位数(p = 0 时为最大 0 分位数)
      抛出:
      MathIllegalArgumentException - 如果 p < 0p > 1
    • probability

      public double probability(double x0, double x1) throws MathIllegalArgumentException
      对于随机变量 X,其值根据此分布进行分布,此方法返回 P(x0 < X <= x1)
      指定者:
      probability 在接口中 RealDistribution
      覆盖:
      probability 在类中 AbstractRealDistribution
      参数:
      x0 - 下限(不包括)。
      x1 - 上限(包括)。
      返回:
      随机变量服从此分布取值在x0x1之间的概率,不包括下限但包括上限。
      抛出:
      MathIllegalArgumentException - 如果x0 > x1。默认实现使用恒等式P(x0 < X <= x1) = P(X <= x1) - P(X <= x0)
    • getNumericalMean

      public double getNumericalMean()
      使用此方法获取此分布的均值的数值。对于均值参数mu,均值为mu
      返回:
      均值或Double.NaN(如果未定义)
    • getNumericalVariance

      public double getNumericalVariance()
      使用此方法获取此分布的方差的数值。对于标准差参数s,方差为s^2
      返回:
      方差(可能为Double.POSITIVE_INFINITY,如TDistribution中的某些情况)或Double.NaN(如果未定义)
    • getSupportLowerBound

      public double getSupportLowerBound()
      访问支持的下限。此方法必须返回与inverseCumulativeProbability(0)相同的值。换句话说,此方法必须返回

      inf {x in R | P(X <= x) > 0}

      支持的下限始终为负无穷,无论参数如何。
      返回:
      支持的下限(始终为Double.NEGATIVE_INFINITY
    • getSupportUpperBound

      public double getSupportUpperBound()
      访问支持的上限。此方法必须返回与inverseCumulativeProbability(1)相同的值。换句话说,此方法必须返回

      inf {x in R | P(X <= x) = 1}

      支持的上限始终为正无穷,无论参数如何。
      返回:
      支持的上限(始终为Double.POSITIVE_INFINITY
    • isSupportConnected

      public boolean isSupportConnected()
      使用此方法获取有关支持是否连通的信息,即支持的下限和上限之间的所有值是否包含在支持中。此分布的支持是连通的。
      返回:
      true