variance
Description
Computes the variance of an Observable using [Welford's Online Algorithm]([https://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#Welford's_online_algorithm](https://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#Welford's_online_algorithm)\).
By default, it will compute the sample variance.
Examples
Sample Variance
import { from } from 'rxjs';
import { takeLast } from 'rxjs';
import { variance } from '@bottlenose/rxstats';
const variance$ = from([600, 470, 170, 430, 300]).pipe(
variance(),
takeLast(1)
);
variance$.subscribe(console.log);
// Output:
// 27130Population Variance
import { from } from 'rxjs';
import { takeLast } from 'rxjs';
import { variance } from '@bottlenose/rxstats';
const variance$ = from([600, 470, 170, 430, 300]).pipe(
variance(false),
takeLast(1)
);
variance$.subscribe(console.log);
// Output:
// 21704API
variance(
[initialState={index: 0, mean: 0, m2: null}],
[sample=true]
)Since
0.1
Parameters
None
Options
initialState: Object: Sets a warm start value so that the calculation can continue from a non-zero starting point (instead of a blank state). The initialState should have these keys:index: Number: The starting index. (The total number of items in the sample minus one.)mean: Number: The initial mean of the sample.m2: NumberThe initial m2 value for the sample. (See the source code to see how m2 is calculated.)
sample: Boolean: The default istrue. Iftrue, then it will calculate the sample variance. Otherwise, it will calculate population variance.
Returns
Number. (The current variance of the Observable.)
Last updated
Was this helpful?