Interface QuantileAccumulator

All Known Implementing Classes:
FixedBinsAccumulator, FullStorageAccumulator, NoStorageAccumulator, TDigestAccumulator

public interface QuantileAccumulator
Interface for quantile accumulator.
Author:
Peter Knoppers
  • Method Summary

    Modifier and Type
    Method
    Description
    double
    getCumulativeProbability(Tally tally, double quantile)
    Get, or estimate fraction of registered values between -infinity up to and including a given quantile.
    double
    getQuantile(Tally tally, double probability)
    Compute (or approximate) the value that corresponds to the given fraction (percentile).
    void
    Reset (clear all accumulated information).
    double
    register(double value)
    Ingest one value with weight 1.
  • Method Details

    • register

      double register(double value)
      Ingest one value with weight 1. Should be called only from the Tally object and AFTER processing the value in the tally.
      Parameters:
      value - double; the value
      Returns:
      double; the registered value
      Throws:
      IllegalArgumentException - when the registered value is NaN
    • getQuantile

      double getQuantile(Tally tally, double probability)
      Compute (or approximate) the value that corresponds to the given fraction (percentile).
      Parameters:
      tally - Tally; the tally object that accumulates mean, minimum, maximum, count, etc.
      probability - double; value between 0.0 and 1.0 (both inclusive)
      Returns:
      double; the computed or approximated quantile value
      Throws:
      IllegalArgumentException - when the probability is less than 0 or larger than 1
      NullPointerException - when tally is null
    • getCumulativeProbability

      double getCumulativeProbability(Tally tally, double quantile) throws IllegalArgumentException
      Get, or estimate fraction of registered values between -infinity up to and including a given quantile.
      Parameters:
      tally - Tally; the tally object that accumulates mean, minimum, maximum, count, etc.
      quantile - double; the given quantile
      Returns:
      double; the estimated or observed fraction of registered values between -infinity up to and including the given quantile. When this QuantileAccumulator has registered zero values; this method shall return NaN.
      Throws:
      IllegalArgumentException - when quantile is NaN
    • initialize

      void initialize()
      Reset (clear all accumulated information).