类 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 实例。protectedDescriptiveStatistics(DescriptiveStatistics original) 复制构造函数。 -
方法概要
修饰符和类型方法说明voidaccept(double v) voidaddValue(double v) 将值添加到数据集中。doubleapply(UnivariateStatistic stat) 将给定的统计量应用于与此统计集相关的数据。voidclear()重置所有统计信息和存储。copy()返回具有相同内部状态的此 DescriptiveStatistics 实例的副本。doublegetElement(int index) 返回指定索引处的元素。double返回可用值的几何平均值。double返回可用值的峰度。doublegetMax()返回可用值的最大值。doublegetMean()返回可用值的算术平均值。doublegetMin()返回可用值的最小值。longgetN()返回可用值的数量。doublegetPercentile(double p) 返回存储值的 pth 百分位数的估计值。double返回可用值的总体方差。double返回可用值的平方均值。double返回可用值的偏度。double[]返回以升序排序的双精度原始数组中的当前值集。double返回可用值的标准偏差。doublegetSum()返回已添加到 Univariate 的值的总和。double返回可用值的平方和。double[]返回双精度原始数组中的当前值集。double返回可用值的方差。int返回数据集中可以存储的最大值,如果没有限制则返回 INFINITE_WINDOW(-1)。void从数据集中删除最近的值。doublereplaceMostRecentValue(double v) 用给定值替换最近存储的值。voidsetWindowSize(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
生成显示已添加值的单变量统计信息的文本报告。每个统计信息显示在单独的一行上。
-