JavaScript趣题:计算方差

来源:互联网 发布:网络商店 编辑:程序博客网 时间:2024/04/30 11:03

“方差”通常用于统计学和概率论中。

给定一个序列的数,如何求出它们的方差?

首先,求出它们的平均数,然后用每一个数减去平均数,求出它们的平方和,最后再除以序列的大小,就可以得到方差。

例如:给定一个序列,[1, 2, 2, 3]

先求平均数:

(1 + 2 + 2 + 3) / 4 => 2

再求方差:

((1 - 2)^2 + (2 - 2)^2 + (2-2)^2 + (3 - 2)^2) / 4 => 0.5

有时,这个结果它会是个很长的小数,我们不用求出这么多位,保留34位小数就可以了,这时就可以用到JStoFixed方法,对小数进行四舍五入。

var variance = function(numbers) {    var mean = 0;    var sum = 0;    for(var i=0;i<numbers.length;i++){        sum += numbers[i];    }    mean = sum / numbers.length;    sum = 0;    for(var i=0;i<numbers.length;i++){        sum += Math.pow(numbers[i] - mean , 2);    }    return sum / numbers.length;};


0 0