JavaScript 如何计算数字数组的标准差

JavaScript 如何计算数字数组的标准差

给定一个数组,任务是使用JavaScript计算标准差。

示例:

Input :  [1, 2, 3, 4, 5]
Output : 1.4142135623730951

Input :  [23, 4, 6, 457, 65, 7, 45, 8]
Output : 145.13565852332775

请参考详情,均值、方差和标准差。 均值是元素的平均值。其中 0 <= i < n。 arr[0..n-1] 的均值 = ∑(arr[i]) / n。 方差是与均值的差的平方和除以元素的数量。 方差 = ∑(arr[i] – 均值)2 / n。 标准差是方差的平方根。 标准差 = 方差 ^ 1/2。 方法: 要计算数组的标准差,首先我们计算均值,然后计算方差,最后计算标准差。为了计算均值,我们使用 Array.reduce() 方法,计算数组所有元素的总和,然后将总和除以数组的长度。 为了计算方差,我们使用 map() 方法,将 (值 – 均值) ^ 2 赋给每个数组项,然后计算总和并将总和除以数组的长度。为了计算标准差,我们计算数组的平方根。

示例: 在这个示例中,我们将计算给定数组的标准差。

// Javascript program to calculate the 
// standard deviation of an array
function StandardDeviation(arr) {
 
    // Creating the mean with Array.reduce
    let mean = arr.reduce((acc, curr) => {
        return acc + curr
    }, 0) / arr.length;
 
    // Assigning (value - mean) ^ 2 to
    // every array item
    arr = arr.map((k) => {
        return (k - mean) ** 2
    });
 
    // Calculating the sum of updated array 
    let sum = arr.reduce((acc, curr) => acc + curr, 0);
 
    // Calculating the variance
    let variance = sum / arr.length
 
    // Returning the standard deviation
    return Math.sqrt(sum / arr.length)
}
 
console.log(StandardDeviation([1, 2, 3, 4, 5]))
console.log(StandardDeviation([23, 4, 6, 457, 65, 7, 45, 8]))

输出

1.4142135623730951
145.13565852332775

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程