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-2021 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 int
DEFAULT_COMPRESSION
The 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 double
getCumulativeProbability(Tally tally, double quantile)
Get, or estimate fraction of ingested 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).double
ingest(double value)
Ingest one value with weight 1.void
initialize()
Reset (clear all accumulated information).String
toString()
-
-
-
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
-
ingest
public double ingest(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:
ingest
in interfaceQuantileAccumulator
- Parameters:
value
- double; the value- Returns:
- double; the ingested value
-
getQuantile
public double getQuantile(Tally tally, double probability)
Compute (or approximate) the value that corresponds to the given fraction (percentile).- Specified by:
getQuantile
in 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 ingested values between -infinity up to and including a given quantile.- Specified by:
getCumulativeProbability
in 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 ingested values between -infinity up to and including the given quantile. When this QuantileAccumulator has ingested zero values; this method shall return NaN.
-
initialize
public void initialize()
Reset (clear all accumulated information).- Specified by:
initialize
in interfaceQuantileAccumulator
-
-