public class StorelessCovariance extends Covariance
This class is based on a paper written by Philippe Pébay: Formulas for Robust, OnePass Parallel Computation of Covariances and ArbitraryOrder Statistical Moments, 2008, Technical Report SAND20086212, Sandia National Laboratories.
Note: the underlying covariance matrix is symmetric, thus only the upper triangular part of the matrix is stored and updated each increment.
Constructor and Description 

StorelessCovariance(int dim)
Create a bias corrected covariance matrix with a given dimension.

StorelessCovariance(int dim,
boolean biasCorrected)
Create a covariance matrix with a given number of rows and columns and the
indicated bias correction.

Modifier and Type  Method and Description 

void 
append(StorelessCovariance sc)
Appends
sc to this, effectively aggregating the computations in sc
with this. 
double 
getCovariance(int xIndex,
int yIndex)
Get the covariance for an individual element of the covariance matrix.

RealMatrix 
getCovarianceMatrix()
Returns the covariance matrix

double[][] 
getData()
Return the covariance matrix as twodimensional array.

int 
getN()
This
Covariance method is not supported by a StorelessCovariance ,
since the number of bivariate observations does not have to be the same for different
pairs of covariates  i.e., N as defined in Covariance.getN() is undefined. 
void 
increment(double[] data)
Increment the covariance matrix with one row of data.

computeCovarianceMatrix, computeCovarianceMatrix, computeCovarianceMatrix, computeCovarianceMatrix, covariance, covariance
public StorelessCovariance(int dim)
dim
 the dimension of the square covariance matrixpublic StorelessCovariance(int dim, boolean biasCorrected)
dim
 the dimension of the covariance matrixbiasCorrected
 if true
the covariance estimate is corrected
for bias, i.e. n1 in the denominator, otherwise there is no bias correction,
i.e. n in the denominator.public double getCovariance(int xIndex, int yIndex) throws NumberIsTooSmallException
xIndex
 row index in the covariance matrixyIndex
 column index in the covariance matrixNumberIsTooSmallException
 if the number of observations
in the cell is < 2public void increment(double[] data) throws DimensionMismatchException
data
 array representing one row of data.DimensionMismatchException
 if the length of rowData
does not match with the covariance matrixpublic void append(StorelessCovariance sc) throws DimensionMismatchException
sc
to this, effectively aggregating the computations in sc
with this. After invoking this method, covariances returned should be close
to what would have been obtained by performing all of the increment(double[])
operations in sc
directly on this.sc
 externally computed StorelessCovariance to add to thisDimensionMismatchException
 if the dimension of sc does not match thispublic RealMatrix getCovarianceMatrix() throws NumberIsTooSmallException
getCovarianceMatrix
in class Covariance
NumberIsTooSmallException
 if the number of observations
in a cell is < 2public double[][] getData() throws NumberIsTooSmallException
NumberIsTooSmallException
 if the number of observations
for a cell is < 2public int getN() throws MathUnsupportedOperationException
Covariance
method is not supported by a StorelessCovariance
,
since the number of bivariate observations does not have to be the same for different
pairs of covariates  i.e., N as defined in Covariance.getN()
is undefined.getN
in class Covariance
MathUnsupportedOperationException
MathUnsupportedOperationException
 in all casesCopyright © 2003–2021 The Apache Software Foundation. All rights reserved.