itervariance

Compute the unbiased sample variance over all iterated values.

The unbiased sample variance is defined as

s squared equals StartFraction 1 Over n minus 1 EndFraction sigma-summation Underscript i equals 0 Overscript n minus 1 Endscripts left-parenthesis x Subscript i Baseline minus x overbar right-parenthesis squared

Usage

var itervariance = require( '@stdlib/stats/iter/variance' );

itervariance( iterator[, mean] )

Computes the unbiased sample variance over all iterated values.

var array2iterator = require( '@stdlib/array/to-iterator' );

var arr = array2iterator( [ 2.0, 1.0, 3.0 ] );

var s2 = itervariance( arr );
// returns 1.0

If the mean is already known, provide a mean argument.

var array2iterator = require( '@stdlib/array/to-iterator' );

var arr = array2iterator( [ 2.0, 1.0, 3.0 ] );

var s2 = itervariance( arr, 2.0 );
// returns ~0.67

Notes

  • If an iterated value is non-numeric (including NaN), the returned iterator returns NaN. If non-numeric iterated values are possible, you are advised to provide an iterator which type checks and handles non-numeric values accordingly.

Examples

var runif = require( '@stdlib/random/iter/uniform' );
var itervariance = require( '@stdlib/stats/iter/variance' );

// Create an iterator for generating uniformly distributed pseudorandom numbers:
var rand = runif( -10.0, 10.0, {
    'seed': 1234,
    'iter': 100
});

// Compute the unbiased sample variance:
var s2 = itervariance( rand );
// returns <number>

console.log( 'Variance: %d.', s2 );