Class StorelessBivariateCovariance
- java.lang.Object
-
- org.apache.commons.math3.stat.correlation.StorelessBivariateCovariance
-
class StorelessBivariateCovariance extends java.lang.Object
Bivariate Covariance implementation that does not require input data to be stored in memory.This class is based on a paper written by Philippe Pébay: Formulas for Robust, One-Pass Parallel Computation of Covariances and Arbitrary-Order Statistical Moments, 2008, Technical Report SAND2008-6212, Sandia National Laboratories. It computes the covariance for a pair of variables. Use
StorelessCovariance
to estimate an entire covariance matrix.Note: This class is package private as it is only used internally in the
StorelessCovariance
class.- Since:
- 3.0
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
biasCorrected
flag for bias correctionprivate double
covarianceNumerator
the running covariance estimateprivate double
meanX
the mean of variable xprivate double
meanY
the mean of variable yprivate double
n
number of observations
-
Constructor Summary
Constructors Constructor Description StorelessBivariateCovariance()
Create an emptyStorelessBivariateCovariance
instance with bias correction.StorelessBivariateCovariance(boolean biasCorrection)
Create an emptyStorelessBivariateCovariance
instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
append(StorelessBivariateCovariance cov)
Appends another bivariate covariance calculation to this.double
getN()
Returns the number of observations.double
getResult()
Return the current covariance estimate.void
increment(double x, double y)
Update the covariance estimation with a pair of variables (x, y).
-
-
-
Field Detail
-
meanX
private double meanX
the mean of variable x
-
meanY
private double meanY
the mean of variable y
-
n
private double n
number of observations
-
covarianceNumerator
private double covarianceNumerator
the running covariance estimate
-
biasCorrected
private boolean biasCorrected
flag for bias correction
-
-
Constructor Detail
-
StorelessBivariateCovariance
StorelessBivariateCovariance()
Create an emptyStorelessBivariateCovariance
instance with bias correction.
-
StorelessBivariateCovariance
StorelessBivariateCovariance(boolean biasCorrection)
Create an emptyStorelessBivariateCovariance
instance.- Parameters:
biasCorrection
- iftrue
the covariance estimate is corrected for bias, i.e. n-1 in the denominator, otherwise there is no bias correction, i.e. n in the denominator.
-
-
Method Detail
-
increment
public void increment(double x, double y)
Update the covariance estimation with a pair of variables (x, y).- Parameters:
x
- the x valuey
- the y value
-
append
public void append(StorelessBivariateCovariance cov)
Appends another bivariate covariance calculation to this. After this operation, statistics returned should be close to what would have been obtained by by performing all of theincrement(double, double)
operations incov
directly on this.- Parameters:
cov
- StorelessBivariateCovariance instance to append.
-
getN
public double getN()
Returns the number of observations.- Returns:
- number of observations
-
getResult
public double getResult() throws NumberIsTooSmallException
Return the current covariance estimate.- Returns:
- the current covariance
- Throws:
NumberIsTooSmallException
- if the number of observations is < 2
-
-