📜  如何使用 JavaScript 获取数字数组的标准差?(1)

📅  最后修改于: 2023-12-03 14:51:55.927000             🧑  作者: Mango

如何使用 JavaScript 获取数字数组的标准差?

在统计学中,标准差是用来衡量数据偏离平均值的程度。JavaScript可以很容易地计算数字数组的标准差。

步骤
  1. 计算平均值:
function average(nums) {
  return nums.reduce((a, b) => (a + b)) / nums.length;
}
  1. 计算方差:
function variance(nums) {
  const avg = average(nums);

  const sqDiffs = nums.map(num => Math.pow(num - avg, 2));

  const sumSqDiffs = sqDiffs.reduce((a, num) => a + num);

  return sumSqDiffs / (nums.length - 1);
}
  1. 计算标准差:
function standardDeviation(nums) {
  return Math.sqrt(variance(nums));
}
代码片段

以下是完整的代码:

function average(nums) {
  return nums.reduce((a, b) => (a + b)) / nums.length;
}

function variance(nums) {
  const avg = average(nums);

  const sqDiffs = nums.map((num) => Math.pow(num - avg, 2));

  const sumSqDiffs = sqDiffs.reduce((a, num) => a + num);

  return sumSqDiffs / (nums.length - 1);
}

function standardDeviation(nums) {
  return Math.sqrt(variance(nums));
}


// 示例
const nums = [1, 2, 3, 4, 5];

const stdDev = standardDeviation(nums);

console.log(stdDev); // 1.5811388300841898
总结

以上代码可以方便地计算任何数量的数字数组的标准差。只需将数字数组传递给standardDeviation()函数即可。

值得注意的是,由于我们使用了(n-1)的方式计算方差,所以这个方法计算出来的标准差更适合用于样本而非整体的总体处理,如果你需要处理总体,可以使用(n)的方式计算方差,将除数变为数组长度而不是数组长度-1即可。