JavaScript计算标准差

原文:Calculate Standard Deviation in JavaScript

在Node.js和浏览器中使用Math.js计算标准差。

标准差是度量一组数值与平均值相差多少的度量值。标准差小,说明所有数值相对接近平均值。JavaScript没有内置的标准差函数,Math.js作为一个支持良好的库,包含全特性的标准差函数。

以下是使用Math.js的std()函数计算标准差的例子。

1
2
3
4
5
6
7
const math = require('mathjs');

// 将数组作为参数传入 `std()` 函数:
math.std([5, 5, 5, 5]); // 0

// 或者传入一组参数(也可以称为参数展开)
math.std(1, 5, 9); // 4

Math.js还支持偏移校正。Math.js的std()函数默认使用贝塞尔校正,也能接收第二个参数normalization来配置校正方法。按照默认的贝塞尔校正,std()函数以n-1作为除数计算标准差。第二个参数为'uncorrected'时,std()的除数是n,第二个参数为'biased'时,std()的除数是n+1

1
2
3
4
5
const math = require('mathjs');

// 传入校正参数时,必须使用数组传值
math.std([1, 3], 'uncorrected'); // 1
math.std([2, 4, 6, 8], 'biased'); // 2