Class SummaryStatistics
 java.lang.Object

 org.apache.commons.math4.legacy.stat.descriptive.SummaryStatistics

 All Implemented Interfaces:
StatisticalSummary
 Direct Known Subclasses:
SynchronizedSummaryStatistics
public class SummaryStatistics extends Object implements StatisticalSummary
Computes summary statistics for a stream of data values added using the
addValue
method. The data values are not stored in memory, so this class can be used to compute statistics for very large data streams.The
StorelessUnivariateStatistic
instances used to maintain summary state and compute statistics are configurable via setters. For example, the default implementation for the variance can be overridden by callingsetVarianceImpl(StorelessUnivariateStatistic)
. Actual parameters to these methods must implement theStorelessUnivariateStatistic
interface and configuration must be completed beforeaddValue
is called. No configuration is necessary to use the default, commonsmath provided implementations.Note: This class is not threadsafe. Use
SynchronizedSummaryStatistics
if concurrent access from multiple threads is required.


Constructor Summary
Constructors Constructor Description SummaryStatistics()
Construct a SummaryStatistics instance.SummaryStatistics(SummaryStatistics original)
A copy constructor.

Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addValue(double value)
Add a value to the data.void
clear()
Resets all statistics and storage.SummaryStatistics
copy()
Returns a copy of this SummaryStatistics instance with the same internal state.static void
copy(SummaryStatistics source, SummaryStatistics dest)
Copies source to dest.boolean
equals(Object object)
Returns true iffobject
is aSummaryStatistics
instance and all statistics have the same values as this.StorelessUnivariateStatistic
getGeoMeanImpl()
Returns the currently configured geometric mean implementation.double
getGeometricMean()
Returns the geometric mean of the values that have been added.double
getMax()
Returns the maximum of the values that have been added.StorelessUnivariateStatistic
getMaxImpl()
Returns the currently configured maximum implementation.double
getMean()
Returns the mean of the values that have been added.StorelessUnivariateStatistic
getMeanImpl()
Returns the currently configured mean implementation.double
getMin()
Returns the minimum of the values that have been added.StorelessUnivariateStatistic
getMinImpl()
Returns the currently configured minimum implementation.long
getN()
Returns the number of available values.double
getPopulationVariance()
Returns the population variance of the values that have been added.double
getQuadraticMean()
Returns the quadratic mean, a.k.a.double
getSecondMoment()
Returns a statistic related to the Second Central Moment.double
getStandardDeviation()
Returns the standard deviation of the values that have been added.double
getSum()
Returns the sum of the values that have been added.StorelessUnivariateStatistic
getSumImpl()
Returns the currently configured Sum implementation.StorelessUnivariateStatistic
getSumLogImpl()
Returns the currently configured sum of logs implementation.StatisticalSummary
getSummary()
Return aStatisticalSummaryValues
instance reporting current statistics.double
getSumOfLogs()
Returns the sum of the logs of the values that have been added.double
getSumsq()
Returns the sum of the squares of the values that have been added.StorelessUnivariateStatistic
getSumsqImpl()
Returns the currently configured sum of squares implementation.double
getVariance()
Returns the (sample) variance of the available values.StorelessUnivariateStatistic
getVarianceImpl()
Returns the currently configured variance implementation.int
hashCode()
Returns hash code based on values of statistics.void
setGeoMeanImpl(StorelessUnivariateStatistic geoMeanImpl)
Sets the implementation for the geometric mean.void
setMaxImpl(StorelessUnivariateStatistic maxImpl)
Sets the implementation for the maximum.void
setMeanImpl(StorelessUnivariateStatistic meanImpl)
Sets the implementation for the mean.void
setMinImpl(StorelessUnivariateStatistic minImpl)
Sets the implementation for the minimum.void
setSumImpl(StorelessUnivariateStatistic sumImpl)
Sets the implementation for the Sum.void
setSumLogImpl(StorelessUnivariateStatistic sumLogImpl)
Sets the implementation for the sum of logs.void
setSumsqImpl(StorelessUnivariateStatistic sumsqImpl)
Sets the implementation for the sum of squares.void
setVarianceImpl(StorelessUnivariateStatistic varianceImpl)
Sets the implementation for the variance.String
toString()
Generates a text report displaying summary statistics from values that have been added.



Constructor Detail

SummaryStatistics
public SummaryStatistics()
Construct a SummaryStatistics instance.

SummaryStatistics
public SummaryStatistics(SummaryStatistics original) throws NullArgumentException
A copy constructor. Creates a deepcopy of theoriginal
. Parameters:
original
 theSummaryStatistics
instance to copy Throws:
NullArgumentException
 if original is null


Method Detail

getSummary
public StatisticalSummary getSummary()
Return aStatisticalSummaryValues
instance reporting current statistics. Returns:
 Current values of statistics

addValue
public void addValue(double value)
Add a value to the data. Parameters:
value
 the value to add

getN
public long getN()
Returns the number of available values. Specified by:
getN
in interfaceStatisticalSummary
 Returns:
 The number of available values

getSum
public double getSum()
Returns the sum of the values that have been added. Specified by:
getSum
in interfaceStatisticalSummary
 Returns:
 The sum or
Double.NaN
if no values have been added

getSumsq
public double getSumsq()
Returns the sum of the squares of the values that have been added.Double.NaN is returned if no values have been added.
 Returns:
 The sum of squares

getMean
public double getMean()
Returns the mean of the values that have been added.Double.NaN is returned if no values have been added.
 Specified by:
getMean
in interfaceStatisticalSummary
 Returns:
 the mean

getStandardDeviation
public double getStandardDeviation()
Returns the standard deviation of the values that have been added.Double.NaN is returned if no values have been added.
 Specified by:
getStandardDeviation
in interfaceStatisticalSummary
 Returns:
 the standard deviation

getQuadraticMean
public double getQuadraticMean()
Returns the quadratic mean, a.k.a. rootmeansquare of the available values Returns:
 The quadratic mean or
Double.NaN
if no values have been added.

getVariance
public double getVariance()
Returns the (sample) variance of the available values.This method returns the biascorrected sample variance (using
n  1
in the denominator). UsegetPopulationVariance()
for the nonbiascorrected population variance.Double.NaN is returned if no values have been added.
 Specified by:
getVariance
in interfaceStatisticalSummary
 Returns:
 the variance

getPopulationVariance
public double getPopulationVariance()
Returns the population variance of the values that have been added.Double.NaN is returned if no values have been added.
 Returns:
 the population variance

getMax
public double getMax()
Returns the maximum of the values that have been added.Double.NaN is returned if no values have been added.
 Specified by:
getMax
in interfaceStatisticalSummary
 Returns:
 the maximum

getMin
public double getMin()
Returns the minimum of the values that have been added.Double.NaN is returned if no values have been added.
 Specified by:
getMin
in interfaceStatisticalSummary
 Returns:
 the minimum

getGeometricMean
public double getGeometricMean()
Returns the geometric mean of the values that have been added.Double.NaN is returned if no values have been added.
 Returns:
 the geometric mean

getSumOfLogs
public double getSumOfLogs()
Returns the sum of the logs of the values that have been added.Double.NaN is returned if no values have been added.
 Returns:
 the sum of logs
 Since:
 1.2

getSecondMoment
public double getSecondMoment()
Returns a statistic related to the Second Central Moment. Specifically, what is returned is the sum of squared deviations from the sample mean among the values that have been added.Returns
Double.NaN
if no data values have been added and returns0
if there is just one value in the data set. Returns:
 second central moment statistic
 Since:
 2.0

toString
public String toString()
Generates a text report displaying summary statistics from values that have been added.

clear
public void clear()
Resets all statistics and storage.

equals
public boolean equals(Object object)
Returns true iffobject
is aSummaryStatistics
instance and all statistics have the same values as this.

hashCode
public int hashCode()
Returns hash code based on values of statistics.

getSumImpl
public StorelessUnivariateStatistic getSumImpl()
Returns the currently configured Sum implementation. Returns:
 the StorelessUnivariateStatistic implementing the sum
 Since:
 1.2

setSumImpl
public void setSumImpl(StorelessUnivariateStatistic sumImpl) throws MathIllegalStateException
Sets the implementation for the Sum.
This method cannot be activated after data has been added  i.e., after
addValue
has been used to add data. If it is activated after data has been added, an IllegalStateException will be thrown. Parameters:
sumImpl
 the StorelessUnivariateStatistic instance to use for computing the Sum Throws:
MathIllegalStateException
 if data has already been added (i.e if n >0) Since:
 1.2

getSumsqImpl
public StorelessUnivariateStatistic getSumsqImpl()
Returns the currently configured sum of squares implementation. Returns:
 the StorelessUnivariateStatistic implementing the sum of squares
 Since:
 1.2

setSumsqImpl
public void setSumsqImpl(StorelessUnivariateStatistic sumsqImpl) throws MathIllegalStateException
Sets the implementation for the sum of squares.
This method cannot be activated after data has been added  i.e., after
addValue
has been used to add data. If it is activated after data has been added, an IllegalStateException will be thrown. Parameters:
sumsqImpl
 the StorelessUnivariateStatistic instance to use for computing the sum of squares Throws:
MathIllegalStateException
 if data has already been added (i.e if n > 0) Since:
 1.2

getMinImpl
public StorelessUnivariateStatistic getMinImpl()
Returns the currently configured minimum implementation. Returns:
 the StorelessUnivariateStatistic implementing the minimum
 Since:
 1.2

setMinImpl
public void setMinImpl(StorelessUnivariateStatistic minImpl) throws MathIllegalStateException
Sets the implementation for the minimum.
This method cannot be activated after data has been added  i.e., after
addValue
has been used to add data. If it is activated after data has been added, an IllegalStateException will be thrown. Parameters:
minImpl
 the StorelessUnivariateStatistic instance to use for computing the minimum Throws:
MathIllegalStateException
 if data has already been added (i.e if n > 0) Since:
 1.2

getMaxImpl
public StorelessUnivariateStatistic getMaxImpl()
Returns the currently configured maximum implementation. Returns:
 the StorelessUnivariateStatistic implementing the maximum
 Since:
 1.2

setMaxImpl
public void setMaxImpl(StorelessUnivariateStatistic maxImpl) throws MathIllegalStateException
Sets the implementation for the maximum.
This method cannot be activated after data has been added  i.e., after
addValue
has been used to add data. If it is activated after data has been added, an IllegalStateException will be thrown. Parameters:
maxImpl
 the StorelessUnivariateStatistic instance to use for computing the maximum Throws:
MathIllegalStateException
 if data has already been added (i.e if n > 0) Since:
 1.2

getSumLogImpl
public StorelessUnivariateStatistic getSumLogImpl()
Returns the currently configured sum of logs implementation. Returns:
 the StorelessUnivariateStatistic implementing the log sum
 Since:
 1.2

setSumLogImpl
public void setSumLogImpl(StorelessUnivariateStatistic sumLogImpl) throws MathIllegalStateException
Sets the implementation for the sum of logs.
This method cannot be activated after data has been added  i.e., after
addValue
has been used to add data. If it is activated after data has been added, an IllegalStateException will be thrown. Parameters:
sumLogImpl
 the StorelessUnivariateStatistic instance to use for computing the log sum Throws:
MathIllegalStateException
 if data has already been added (i.e if n > 0) Since:
 1.2

getGeoMeanImpl
public StorelessUnivariateStatistic getGeoMeanImpl()
Returns the currently configured geometric mean implementation. Returns:
 the StorelessUnivariateStatistic implementing the geometric mean
 Since:
 1.2

setGeoMeanImpl
public void setGeoMeanImpl(StorelessUnivariateStatistic geoMeanImpl) throws MathIllegalStateException
Sets the implementation for the geometric mean.
This method cannot be activated after data has been added  i.e., after
addValue
has been used to add data. If it is activated after data has been added, an IllegalStateException will be thrown. Parameters:
geoMeanImpl
 the StorelessUnivariateStatistic instance to use for computing the geometric mean Throws:
MathIllegalStateException
 if data has already been added (i.e if n > 0) Since:
 1.2

getMeanImpl
public StorelessUnivariateStatistic getMeanImpl()
Returns the currently configured mean implementation. Returns:
 the StorelessUnivariateStatistic implementing the mean
 Since:
 1.2

setMeanImpl
public void setMeanImpl(StorelessUnivariateStatistic meanImpl) throws MathIllegalStateException
Sets the implementation for the mean.
This method cannot be activated after data has been added  i.e., after
addValue
has been used to add data. If it is activated after data has been added, an IllegalStateException will be thrown. Parameters:
meanImpl
 the StorelessUnivariateStatistic instance to use for computing the mean Throws:
MathIllegalStateException
 if data has already been added (i.e if n > 0) Since:
 1.2

getVarianceImpl
public StorelessUnivariateStatistic getVarianceImpl()
Returns the currently configured variance implementation. Returns:
 the StorelessUnivariateStatistic implementing the variance
 Since:
 1.2

setVarianceImpl
public void setVarianceImpl(StorelessUnivariateStatistic varianceImpl) throws MathIllegalStateException
Sets the implementation for the variance.
This method cannot be activated after data has been added  i.e., after
addValue
has been used to add data. If it is activated after data has been added, an IllegalStateException will be thrown. Parameters:
varianceImpl
 the StorelessUnivariateStatistic instance to use for computing the variance Throws:
MathIllegalStateException
 if data has already been added (i.e if n > 0) Since:
 1.2

copy
public SummaryStatistics copy()
Returns a copy of this SummaryStatistics instance with the same internal state. Returns:
 a copy of this

copy
public static void copy(SummaryStatistics source, SummaryStatistics dest) throws NullArgumentException
Copies source to dest.Neither source nor dest can be null.
 Parameters:
source
 SummaryStatistics to copydest
 SummaryStatistics to copy to Throws:
NullArgumentException
 if either source or dest is null

