Skip to content

Latest commit

 

History

History
121 lines (76 loc) · 2.85 KB

File metadata and controls

121 lines (76 loc) · 2.85 KB

incrnancovariance

Compute an incremental sample covariance while ignoring NaN values.

Usage

var nancovariance = require( '@stdlib/stats/incr/nancovariance' );

incrnancovariance

Returns an accumulator function which incrementally computes a sample covariance, ignoring any input pairs that contain NaN values. The accumulator returns null until at least two valid data pairs have been provided.

var accumulator = nancovariance();

accumulator([x, y])

If provided a pair of numeric input values [x, y], the accumulator updates and returns the sample covariance. If not provided any input values, the accumulator returns the current sample covariance.

var accumulator = nancovariance();

var cov = accumulator();
// returns null

cov = accumulator( 2.0, 1.0 );
// returns null

cov = accumulator( NaN, 1.0 );
// returns null

cov = accumulator( 4.0, 5.0 );
// returns 4.0

cov = accumulator();
// returns 4.0

Examples

var randu = require( '@stdlib/random/base/randu' );
var nancovariance = require( '@stdlib/stats/incr/nancovariance' );

var accumulator;
var i;
var x;
var y;
accumulator = nancovariance();
for ( i = 0; i < 100; i++ ) {
    x = ( randu() < 0.2 ) ? NaN : randu() * 100.0;
    y = ( randu() < 0.2 ) ? NaN : randu() * 100.0;
    accumulator( x, y );
}
console.log( accumulator() );

See Also