Class SynchronizedMultivariateSummaryStatistics
- java.lang.Object
-
- org.apache.commons.math4.legacy.stat.descriptive.MultivariateSummaryStatistics
-
- org.apache.commons.math4.legacy.stat.descriptive.SynchronizedMultivariateSummaryStatistics
-
- All Implemented Interfaces:
StatisticalMultivariateSummary
public class SynchronizedMultivariateSummaryStatistics extends MultivariateSummaryStatistics
Implementation ofMultivariateSummaryStatisticsthat is safe to use in a multithreaded environment. Multiple threads can safely operate on a single instance without causing runtime exceptions due to race conditions. In effect, this implementation makes modification and access methods atomic operations for a single instance. That is to say, as one thread is computing a statistic from the instance, no other thread can modify the instance nor compute another statistic.- Since:
- 1.2
-
-
Constructor Summary
Constructors Constructor Description SynchronizedMultivariateSummaryStatistics(int k, boolean isCovarianceBiasCorrected)Construct a SynchronizedMultivariateSummaryStatistics instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddValue(double[] value)Add an n-tuple to the data.voidclear()Resets all statistics and storage.booleanequals(Object object)Returns true iffobjectis aMultivariateSummaryStatisticsinstance and all statistics have the same values as this.RealMatrixgetCovariance()Returns the covariance matrix of the values that have been added.intgetDimension()Returns the dimension of the data.StorelessUnivariateStatistic[]getGeoMeanImpl()Returns the currently configured geometric mean implementation.double[]getGeometricMean()Returns an array whose ith entry is the geometric mean of the.double[]getMax()Returns an array whose ith entry is the maximum of the.StorelessUnivariateStatistic[]getMaxImpl()Returns the currently configured maximum implementation.double[]getMean()Returns an array whose ith entry is the mean of the.StorelessUnivariateStatistic[]getMeanImpl()Returns the currently configured mean implementation.double[]getMin()Returns an array whose ith entry is the minimum of the.StorelessUnivariateStatistic[]getMinImpl()Returns the currently configured minimum implementation.longgetN()Returns the number of available values.double[]getStandardDeviation()Returns an array whose ith entry is the standard deviation of the.double[]getSum()Returns an array whose ith entry is the sum of the.StorelessUnivariateStatistic[]getSumImpl()Returns the currently configured Sum implementation.double[]getSumLog()Returns an array whose ith entry is the sum of logs of the.StorelessUnivariateStatistic[]getSumLogImpl()Returns the currently configured sum of logs implementation.double[]getSumSq()Returns an array whose ith entry is the sum of squares of the.StorelessUnivariateStatistic[]getSumsqImpl()Returns the currently configured sum of squares implementation.inthashCode()Returns hash code based on values of statistics.voidsetGeoMeanImpl(StorelessUnivariateStatistic[] geoMeanImpl)Sets the implementation for the geometric mean.voidsetMaxImpl(StorelessUnivariateStatistic[] maxImpl)Sets the implementation for the maximum.voidsetMeanImpl(StorelessUnivariateStatistic[] meanImpl)Sets the implementation for the mean.voidsetMinImpl(StorelessUnivariateStatistic[] minImpl)Sets the implementation for the minimum.voidsetSumImpl(StorelessUnivariateStatistic[] sumImpl)Sets the implementation for the Sum.voidsetSumLogImpl(StorelessUnivariateStatistic[] sumLogImpl)Sets the implementation for the sum of logs.voidsetSumsqImpl(StorelessUnivariateStatistic[] sumsqImpl)Sets the implementation for the sum of squares.StringtoString()Generates a text report displaying summary statistics from values that have been added.
-
-
-
Constructor Detail
-
SynchronizedMultivariateSummaryStatistics
public SynchronizedMultivariateSummaryStatistics(int k, boolean isCovarianceBiasCorrected)
Construct a SynchronizedMultivariateSummaryStatistics instance.- Parameters:
k- dimension of the dataisCovarianceBiasCorrected- if true, the unbiased sample covariance is computed, otherwise the biased population covariance is computed
-
-
Method Detail
-
addValue
public void addValue(double[] value) throws DimensionMismatchException
Add an n-tuple to the data.- Overrides:
addValuein classMultivariateSummaryStatistics- Parameters:
value- the n-tuple to add- Throws:
DimensionMismatchException- if the length of the array does not match the one used at construction
-
getDimension
public int getDimension()
Returns the dimension of the data.- Specified by:
getDimensionin interfaceStatisticalMultivariateSummary- Overrides:
getDimensionin classMultivariateSummaryStatistics- Returns:
- The dimension of the data
-
getN
public long getN()
Returns the number of available values.- Specified by:
getNin interfaceStatisticalMultivariateSummary- Overrides:
getNin classMultivariateSummaryStatistics- Returns:
- The number of available values
-
getSum
public double[] getSum()
Returns an array whose ith entry is the sum of the. ith entries of the arrays that have been added usingMultivariateSummaryStatistics.addValue(double[])- Specified by:
getSumin interfaceStatisticalMultivariateSummary- Overrides:
getSumin classMultivariateSummaryStatistics- Returns:
- the array of component sums
-
getSumSq
public double[] getSumSq()
Returns an array whose ith entry is the sum of squares of the. ith entries of the arrays that have been added usingMultivariateSummaryStatistics.addValue(double[])- Specified by:
getSumSqin interfaceStatisticalMultivariateSummary- Overrides:
getSumSqin classMultivariateSummaryStatistics- Returns:
- the array of component sums of squares
-
getSumLog
public double[] getSumLog()
Returns an array whose ith entry is the sum of logs of the. ith entries of the arrays that have been added usingMultivariateSummaryStatistics.addValue(double[])- Specified by:
getSumLogin interfaceStatisticalMultivariateSummary- Overrides:
getSumLogin classMultivariateSummaryStatistics- Returns:
- the array of component log sums
-
getMean
public double[] getMean()
Returns an array whose ith entry is the mean of the. ith entries of the arrays that have been added usingMultivariateSummaryStatistics.addValue(double[])- Specified by:
getMeanin interfaceStatisticalMultivariateSummary- Overrides:
getMeanin classMultivariateSummaryStatistics- Returns:
- the array of component means
-
getStandardDeviation
public double[] getStandardDeviation()
Returns an array whose ith entry is the standard deviation of the. ith entries of the arrays that have been added usingMultivariateSummaryStatistics.addValue(double[])- Specified by:
getStandardDeviationin interfaceStatisticalMultivariateSummary- Overrides:
getStandardDeviationin classMultivariateSummaryStatistics- Returns:
- the array of component standard deviations
-
getCovariance
public RealMatrix getCovariance()
Returns the covariance matrix of the values that have been added.- Specified by:
getCovariancein interfaceStatisticalMultivariateSummary- Overrides:
getCovariancein classMultivariateSummaryStatistics- Returns:
- the covariance matrix
-
getMax
public double[] getMax()
Returns an array whose ith entry is the maximum of the. ith entries of the arrays that have been added usingMultivariateSummaryStatistics.addValue(double[])- Specified by:
getMaxin interfaceStatisticalMultivariateSummary- Overrides:
getMaxin classMultivariateSummaryStatistics- Returns:
- the array of component maxima
-
getMin
public double[] getMin()
Returns an array whose ith entry is the minimum of the. ith entries of the arrays that have been added usingMultivariateSummaryStatistics.addValue(double[])- Specified by:
getMinin interfaceStatisticalMultivariateSummary- Overrides:
getMinin classMultivariateSummaryStatistics- Returns:
- the array of component minima
-
getGeometricMean
public double[] getGeometricMean()
Returns an array whose ith entry is the geometric mean of the. ith entries of the arrays that have been added usingMultivariateSummaryStatistics.addValue(double[])- Specified by:
getGeometricMeanin interfaceStatisticalMultivariateSummary- Overrides:
getGeometricMeanin classMultivariateSummaryStatistics- Returns:
- the array of component geometric means
-
toString
public String toString()
Generates a text report displaying summary statistics from values that have been added.- Overrides:
toStringin classMultivariateSummaryStatistics- Returns:
- String with line feeds displaying statistics
-
clear
public void clear()
Resets all statistics and storage.- Overrides:
clearin classMultivariateSummaryStatistics
-
equals
public boolean equals(Object object)
Returns true iffobjectis aMultivariateSummaryStatisticsinstance and all statistics have the same values as this.- Overrides:
equalsin classMultivariateSummaryStatistics- Parameters:
object- the object to test equality against.- Returns:
- true if object equals this
-
hashCode
public int hashCode()
Returns hash code based on values of statistics.- Overrides:
hashCodein classMultivariateSummaryStatistics- Returns:
- hash code
-
getSumImpl
public StorelessUnivariateStatistic[] getSumImpl()
Returns the currently configured Sum implementation.- Overrides:
getSumImplin classMultivariateSummaryStatistics- Returns:
- the StorelessUnivariateStatistic implementing the sum
-
setSumImpl
public void setSumImpl(StorelessUnivariateStatistic[] sumImpl) throws DimensionMismatchException, MathIllegalStateException
Sets the implementation for the Sum.
This method must be activated before any data has been added - i.e., before
addValuehas been used to add data; otherwise an IllegalStateException will be thrown.- Overrides:
setSumImplin classMultivariateSummaryStatistics- Parameters:
sumImpl- the StorelessUnivariateStatistic instance to use for computing the Sum- Throws:
DimensionMismatchException- if the array dimension does not match the one used at constructionMathIllegalStateException- if data has already been added (i.e if n > 0)
-
getSumsqImpl
public StorelessUnivariateStatistic[] getSumsqImpl()
Returns the currently configured sum of squares implementation.- Overrides:
getSumsqImplin classMultivariateSummaryStatistics- Returns:
- the StorelessUnivariateStatistic implementing the sum of squares
-
setSumsqImpl
public void setSumsqImpl(StorelessUnivariateStatistic[] sumsqImpl) throws DimensionMismatchException, MathIllegalStateException
Sets the implementation for the sum of squares.
This method must be activated before any data has been added - i.e., before
addValuehas been used to add data; otherwise an IllegalStateException will be thrown.- Overrides:
setSumsqImplin classMultivariateSummaryStatistics- Parameters:
sumsqImpl- the StorelessUnivariateStatistic instance to use for computing the sum of squares- Throws:
DimensionMismatchException- if the array dimension does not match the one used at constructionMathIllegalStateException- if data has already been added (i.e if n > 0)
-
getMinImpl
public StorelessUnivariateStatistic[] getMinImpl()
Returns the currently configured minimum implementation.- Overrides:
getMinImplin classMultivariateSummaryStatistics- Returns:
- the StorelessUnivariateStatistic implementing the minimum
-
setMinImpl
public void setMinImpl(StorelessUnivariateStatistic[] minImpl) throws DimensionMismatchException, MathIllegalStateException
Sets the implementation for the minimum.
This method must be activated before any data has been added - i.e., before
addValuehas been used to add data; otherwise an IllegalStateException will be thrown.- Overrides:
setMinImplin classMultivariateSummaryStatistics- Parameters:
minImpl- the StorelessUnivariateStatistic instance to use for computing the minimum- Throws:
DimensionMismatchException- if the array dimension does not match the one used at constructionMathIllegalStateException- if data has already been added (i.e if n > 0)
-
getMaxImpl
public StorelessUnivariateStatistic[] getMaxImpl()
Returns the currently configured maximum implementation.- Overrides:
getMaxImplin classMultivariateSummaryStatistics- Returns:
- the StorelessUnivariateStatistic implementing the maximum
-
setMaxImpl
public void setMaxImpl(StorelessUnivariateStatistic[] maxImpl) throws DimensionMismatchException, MathIllegalStateException
Sets the implementation for the maximum.
This method must be activated before any data has been added - i.e., before
addValuehas been used to add data; otherwise an IllegalStateException will be thrown.- Overrides:
setMaxImplin classMultivariateSummaryStatistics- Parameters:
maxImpl- the StorelessUnivariateStatistic instance to use for computing the maximum- Throws:
DimensionMismatchException- if the array dimension does not match the one used at constructionMathIllegalStateException- if data has already been added (i.e if n > 0)
-
getSumLogImpl
public StorelessUnivariateStatistic[] getSumLogImpl()
Returns the currently configured sum of logs implementation.- Overrides:
getSumLogImplin classMultivariateSummaryStatistics- Returns:
- the StorelessUnivariateStatistic implementing the log sum
-
setSumLogImpl
public void setSumLogImpl(StorelessUnivariateStatistic[] sumLogImpl) throws DimensionMismatchException, MathIllegalStateException
Sets the implementation for the sum of logs.
This method must be activated before any data has been added - i.e., before
addValuehas been used to add data; otherwise an IllegalStateException will be thrown.- Overrides:
setSumLogImplin classMultivariateSummaryStatistics- Parameters:
sumLogImpl- the StorelessUnivariateStatistic instance to use for computing the log sum- Throws:
DimensionMismatchException- if the array dimension does not match the one used at constructionMathIllegalStateException- if data has already been added (i.e if n > 0)
-
getGeoMeanImpl
public StorelessUnivariateStatistic[] getGeoMeanImpl()
Returns the currently configured geometric mean implementation.- Overrides:
getGeoMeanImplin classMultivariateSummaryStatistics- Returns:
- the StorelessUnivariateStatistic implementing the geometric mean
-
setGeoMeanImpl
public void setGeoMeanImpl(StorelessUnivariateStatistic[] geoMeanImpl) throws DimensionMismatchException, MathIllegalStateException
Sets the implementation for the geometric mean.
This method must be activated before any data has been added - i.e., before
addValuehas been used to add data; otherwise an IllegalStateException will be thrown.- Overrides:
setGeoMeanImplin classMultivariateSummaryStatistics- Parameters:
geoMeanImpl- the StorelessUnivariateStatistic instance to use for computing the geometric mean- Throws:
DimensionMismatchException- if the array dimension does not match the one used at constructionMathIllegalStateException- if data has already been added (i.e if n > 0)
-
getMeanImpl
public StorelessUnivariateStatistic[] getMeanImpl()
Returns the currently configured mean implementation.- Overrides:
getMeanImplin classMultivariateSummaryStatistics- Returns:
- the StorelessUnivariateStatistic implementing the mean
-
setMeanImpl
public void setMeanImpl(StorelessUnivariateStatistic[] meanImpl) throws DimensionMismatchException, MathIllegalStateException
Sets the implementation for the mean.
This method must be activated before any data has been added - i.e., before
addValuehas been used to add data; otherwise an IllegalStateException will be thrown.- Overrides:
setMeanImplin classMultivariateSummaryStatistics- Parameters:
meanImpl- the StorelessUnivariateStatistic instance to use for computing the mean- Throws:
DimensionMismatchException- if the array dimension does not match the one used at constructionMathIllegalStateException- if data has already been added (i.e if n > 0)
-
-