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 booleanflag for bias correctionprivate doublethe running covariance estimateprivate doublethe mean of variable xprivate doublethe mean of variable yprivate doublenumber of observations -
Constructor Summary
ConstructorsConstructorDescriptionCreate an emptyStorelessBivariateCovarianceinstance with bias correction.StorelessBivariateCovariance(boolean biasCorrection) Create an emptyStorelessBivariateCovarianceinstance. -
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 emptyStorelessBivariateCovarianceinstance with bias correction. -
StorelessBivariateCovariance
StorelessBivariateCovariance(boolean biasCorrection) Create an emptyStorelessBivariateCovarianceinstance.- Parameters:
biasCorrection- iftruethe 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 incovdirectly 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
-