Class SampleStatistic
- java.lang.Object
-
- com.aspectran.core.util.statistic.SampleStatistic
-
public class SampleStatistic extends java.lang.Object
Statistics on a sampled value.
Provides max, total, mean, count, variance, and standard deviation of continuous sequence of samples.
Calculates estimates of mean, variance, and standard deviation characteristics of a sample using a non synchronized approximation of the on-line algorithm presented in Donald Knuth's Art of Computer Programming, Volume 2, Semi numerical Algorithms, 3rd edition, page 232, Boston: Addison-Wesley. That cites a 1962 paper by B.P. Welford: Note on a Method for Calculating Corrected Sums of Squares and Products
This algorithm is also described in Wikipedia in the section "Online algorithm": Algorithms for calculating variance.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.concurrent.atomic.AtomicLong
count
protected java.util.concurrent.atomic.LongAccumulator
max
protected java.util.concurrent.atomic.AtomicLong
total
protected java.util.concurrent.atomic.LongAdder
totalVariance100
-
Constructor Summary
Constructors Constructor Description SampleStatistic()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description long
getCount()
long
getMax()
double
getMean()
double
getStdDev()
long
getTotal()
double
getVariance()
void
record(long sample)
Records a sample value.void
reset()
Resets the statistics.java.lang.String
toString()
-
-
-
Field Detail
-
max
protected final java.util.concurrent.atomic.LongAccumulator max
-
total
protected final java.util.concurrent.atomic.AtomicLong total
-
count
protected final java.util.concurrent.atomic.AtomicLong count
-
totalVariance100
protected final java.util.concurrent.atomic.LongAdder totalVariance100
-
-
Method Detail
-
reset
public void reset()
Resets the statistics.
-
record
public void record(long sample)
Records a sample value.- Parameters:
sample
- the value to record.
-
getMax
public long getMax()
- Returns:
- the max value of the recorded samples
-
getTotal
public long getTotal()
- Returns:
- the sum of all the recorded samples
-
getCount
public long getCount()
- Returns:
- the number of samples recorded
-
getMean
public double getMean()
- Returns:
- the average value of the samples recorded, or zero if there are no samples
-
getVariance
public double getVariance()
- Returns:
- the variance of the samples recorded, or zero if there are less than 2 samples
-
getStdDev
public double getStdDev()
- Returns:
- the standard deviation of the samples recorded
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-