Returns an accumulator function which incrementally computes an unbiased sample covariance matrix.
order of the covariance matrix or a square 2-dimensional output ndarray for storing the covariance matrix
mean values
accumulator function
var Float64Array = require( `@stdlib/array/float64` );
var ndarray = require( `@stdlib/ndarray/ctor` );
// Create an output covariance matrix:
var buffer = new Float64Array( 4 );
var shape = [ 2, 2 ];
var strides = [ 2, 1 ];
var offset = 0;
var order = 'row-major';
var cov = ndarray( 'float64', buffer, shape, strides, offset, order );
// Create a covariance matrix accumulator:
var accumulator = incrcovmat( cov );
var out = accumulator();
// returns null
// Create a data vector:
buffer = new Float64Array( 2 );
shape = [ 2 ];
strides = [ 1 ];
var vec = ndarray( 'float64', buffer, shape, strides, offset, order );
// Provide data to the accumulator:
vec.set( 0, 2.0 );
vec.set( 1, 1.0 );
out = accumulator( vec );
// returns <ndarray>
var bool = ( out === cov );
// returns true
vec.set( 0, -5.0 );
vec.set( 1, 3.14 );
out = accumulator( vec );
// returns <ndarray>
// Retrieve the covariance matrix:
out = accumulator();
// returns <ndarray>
If provided a data vector, the accumulator function returns an updated unbiased sample covariance matrix. If not provided a data vector, the accumulator function returns the current unbiased sample covariance matrix.
data vector
must provide a 1-dimensional ndarray
vector length must match covariance matrix dimensions
unbiased sample covariance matrix or null