Class StorelessBivariateCovariance
java.lang.Object
org.apache.commons.math3.stat.correlation.StorelessBivariateCovariance
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
FieldsModifier and TypeFieldDescriptionprivate boolean
flag for bias correctionprivate double
the running covariance estimateprivate double
the mean of variable xprivate double
the mean of variable yprivate double
number of observations -
Constructor Summary
ConstructorsConstructorDescriptionCreate an emptyStorelessBivariateCovariance
instance with bias correction.StorelessBivariateCovariance
(boolean biasCorrection) Create an emptyStorelessBivariateCovariance
instance. -
Method Summary
-
Field Details
-
meanX
private double meanXthe mean of variable x -
meanY
private double meanYthe mean of variable y -
n
private double nnumber of observations -
covarianceNumerator
private double covarianceNumeratorthe running covariance estimate -
biasCorrected
private boolean biasCorrectedflag for bias correction
-
-
Constructor Details
-
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 Details
-
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
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
Return the current covariance estimate.- Returns:
- the current covariance
- Throws:
NumberIsTooSmallException
- if the number of observations is < 2
-