|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.commons.math3.stat.correlation.Covariance
org.apache.commons.math3.stat.correlation.StorelessCovariance
public class StorelessCovariance
Covariance implementation that does not require input data to be stored in memory. The size of the covariance matrix is specified in the constructor. Specific elements of the matrix are incrementally updated with calls to incrementRow() or increment Covariance().
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.
Note: the underlying covariance matrix is symmetric, thus only the upper triangular part of the matrix is stored and updated each increment.
Constructor Summary | |
---|---|
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. |
Method Summary | |
---|---|
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 two-dimensional 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. |
Methods inherited from class org.apache.commons.math3.stat.correlation.Covariance |
---|
computeCovarianceMatrix, computeCovarianceMatrix, computeCovarianceMatrix, computeCovarianceMatrix, covariance, covariance |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
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. n-1 in the denominator, otherwise there is no bias correction,
i.e. n in the denominator.Method Detail |
---|
public double getCovariance(int xIndex, int yIndex) throws NumberIsTooSmallException
xIndex
- row index in the covariance matrixyIndex
- column index in the covariance matrix
NumberIsTooSmallException
- 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 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 cases
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |