类 SemiVariance
java.lang.Object
org.hipparchus.stat.descriptive.AbstractUnivariateStatistic
org.hipparchus.stat.descriptive.moment.SemiVariance
- 所有已实现的接口:
-
Serializable
,UnivariateStatistic
,MathArrays.Function
计算一组值相对于给定截断值的半方差。
我们定义一组值x
相对于截断值cutoff
的下行半方差为Σ (x[i] - target)2 / df
其中总和取自所有i
,使得x[i] < cutoff
,df
是x
的长度(未校正偏差)或比这个数字少一个(校正偏差)。类似地,定义上行半方差,总和取自值x
超过截断值的情况。
截断值默认为均值,偏差校正默认为true
,"方差方向"(上行或下行)默认为下行。方差方向和偏差校正可以通过属性设置器设置,或者它们的值可以作为参数提供给evaluate(double[], double, Direction, boolean, int, int)
。
如果输入数组为null,evaluate
方法会抛出IllegalArgumentException
。如果数组长度为1,则返回0
,无论cutoff
的值如何。
请注意,此类不是线程安全的。如果多个线程同时访问此类的实例,并且其中一个或多个线程调用属性设置器,则必须提供外部同步以确保正确的结果。
- 另请参阅:
-
嵌套类概要
-
字段概要
修饰符和类型字段说明static final SemiVariance.Direction
下行方向用于指定将在截断点以下的观测用于计算半方差。static final SemiVariance.Direction
上行方向用于指定将在截断点以上的观测用于计算半方差。 -
构造器概要
构造器说明使用默认(true)biasCorrected
属性和默认(下行)varianceDirection
属性构造一个半方差。SemiVariance
(boolean biasCorrected) 使用指定的biasCorrected
属性和默认(下行)varianceDirection
属性构造一个半方差。SemiVariance
(boolean corrected, SemiVariance.Direction direction) 使用指定的isBiasCorrected
属性和指定的Direction
属性构造一个半方差。SemiVariance
(SemiVariance original) 复制构造函数,创建一个与original
相同的新SemiVariance
。SemiVariance
(SemiVariance.Direction direction) 使用指定的Direction
属性和默认(true)biasCorrected
属性构造一个半方差。 -
方法概要
修饰符和类型方法说明copy()
返回具有相同内部状态的统计量的副本。double
evaluate
(double[] values, double cutoff) 返回指定值相对于截断的SemiVariance
,使用实例属性varianceDirection和biasCorrection。double
evaluate
(double[] values, double cutoff, SemiVariance.Direction direction) 返回指定值相对于给定方向的截断的SemiVariance
,使用当前的biasCorrection实例属性值。double
evaluate
(double[] values, double cutoff, SemiVariance.Direction direction, boolean corrected, int start, int length) 返回指定值相对于给定方向和提供的偏差校正的截断的SemiVariance
。double
evaluate
(double[] values, int start, int length) 返回指定值相对于均值的SemiVariance
,使用实例属性varianceDirection和biasCorrection。double
evaluate
(double[] values, SemiVariance.Direction direction) 此方法计算整个数组相对于均值的SemiVariance
,使用当前的biasCorrection实例属性值。返回varianceDirection属性。boolean
如果biasCorrected属性设置为true,则返回true。withBiasCorrected
(boolean isBiasCorrected) 返回具有给定biasCorrected设置的此实例的副本。withVarianceDirection
(SemiVariance.Direction direction) 返回具有给定方向设置的此实例的副本。从类继承的方法 org.hipparchus.stat.descriptive.AbstractUnivariateStatistic
evaluate, getData, getDataRef, setData, setData
从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
从接口继承的方法 org.hipparchus.stat.descriptive.UnivariateStatistic
evaluate
-
字段详细资料
-
UPSIDE_VARIANCE
上行方向用于指定将在截断点以上的观测用于计算半方差。 -
DOWNSIDE_VARIANCE
下行方向用于指定将在截断点以下的观测用于计算半方差。
-
-
构造器详细资料
-
SemiVariance
public SemiVariance()使用默认(true)biasCorrected
属性和默认(下行)varianceDirection
属性构造一个半方差。 -
SemiVariance
public SemiVariance(boolean biasCorrected) 使用指定的biasCorrected
属性和默认(下行)varianceDirection
属性构造一个半方差。- 参数:
-
biasCorrected
- 偏差校正设置 - true表示将校正偏差,等同于使用无参数构造函数
-
SemiVariance
使用指定的Direction
属性和默认(true)biasCorrected
属性构造一个半方差。- 参数:
-
direction
- 用于计算半方差的方向设置
-
SemiVariance
使用指定的isBiasCorrected
属性和指定的Direction
属性构造一个半方差。- 参数:
-
corrected
- 偏差校正设置 - true表示将校正偏差,等同于使用无参数构造函数 -
direction
- 用于计算半方差的方向设置
-
SemiVariance
复制构造函数,创建一个与original
相同的新SemiVariance
。- 参数:
-
original
- 要复制的SemiVariance
实例 - 抛出:
-
NullArgumentException
- 如果original为null
-
-
方法详细资料
-
copy
返回具有相同内部状态的统计量的副本。- 指定者:
-
copy
在接口中UnivariateStatistic
- 指定者:
-
copy
在类中AbstractUnivariateStatistic
- 返回:
- 统计量的副本
-
evaluate
返回指定值相对于均值的SemiVariance
,使用实例属性varianceDirection和biasCorrection。如果数组为空,则返回
NaN
,如果数组为null,则抛出IllegalArgumentException
。- 指定者:
-
evaluate
在接口中MathArrays.Function
- 指定者:
-
evaluate
在接口中UnivariateStatistic
- 指定者:
-
evaluate
在类中AbstractUnivariateStatistic
- 参数:
-
values
- 输入数组 -
start
- 要包括的第一个数组元素的索引 -
length
- 要包括的元素数量 - 返回:
- 半方差
- 抛出:
-
MathIllegalArgumentException
- 如果参数无效
-
evaluate
public double evaluate(double[] values, SemiVariance.Direction direction) throws MathIllegalArgumentException 该方法使用biasCorrection实例属性的当前值,针对整个数组相对于均值计算SemiVariance
。- 参数:
-
values
- 输入数组 -
direction
- 半方差的SemiVariance.Direction
- 返回:
- 半方差
- 抛出:
-
MathIllegalArgumentException
- 如果values为null
-
evaluate
返回使用variancDirection和biasCorrection实例属性,针对指定值相对于截断值的SemiVariance
。如果数组为空,则返回
NaN
。- 参数:
-
values
- 输入数组 -
cutoff
- 参考点 - 返回:
- 半方差
- 抛出:
-
MathIllegalArgumentException
- 如果values为null
-
evaluate
public double evaluate(double[] values, double cutoff, SemiVariance.Direction direction) throws MathIllegalArgumentException 返回使用biasCorrection实例属性,针对指定值相对于截断值在给定方向的SemiVariance
。如果数组为空,则返回
NaN
。- 参数:
-
values
- 输入数组 -
cutoff
- 参考点 -
direction
- 半方差的SemiVariance.Direction
- 返回:
- 半方差
- 抛出:
-
MathIllegalArgumentException
- 如果values为null
-
evaluate
public double evaluate(double[] values, double cutoff, SemiVariance.Direction direction, boolean corrected, int start, int length) throws MathIllegalArgumentException 返回使用提供的偏差校正,针对指定值相对于截断值在给定方向的SemiVariance
。如果数组为空,则返回
NaN
。- 参数:
-
values
- 输入数组 -
cutoff
- 参考点 -
direction
- 半方差的SemiVariance.Direction
-
corrected
- 偏差校正标志 -
start
- 要包括的第一个数组元素的索引 -
length
- 要包括的元素数量 - 返回:
- 半方差
- 抛出:
-
MathIllegalArgumentException
- 如果参数无效
-
isBiasCorrected
public boolean isBiasCorrected()返回biasCorrected属性是否设置为true。- 返回:
- biasCorrected的值。
-
withBiasCorrected
返回具有给定biasCorrected设置的此实例的副本。- 参数:
-
isBiasCorrected
- 新的biasCorrected属性值 - 返回:
- 具有给定偏差校正设置的此实例的副本
-
getVarianceDirection
返回varianceDirection属性。- 返回:
- varianceDirection
-
withVarianceDirection
返回具有给定方向设置的此实例的副本。- 参数:
-
direction
- 半方差的方向 - 返回:
- 具有给定方向设置的此实例的副本
-