类 LogNormalDistribution
java.lang.Object
org.hipparchus.distribution.continuous.AbstractRealDistribution
org.hipparchus.distribution.continuous.LogNormalDistribution
- 所有已实现的接口:
-
Serializable,RealDistribution
对数正态(高斯)分布的实现。
参数: 如果其自然对数 log(X) 是正态分布的,则 X 是对数正态分布的。对于 x > 0,X 的概率分布函数为
exp(-0.5 * ((ln(x) - m) / s)^2) / (s * sqrt(2 * pi) * x)
m是位置参数:这是该分布的自然对数的正态分布的平均值,s是形状参数:这是该分布的自然对数的正态分布的标准差。
- 另请参阅:
-
字段概要
从类继承的字段 org.hipparchus.distribution.continuous.AbstractRealDistribution
DEFAULT_SOLVER_ABSOLUTE_ACCURACY -
构造器概要
构造器构造器说明创建一个对数正态分布,其中对数正态分布的正态分布自然对数的平均值和标准差分别为零和一。LogNormalDistribution(double location, double shape) 使用指定的位置和形状创建对数正态分布。LogNormalDistribution(double location, double shape, double inverseCumAccuracy) 创建一个对数正态分布。 -
方法概要
修饰符和类型方法说明doublecumulativeProbability(double x) 对于随机变量X,其值根据此分布进行分布,此方法返回P(X <= x)。doubledensity(double x) 返回在指定点x处评估的此分布的概率密度函数(PDF)。double返回此分布的位置参数。double使用此方法获取此分布的均值的数值。double使用此方法获取此分布的方差的数值。doublegetShape()返回此分布的形状参数。double访问支持的下界。double访问支持的上界。boolean使用此方法获取有关支持是否连通的信息,即支持的下界和上界之间的所有值是否包含在支持中。doublelogDensity(double x) 返回在指定点x处评估的此分布的概率密度函数(PDF)的自然对数。doubleprobability(double x0, double x1) 对于随机变量X,其值根据此分布进行分布,此方法返回P(x0 < X <= x)。从类继承的方法 org.hipparchus.distribution.continuous.AbstractRealDistribution
getSolverAbsoluteAccuracy, inverseCumulativeProbability
-
构造器详细资料
-
LogNormalDistribution
public LogNormalDistribution()创建一个对数正态分布,其中对数正态分布的正态分布自然对数的平均值和标准差分别为零和一。换句话说,返回分布的位置为0,而其形状为1。 -
LogNormalDistribution
使用指定的位置和形状创建对数正态分布。- 参数:
-
location- 此分布的位置参数 -
shape- 此分布的形状参数 - 抛出:
-
MathIllegalArgumentException- 如果shape <= 0。
-
LogNormalDistribution
public LogNormalDistribution(double location, double shape, double inverseCumAccuracy) throws MathIllegalArgumentException 创建一个对数正态分布。- 参数:
-
location- 此分布的位置参数。 -
shape- 此分布的形状参数。 -
inverseCumAccuracy- 逆累积概率精度。 - 抛出:
-
MathIllegalArgumentException- 如果shape <= 0。
-
-
方法详细资料
-
getLocation
public double getLocation()返回此分布的位置参数。- 返回:
- 位置参数
- 从以下版本开始:
- 1.4
-
getShape
public double getShape()返回此分布的形状参数。- 返回:
- 形状参数
-
density
public double density(double x) 返回在指定点x处评估的此分布的概率密度函数(PDF)。一般来说,PDF 是CDF的导数。如果在x处导数不存在,则应返回适当的替代值,例如Double.POSITIVE_INFINITY、Double.NaN,或者差商的下限或上限。对于此分布的位置m和形状s,PDF 如下所示- 如果
x <= 0,则为0, - 否则为
exp(-0.5 * ((ln(x) - m) / s)^2) / (s * sqrt(2 * pi) * x)。
- 参数:
-
x- 评估 PDF 的点 - 返回:
-
在点
x处概率密度函数的值
- 如果
-
logDensity
public double logDensity(double x) 返回在指定点x处评估的此分布的概率密度函数(PDF)的自然对数。一般来说,PDF 是CDF的导数。如果在x处导数不存在,则应返回适当的替代值,例如Double.POSITIVE_INFINITY、Double.NaN,或者差商的下限或上限。请注意,由于浮点精度和下溢/上溢问题,对于某些分布,此方法比计算RealDistribution.density(double)的对数更精确和更快。默认实现简单地计算
density(x)的对数。有关计算细节,请参阅density(double)的文档。- 指定者:
-
logDensity在接口中RealDistribution - 覆盖:
-
logDensity在类中AbstractRealDistribution - 参数:
-
x- 评估 PDF 的点 - 返回:
-
在点
x处概率密度函数的对数值
-
cumulativeProbability
public double cumulativeProbability(double x) 对于随机变量X,其值根据此分布进行分布,此方法返回P(X <= x)。换句话说,此方法表示此分布的(累积)分布函数(CDF)。对于此分布的位置m和形状s,CDF 如下所示- 如果
x <= 0,则为0, - 如果
ln(x) - m < 0并且m - ln(x) > 40 * s,则为0,因为在这些情况下,实际值在Double.MIN_VALUE附近, - 如果
ln(x) - m >= 0并且ln(x) - m > 40 * s,则为1,因为在这些情况下,实际值在Double.MIN_VALUE附近, - 否则为
0.5 + 0.5 * erf((ln(x) - m) / (s * sqrt(2))。
- 参数:
-
x- 评估 CDF 的点 - 返回:
-
随机变量具有此分布且取值小于或等于
x的概率
- 如果
-
probability
对于随机变量X,其值根据此分布进行分布,此方法返回P(x0 < X <= x1)。- 指定者:
-
probability在接口中RealDistribution - 覆盖:
-
probability在类中AbstractRealDistribution - 参数:
-
x0- 下限(不包括)。 -
x1- 上限(包括)。 - 返回:
-
随机变量服从此分布取值在
x0和x1之间的概率,不包括下限但包括上限。 - 抛出:
-
MathIllegalArgumentException- 如果x0 > x1。默认实现使用恒等式P(x0 < X <= x1) = P(X <= x1) - P(X <= x0)
-
getNumericalMean
public double getNumericalMean()使用此方法获取此分布的均值的数值。对于位置m和形状s,均值为exp(m + s^2 / 2)。- 返回:
-
均值或
Double.NaN(如果未定义)
-
getNumericalVariance
public double getNumericalVariance()使用此方法获取此分布的方差的数值。对于位置m和形状s,方差为(exp(s^2) - 1) * exp(2 * m + s^2)。- 返回:
-
方差(可能为
Double.POSITIVE_INFINITY,如TDistribution中的某些情况)或Double.NaN(如果未定义)
-
getSupportLowerBound
public double getSupportLowerBound()访问支持的下限。此方法必须返回与inverseCumulativeProbability(0)相同的值。换句话说,此方法必须返回
支持的下限始终为0,无论参数如何。inf {x in R | P(X <= x) > 0}。- 返回:
- 支持的下限(始终为0)
-
getSupportUpperBound
public double getSupportUpperBound()访问支持的上限。此方法必须返回与inverseCumulativeProbability(1)相同的值。换句话说,此方法必须返回
支持的上限始终为正无穷,无论参数如何。inf {x in R | P(X <= x) = 1}。- 返回:
-
支持的上限(始终为
Double.POSITIVE_INFINITY)
-
isSupportConnected
public boolean isSupportConnected()使用此方法获取有关支持是否连通的信息,即支持的下限和上限之间的所有值是否包含在支持中。此分布的支持是连通的。- 返回:
-
true
-