类 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,并且添加的值多于数据集中可以存储的值,则新值将以“滚动”方式添加,新值将替换数据集中的“最旧”值。

注意:此类不是线程安全的。

另请参阅:
  • 字段详细资料

    • INFINITE_WINDOW

      protected static final int INFINITE_WINDOW
      表示无限窗口大小。当 getWindowSize() 返回此值时,数据集中可以存储的数据值数量没有限制。
      另请参阅:
  • 构造器详细资料

    • DescriptiveStatistics

      public DescriptiveStatistics()
      使用无限窗口大小构造 DescriptiveStatistics 实例。
    • DescriptiveStatistics

      public DescriptiveStatistics(int size) throws MathIllegalArgumentException
      使用指定窗口大小构造 DescriptiveStatistics 实例。
      参数:
      size - 窗口大小。
      抛出:
      MathIllegalArgumentException - 如果窗口大小小于1但不等于 INFINITE_WINDOW
    • DescriptiveStatistics

      public DescriptiveStatistics(double[] initialDoubleArray)
      使用无限窗口大小和双精度数组中的初始数据值构造 DescriptiveStatistics 实例。
      参数:
      initialDoubleArray - 初始双精度数组。
      抛出:
      NullArgumentException - 如果输入数组为 null
    • DescriptiveStatistics

      protected DescriptiveStatistics(DescriptiveStatistics original)
      复制构造函数。

      构造一个新的 DescriptiveStatistics 实例,其副本与原始实例相同。

      参数:
      original - 要复制的 DescriptiveStatistics 实例
      抛出:
      NullArgumentException - 如果 original 为 null
  • 方法详细资料

    • copy

      public DescriptiveStatistics copy()
      返回具有相同内部状态的此 DescriptiveStatistics 实例的副本。
      返回:
      此实例的副本
    • addValue

      public void addValue(double v)
      将值添加到数据集中。如果数据集达到最大大小(即,存储的元素数量等于当前配置的 windowSize),则数据集中的第一个(最旧的)元素将被丢弃,以为新值腾出空间。
      参数:
      v - 要添加的值
    • accept

      public void accept(double v)
      指定者:
      accept 在接口中 DoubleConsumer
    • clear

      public void clear()
      重置所有统计信息和存储。
    • removeMostRecentValue

      public void removeMostRecentValue() throws MathIllegalStateException
      从数据集中删除最近的值。
      抛出:
      MathIllegalStateException - 如果没有存储元素
    • replaceMostRecentValue

      public double replaceMostRecentValue(double v) throws MathIllegalStateException
      用给定值替换最近存储的值。必须至少存储一个元素才能调用此方法。
      参数:
      v - 要替换最近存储的值的值
      返回:
      替换的值
      抛出:
      MathIllegalStateException - 如果没有存储元素
    • apply

      public double apply(UnivariateStatistic stat)
      将给定的统计量应用于与此统计集相关的数据。
      参数:
      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

      public double getPercentile(double p) throws MathIllegalArgumentException
      返回存储值的第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

      public void setWindowSize(int windowSize) throws MathIllegalArgumentException
      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

      public String toString()
      生成显示已添加值的单变量统计信息的文本报告。每个统计信息显示在单独的一行上。
      覆盖:
      toString 在类中 Object
      返回:
      显示统计信息的带有换行符的字符串