类 MultivariateNormalDistribution
java.lang.Object
org.hipparchus.distribution.multivariate.AbstractMultivariateRealDistribution
org.hipparchus.distribution.multivariate.MultivariateNormalDistribution
- 所有已实现的接口:
-
MultivariateRealDistribution
多元正态(高斯)分布的实现。
- 另请参阅:
-
字段概要
从类继承的字段 org.hipparchus.distribution.multivariate.AbstractMultivariateRealDistribution
random
-
构造器概要
构造器说明MultivariateNormalDistribution
(double[] means, double[][] covariances) 使用给定的均值向量和协方差矩阵创建多元正态分布。
维度数等于均值向量的长度,也等于协方差矩阵的行数和列数。MultivariateNormalDistribution
(double[] means, double[][] covariances, double singularMatrixCheckTolerance) 使用给定的均值向量和协方差矩阵创建多元正态分布。
维度数等于均值向量的长度,也等于协方差矩阵的行数和列数。MultivariateNormalDistribution
(RandomGenerator rng, double[] means, double[][] covariances) 使用给定的均值向量和协方差矩阵创建多元正态分布。MultivariateNormalDistribution
(RandomGenerator rng, double[] means, double[][] covariances, double singularMatrixCheckTolerance) 使用给定的均值向量和协方差矩阵创建多元正态分布。 -
方法概要
从类继承的方法 org.hipparchus.distribution.multivariate.AbstractMultivariateRealDistribution
getDimension, reseedRandomGenerator, sample
-
构造器详细资料
-
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
使用给定的均值向量和协方差矩阵创建多元正态分布。
维度数等于均值向量的长度,也等于协方差矩阵的行数和列数。通常在公式中写为“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
获取协方差矩阵。- 返回:
- 协方差矩阵。
-
getSingularMatrixCheckTolerance
public double getSingularMatrixCheckTolerance()获取在求逆之前用于奇异检查的容差检查的当前设置- 返回:
- 容差
-
density
返回在指定点x
处评估此分布的概率密度函数(PDF)。一般来说,PDF是累积分布函数的导数。如果在x
处导数不存在,则应返回适当的替代值,例如Double.POSITIVE_INFINITY
、Double.NaN
或差商的下限或上限。- 参数:
-
vals
- 评估PDF的点。 - 返回:
-
点
x
处概率密度函数的值。 - 抛出:
-
MathIllegalArgumentException
-
getStandardDeviations
public double[] getStandardDeviations()获取协方差矩阵对角线上每个元素的平方根。- 返回:
- 标准差。
-
sample
public double[] sample()从该分布中生成一个随机值向量。- 指定者:
-
sample
在接口中MultivariateRealDistribution
- 指定者:
-
sample
在类中AbstractMultivariateRealDistribution
- 返回:
- 一个随机值向量。
-