类 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) 创建一个对数正态分布。 -
方法概要
修饰符和类型方法说明double
cumulativeProbability
(double x) 对于随机变量X
,其值根据此分布进行分布,此方法返回P(X <= x)
。double
density
(double x) 返回在指定点x
处评估的此分布的概率密度函数(PDF)。double
返回此分布的位置参数。double
使用此方法获取此分布的均值的数值。double
使用此方法获取此分布的方差的数值。double
getShape()
返回此分布的形状参数。double
访问支持的下界。double
访问支持的上界。boolean
使用此方法获取有关支持是否连通的信息,即支持的下界和上界之间的所有值是否包含在支持中。double
logDensity
(double x) 返回在指定点x
处评估的此分布的概率密度函数(PDF)的自然对数。double
probability
(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
-