📅  最后修改于: 2023-12-03 14:51:55.927000             🧑  作者: Mango
在统计学中,标准差是用来衡量数据偏离平均值的程度。JavaScript可以很容易地计算数字数组的标准差。
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));
}
以下是完整的代码:
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即可。