类 DescriptiveStatistics
java.lang.Object
org.hipparchus.stat.descriptive.DescriptiveStatistics
- 所有已实现的接口:
-
Serializable
,DoubleConsumer
,StatisticalSummary
public class DescriptiveStatistics extends Object implements StatisticalSummary, DoubleConsumer, Serializable
维护单个变量的数据集,并基于存储的数据计算描述性统计信息。
windowSize
属性设置数据集中可存储值的数量限制。默认值为INFINITE_WINDOW,表示数据集的大小没有限制。在这种情况下应谨慎使用,因为在此情况下,后备存储将无限增长。
对于非常大的数据集,应使用不存储数据集的 StreamingStatistics
类,而不是使用此类。如果 windowSize
不是 INFINITE_WINDOW,并且添加的值多于数据集中可以存储的值,则新值将以“滚动”方式添加,新值将替换数据集中的“最旧”值。
注意:此类不是线程安全的。
- 另请参阅:
-
字段概要
-
构造器概要
限定符构造器说明使用无限窗口大小构造 DescriptiveStatistics 实例。DescriptiveStatistics
(double[] initialDoubleArray) 使用无限窗口大小和双精度数组中的初始数据值构造 DescriptiveStatistics 实例。DescriptiveStatistics
(int size) 使用指定窗口大小构造 DescriptiveStatistics 实例。protected
DescriptiveStatistics
(DescriptiveStatistics original) 复制构造函数。 -
方法概要
修饰符和类型方法说明void
accept
(double v) void
addValue
(double v) 将值添加到数据集中。double
apply
(UnivariateStatistic stat) 将给定的统计量应用于与此统计集相关的数据。void
clear()
重置所有统计信息和存储。copy()
返回具有相同内部状态的此 DescriptiveStatistics 实例的副本。double
getElement
(int index) 返回指定索引处的元素。double
返回可用值的几何平均值。double
返回可用值的峰度。double
getMax()
返回可用值的最大值。double
getMean()
返回可用值的算术平均值。double
getMin()
返回可用值的最小值。long
getN()
返回可用值的数量。double
getPercentile
(double p) 返回存储值的 pth 百分位数的估计值。double
返回可用值的总体方差。double
返回可用值的平方均值。double
返回可用值的偏度。double[]
返回以升序排序的双精度原始数组中的当前值集。double
返回可用值的标准偏差。double
getSum()
返回已添加到 Univariate 的值的总和。double
返回可用值的平方和。double[]
返回双精度原始数组中的当前值集。double
返回可用值的方差。int
返回数据集中可以存储的最大值,如果没有限制则返回 INFINITE_WINDOW(-1)。void
从数据集中删除最近的值。double
replaceMostRecentValue
(double v) 用给定值替换最近存储的值。void
setWindowSize
(int windowSize) WindowSize 控制对报告的统计信息有贡献的值的数量。toString()
生成显示已添加值的单变量统计信息的文本报告。从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
从接口继承的方法 java.util.function.DoubleConsumer
andThen
-
字段详细资料
-
INFINITE_WINDOW
protected static final int INFINITE_WINDOW表示无限窗口大小。当getWindowSize()
返回此值时,数据集中可以存储的数据值数量没有限制。- 另请参阅:
-
-
构造器详细资料
-
DescriptiveStatistics
public DescriptiveStatistics()使用无限窗口大小构造 DescriptiveStatistics 实例。 -
DescriptiveStatistics
使用指定窗口大小构造 DescriptiveStatistics 实例。- 参数:
-
size
- 窗口大小。 - 抛出:
-
MathIllegalArgumentException
- 如果窗口大小小于1但不等于INFINITE_WINDOW
-
DescriptiveStatistics
public DescriptiveStatistics(double[] initialDoubleArray) 使用无限窗口大小和双精度数组中的初始数据值构造 DescriptiveStatistics 实例。- 参数:
-
initialDoubleArray
- 初始双精度数组。 - 抛出:
-
NullArgumentException
- 如果输入数组为 null
-
DescriptiveStatistics
复制构造函数。构造一个新的 DescriptiveStatistics 实例,其副本与原始实例相同。
- 参数:
-
original
- 要复制的 DescriptiveStatistics 实例 - 抛出:
-
NullArgumentException
- 如果 original 为 null
-
-
方法详细资料
-
copy
返回具有相同内部状态的此 DescriptiveStatistics 实例的副本。- 返回:
- 此实例的副本
-
addValue
public void addValue(double v) 将值添加到数据集中。如果数据集达到最大大小(即,存储的元素数量等于当前配置的 windowSize),则数据集中的第一个(最旧的)元素将被丢弃,以为新值腾出空间。- 参数:
-
v
- 要添加的值
-
accept
public void accept(double v) - 指定者:
-
accept
在接口中DoubleConsumer
-
clear
public void clear()重置所有统计信息和存储。 -
removeMostRecentValue
从数据集中删除最近的值。- 抛出:
-
MathIllegalStateException
- 如果没有存储元素
-
replaceMostRecentValue
用给定值替换最近存储的值。必须至少存储一个元素才能调用此方法。- 参数:
-
v
- 要替换最近存储的值的值 - 返回:
- 替换的值
- 抛出:
-
MathIllegalStateException
- 如果没有存储元素
-
apply
将给定的统计量应用于与此统计集相关的数据。- 参数:
-
stat
- 要应用的统计量 - 返回:
- 统计量的计算值。
-
getMean
public double getMean()返回可用值的算术平均值。- 指定者:
-
getMean
在接口中StatisticalSummary
- 返回:
- 平均值,如果没有添加值则返回 Double.NaN。
-
getGeometricMean
public double getGeometricMean()返回可用值的几何平均值。有关计算算法的详细信息,请参见
GeometricMean
。- 返回:
- 如果未添加任何值或添加了任何负值,则返回geometricMean,否则返回Double.NaN。
- 另请参阅:
-
getStandardDeviation
public double getStandardDeviation()返回可用值的标准偏差。- 指定者:
-
getStandardDeviation
在接口中StatisticalSummary
- 返回:
- 如果未添加任何值或仅有一个值集,则返回标准偏差,否则返回Double.NaN。
-
getQuadraticMean
public double getQuadraticMean()返回可用值的平方均值。- 返回:
-
如果未添加任何值,则返回平方均值或
Double.NaN
。 - 另请参阅:
-
getVariance
public double getVariance()返回可用值的方差。- 指定者:
-
getVariance
在接口中StatisticalSummary
- 返回:
- 如果未添加任何值或仅有一个值集,则返回方差,否则返回Double.NaN。
-
getPopulationVariance
public double getPopulationVariance()返回可用值的总体方差。- 返回:
- 如果未添加任何值或仅有一个值集,则返回总体方差,否则返回Double.NaN。
- 另请参阅:
-
getSkewness
public double getSkewness()返回可用值的偏度。偏度是给定分布的不对称性的度量。- 返回:
- 如果添加的值少于3个,则返回偏度,否则返回Double.NaN。
-
getKurtosis
public double getKurtosis()返回可用值的峰度。峰度是分布“尖峰度”的度量。- 返回:
- 如果添加的值少于4个,则返回峰度,否则返回Double.NaN。
-
getMax
public double getMax()返回可用值的最大值- 指定者:
-
getMax
在接口中StatisticalSummary
- 返回:
- 如果未添加任何值,则返回最大值或Double.NaN。
-
getMin
public double getMin()返回可用值的最小值- 指定者:
-
getMin
在接口中StatisticalSummary
- 返回:
- 如果未添加任何值,则返回最小值或Double.NaN。
-
getSum
public double getSum()返回已添加到Univariate的值的总和。- 指定者:
-
getSum
在接口中StatisticalSummary
- 返回:
- 如果未添加任何值,则返回总和或Double.NaN。
-
getSumOfSquares
public double getSumOfSquares()返回可用值的平方和。- 返回:
- 如果未添加任何值,则返回平方和或Double.NaN。
-
getPercentile
返回存储值的第pth百分位数的估计值。此处提供的实现遵循此处介绍的第一个估算过程。
前提条件:
0 < p ≤ 100
(否则会抛出MathIllegalArgumentException
)- 必须至少存储一个值(否则返回
Double.NaN
)
- 参数:
-
p
- 请求的百分位数(从0到100进行缩放) - 返回:
- 存储数据的第pth百分位数的估计值
- 抛出:
-
MathIllegalArgumentException
- 如果p不是有效的分位数
-
getN
public long getN()返回可用值的数量- 指定者:
-
getN
在接口中StatisticalSummary
- 返回:
- 可用值的数量
-
getWindowSize
public int getWindowSize()返回数据集中可以存储的最大值的数量,如果没有限制,则返回INFINITE_WINDOW(-1)。- 返回:
- 当前窗口大小或-1(如果为无限)。
-
setWindowSize
WindowSize控制对报告的统计数据有贡献的值的数量。例如,如果windowSize设置为3,并且值{1,2,3,4,5}已按照该顺序添加,则可用值为{3,4,5},并且所有报告的统计数据将基于这些值。如果由于此调用而减小了windowSize
,并且当前数据集中的元素多于新值,则从数组的前面丢弃值,以将数据集减少到windowSize
元素。- 参数:
-
windowSize
- 设置窗口的大小。 - 抛出:
-
MathIllegalArgumentException
- 如果窗口大小小于1但不等于INFINITE_WINDOW
-
getValues
public double[] getValues()返回以double原始值数组的形式的当前值集。保留添加顺序。返回的数组是底层数据的新副本--即,它不是对存储数据的引用。- 返回:
- 以添加到此集合的顺序显示的当前数字集
-
getSortedValues
public double[] getSortedValues()返回以升序排序的double原始值数组的当前值集。返回的数组是底层数据的新副本--即,它不是对存储数据的引用。- 返回:
- 返回以升序排序的当前数字集
-
getElement
public double getElement(int index) 返回指定索引处的元素- 参数:
-
index
- 元素的索引 - 返回:
- 返回指定索引处的元素
-
toString
生成显示已添加值的单变量统计信息的文本报告。每个统计信息显示在单独的一行上。
-