类 MultivariateNormalDistribution

java.lang.Object
org.hipparchus.distribution.multivariate.AbstractMultivariateRealDistribution
org.hipparchus.distribution.multivariate.MultivariateNormalDistribution
所有已实现的接口:
MultivariateRealDistribution

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

    • MultivariateNormalDistribution

      public MultivariateNormalDistribution(double[] means, double[][] covariances) throws MathIllegalArgumentException
      使用给定的均值向量和协方差矩阵创建多元正态分布。
      维度数等于均值向量的长度,也等于协方差矩阵的行数和列数。通常在公式中写为“p”。

      注意: 此构造函数将隐式创建一个用于仅用于抽样的随机生成器的实例(请参见sample()AbstractMultivariateRealDistribution.sample(int))。如果对所创建的分布不需要抽样,则建议通过适当的构造函数将null作为随机生成器传递,以避免额外的初始化开销。

      参数:
      means - 均值向量。
      covariances - 协方差矩阵。
      抛出:
      MathIllegalArgumentException - 如果数组长度不一致。
      MathIllegalArgumentException - 如果无法对提供的协方差矩阵执行特征值分解。
      MathIllegalArgumentException - 如果任何特征值为负。
    • MultivariateNormalDistribution

      public MultivariateNormalDistribution(double[] means, double[][] covariances, double singularMatrixCheckTolerance) throws MathIllegalArgumentException
      使用给定的均值向量和协方差矩阵创建多元正态分布。
      维度数等于均值向量的长度,也等于协方差矩阵的行数和列数。通常在公式中写为“p”。

      注意: 此构造函数将隐式创建一个用于仅用于抽样的随机生成器的实例(请参见sample()AbstractMultivariateRealDistribution.sample(int))。如果对所创建的分布不需要抽样,则建议通过适当的构造函数将null作为随机生成器传递,以避免额外的初始化开销。

      参数:
      means - 均值向量。
      covariances - 协方差矩阵。
      singularMatrixCheckTolerance - 求逆之前用于奇异矩阵检查的容差
      抛出:
      MathIllegalArgumentException - 如果数组长度不一致。
      MathIllegalArgumentException - 如果无法对提供的协方差矩阵执行特征值分解。
      MathIllegalArgumentException - 如果任何特征值为负。
    • MultivariateNormalDistribution

      public MultivariateNormalDistribution(RandomGenerator rng, double[] means, double[][] covariances)
      使用给定的均值向量和协方差矩阵创建多元正态分布。
      维度数等于均值向量的长度,也等于协方差矩阵的行数和列数。通常在公式中写为“p”。
      参数:
      rng - 随机数生成器。
      means - 均值向量。
      covariances - 协方差矩阵。
      抛出:
      MathIllegalArgumentException - 如果数组长度不一致。
      MathIllegalArgumentException - 如果无法对提供的协方差矩阵执行特征值分解。
      MathIllegalArgumentException - 如果任何特征值为负。
    • MultivariateNormalDistribution

      public MultivariateNormalDistribution(RandomGenerator rng, double[] means, double[][] covariances, double singularMatrixCheckTolerance) throws MathIllegalArgumentException
      使用给定的均值向量和协方差矩阵创建多元正态分布。
      维度数等于均值向量的长度,也等于协方差矩阵的行数和列数。通常在公式中写为“p”。
      参数:
      rng - 随机数生成器。
      means - 均值向量。
      covariances - 协方差矩阵。
      singularMatrixCheckTolerance - 求逆之前用于奇异矩阵检查的容差
      抛出:
      MathIllegalArgumentException - 如果数组长度不一致。
      MathIllegalArgumentException - 如果无法对提供的协方差矩阵执行特征值分解。
      MathIllegalArgumentException - 如果任何特征值为负。
  • 方法详细资料

    • getMeans

      public double[] getMeans()
      获取均值向量。
      返回:
      均值向量。
    • getCovariances

      public RealMatrix getCovariances()
      获取协方差矩阵。
      返回:
      协方差矩阵。
    • getSingularMatrixCheckTolerance

      public double getSingularMatrixCheckTolerance()
      获取在求逆之前用于奇异检查的容差检查的当前设置
      返回:
      容差
    • density

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

      public double[] getStandardDeviations()
      获取协方差矩阵对角线上每个元素的平方根。
      返回:
      标准差。
    • sample

      public double[] sample()
      从该分布中生成一个随机值向量。
      指定者:
      sample 在接口中 MultivariateRealDistribution
      指定者:
      sample 在类中 AbstractMultivariateRealDistribution
      返回:
      一个随机值向量。