Sling Academy
Home/JavaScript/Calculate Variance and Standard Deviation in JavaScript

Calculate Variance and Standard Deviation in JavaScript

Last updated: February 20, 2023

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.

Next Article: JavaScript: Check if a Year is a Leap Year (2 Ways)

Previous Article: JavaScript: Convert Null, NaN, Undefined, and False to Zero

Series: JavaScript Numbers

JavaScript

You May Also Like

  • Handle Zoom and Scroll with the Visual Viewport API in JavaScript
  • Improve Security Posture Using JavaScript Trusted Types
  • Allow Seamless Device Switching Using JavaScript Remote Playback
  • Update Content Proactively with the JavaScript Push API
  • Simplify Tooltip and Dropdown Creation via JavaScript Popover API
  • Improve User Experience Through Performance Metrics in JavaScript
  • Coordinate Workers Using Channel Messaging in JavaScript
  • Exchange Data Between Iframes Using Channel Messaging in JavaScript
  • Manipulating Time Zones in JavaScript Without Libraries
  • Solving Simple Algebraic Equations Using JavaScript Math Functions
  • Emulating Traditional OOP Constructs with JavaScript Classes
  • Smoothing Out User Flows: Focus Management Techniques in JavaScript
  • Creating Dynamic Timers and Counters with JavaScript
  • Implement Old-School Data Fetching Using JavaScript XMLHttpRequest
  • Load Dynamic Content Without Reloading via XMLHttpRequest in JavaScript
  • Manage Error Handling and Timeouts Using XMLHttpRequest in JavaScript
  • Handle XML and JSON Responses via JavaScript XMLHttpRequest
  • Make AJAX Requests with XMLHttpRequest in JavaScript
  • Customize Subtitle Styling Using JavaScript WebVTT Integration