repl.txt (4097B)
1 2 {{alias}}( N, correction, x, stride ) 3 Computes the variance of a strided array ignoring `NaN` values and using a 4 two-pass algorithm. 5 6 The `N` and `stride` parameters determine which elements in `x` are accessed 7 at runtime. 8 9 Indexing is relative to the first index. To introduce an offset, use a typed 10 array view. 11 12 If `N <= 0`, the function returns `NaN`. 13 14 If every indexed element is `NaN`, the function returns `NaN`. 15 16 Parameters 17 ---------- 18 N: integer 19 Number of indexed elements. 20 21 correction: number 22 Degrees of freedom adjustment. Setting this parameter to a value other 23 than `0` has the effect of adjusting the divisor during the calculation 24 of the variance according to `n - c` where `c` corresponds to the 25 provided degrees of freedom adjustment and `n` corresponds to the number 26 of non-`NaN` indexed elements. When computing the variance of a 27 population, setting this parameter to `0` is the standard choice (i.e., 28 the provided array contains data constituting an entire population). 29 When computing the unbiased sample variance, setting this parameter to 30 `1` is the standard choice (i.e., the provided array contains data 31 sampled from a larger population; this is commonly referred to as 32 Bessel's correction). 33 34 x: Array<number>|TypedArray 35 Input array. 36 37 stride: integer 38 Index increment. 39 40 Returns 41 ------- 42 out: number 43 The variance. 44 45 Examples 46 -------- 47 // Standard Usage: 48 > var x = [ 1.0, -2.0, NaN, 2.0 ]; 49 > {{alias}}( x.length, 1, x, 1 ) 50 ~4.3333 51 52 // Using `N` and `stride` parameters: 53 > x = [ -2.0, 1.0, 1.0, -5.0, 2.0, -1.0 ]; 54 > var N = {{alias:@stdlib/math/base/special/floor}}( x.length / 2 ); 55 > var stride = 2; 56 > {{alias}}( N, 1, x, stride ) 57 ~4.3333 58 59 // Using view offsets: 60 > var x0 = new {{alias:@stdlib/array/float64}}( [ 1.0, -2.0, 3.0, 2.0, 5.0, -1.0 ] ); 61 > var x1 = new {{alias:@stdlib/array/float64}}( x0.buffer, x0.BYTES_PER_ELEMENT*1 ); 62 > N = {{alias:@stdlib/math/base/special/floor}}( x0.length / 2 ); 63 > stride = 2; 64 > {{alias}}( N, 1, x1, stride ) 65 ~4.3333 66 67 {{alias}}.ndarray( N, correction, x, stride, offset ) 68 Computes the variance of a strided array ignoring `NaN` values and using a 69 two-pass algorithm and alternative indexing semantics. 70 71 While typed array views mandate a view offset based on the underlying 72 buffer, the `offset` parameter supports indexing semantics based on a 73 starting index. 74 75 Parameters 76 ---------- 77 N: integer 78 Number of indexed elements. 79 80 correction: number 81 Degrees of freedom adjustment. Setting this parameter to a value other 82 than `0` has the effect of adjusting the divisor during the calculation 83 of the variance according to `n - c` where `c` corresponds to the 84 provided degrees of freedom adjustment and `n` corresponds to the number 85 of non-`NaN` indexed elements. When computing the variance of a 86 population, setting this parameter to `0` is the standard choice (i.e., 87 the provided array contains data constituting an entire population). 88 When computing the unbiased sample variance, setting this parameter to 89 `1` is the standard choice (i.e., the provided array contains data 90 sampled from a larger population; this is commonly referred to as 91 Bessel's correction). 92 93 x: Array<number>|TypedArray 94 Input array. 95 96 stride: integer 97 Index increment. 98 99 offset: integer 100 Starting index. 101 102 Returns 103 ------- 104 out: number 105 The variance. 106 107 Examples 108 -------- 109 // Standard Usage: 110 > var x = [ 1.0, -2.0, NaN, 2.0 ]; 111 > {{alias}}.ndarray( x.length, 1, x, 1, 0 ) 112 ~4.3333 113 114 // Using offset parameter: 115 > var x = [ 1.0, -2.0, 3.0, 2.0, 5.0, -1.0 ]; 116 > var N = {{alias:@stdlib/math/base/special/floor}}( x.length / 2 ); 117 > {{alias}}.ndarray( N, 1, x, 2, 1 ) 118 ~4.3333 119 120 See Also 121 -------- 122