Class TDigestAccumulator
- java.lang.Object
-
- org.djutils.stats.summarizers.quantileaccumulator.TDigestAccumulator
-
- All Implemented Interfaces:
QuantileAccumulator
public class TDigestAccumulator extends Object implements QuantileAccumulator
TDigestAccumulator.java.
Copyright (c) 2020-2023 Delft University of Technology, Jaffalaan 5, 2628 BX Delft, the Netherlands. All rights reserved. See for project information https://djutils.org. The DJUTILS project is distributed under a three-clause BSD-style license, which can be found at https://djutils.org/docs/license.html.- Author:
- Alexander Verbraeck, Peter Knoppers
-
-
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_COMPRESSIONThe compression used by the parameter-less constructor.
-
Constructor Summary
Constructors Constructor Description TDigestAccumulator()Construct a new TDigestAccumulator with compression set toDEFAULT_COMPRESSION.TDigestAccumulator(int compression)Construct a new TDigestAccumulator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description doublegetCumulativeProbability(Tally tally, double quantile)Get, or estimate fraction of registered values between -infinity up to and including a given quantile.doublegetQuantile(Tally tally, double probability)Compute (or approximate) the value that corresponds to the given fraction (percentile).voidinitialize()Reset (clear all accumulated information).doubleregister(double value)Ingest one value with weight 1.StringtoString()
-
-
-
Field Detail
-
DEFAULT_COMPRESSION
public static final int DEFAULT_COMPRESSION
The compression used by the parameter-less constructor.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
TDigestAccumulator
public TDigestAccumulator(int compression)
Construct a new TDigestAccumulator.- Parameters:
compression- int; the number of bins to compress the data into
-
TDigestAccumulator
public TDigestAccumulator()
Construct a new TDigestAccumulator with compression set toDEFAULT_COMPRESSION.
-
-
Method Detail
-
register
public 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.- Specified by:
registerin interfaceQuantileAccumulator- Parameters:
value- double; the value- Returns:
- double; the registered value
-
getQuantile
public double getQuantile(Tally tally, double probability)
Compute (or approximate) the value that corresponds to the given fraction (percentile).- Specified by:
getQuantilein interfaceQuantileAccumulator- 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
-
getCumulativeProbability
public double getCumulativeProbability(Tally tally, double quantile)
Get, or estimate fraction of registered values between -infinity up to and including a given quantile.- Specified by:
getCumulativeProbabilityin interfaceQuantileAccumulator- 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.
-
initialize
public void initialize()
Reset (clear all accumulated information).- Specified by:
initializein interfaceQuantileAccumulator
-
-