Calculate Variance and Standard Deviation in JavaScript

Updated: February 20, 2023 By: Khue Post a comment

This practical, succinct article shows you how to calculate the variance and standard deviation of a given array of numbers. You will see the code in vanilla Javascript and TypeScript.

Javascript

// Calculate the average of all the numbers
const calculateMean = (values) => {
    const mean = (values.reduce((sum, current) => sum + current)) / values.length;
    return mean;
};

// Calculate variance
const calculateVariance = (values) => {
    const average = calculateMean(values);
    const squareDiffs = values.map((value) => {
        const diff = value - average;
        return diff * diff;
    });
    const variance = calculateMean(squareDiffs);
    return variance;
};

// Calculate stand deviation
const calculateSD = (variance) => {
    return Math.sqrt(variance);
};

// Test our function
const input = [1, 4, 7, 9, 32, 48, 54, 66, 84, 91, 100, 121];
const variance = calculateVariance(input);
const sd = calculateSD(variance);
console.log(`Variance: ${variance}`);
console.log(`Standard Deviation: ${sd}`);

Output:

Variance: 1583.409722222222
Standard Deviation: 39.79208114967376

TypeScript

If you use TypeScript as your development language, then you might want to examine this piece of code:

// Calculate the average of all the numbers
const calculateMean = (values: number[]): number => {
  const mean = (values.reduce((sum, current) => sum + current)) / values.length;
  return mean;
}

// Calculate variance
const calculateVariance= (values: number[]): number => {
  const average = calculateMean(values);
  const squareDiffs = values.map((value: number): number => {
    const diff = value - average;
    return diff * diff;
  })

  const variance = calculateMean(squareDiffs);
  return variance;
}

// Calculate stand deviation
const calculateSD = (variance: number): number => {
  return  Math.sqrt(variance);
}

// Test it
const input = [1, 4, 7, 9, 32, 48, 54, 66, 84, 91, 100, 121];

const variance = calculateVariance(input);
const sd = calculateSD(variance);

console.log(`Variance: ${variance}`);
console.log(`Standard Deviation: ${sd}`);

It will produce the same results as the snippet of the Javascript code in the previous section.