Sling Academy
Home/PHP/PHP: Calculate standard deviation & variance of an array

PHP: Calculate standard deviation & variance of an array

Last updated: February 19, 2024

Introduction

Understanding how to calculate the standard deviation and variance of an array in PHP is crucial for any developer working with datasets, as it helps in understanding the dispersion or spread of the dataset. This tutorial will guide you through calculating both the standard deviation and variance of an array in PHP, with ample examples for clarity.

What are Variance and Standard Deviation?

Variance is a measure of how much the numbers in a dataset differ from the mean (average) value of the dataset. In simple terms, it shows how spread out the numbers in the dataset are.

Standard Deviation, on the other hand, is the square root of the variance. It provides a clearer picture of the dataset’s dispersion since it’s in the same unit as the data, making it more intuitive to understand.

Calculating Variance in PHP

Let’s start with calculating the variance of an array. The basic steps involve:

  1. Finding the mean of the dataset.
  2. Subtracting the mean from each number to find the differences.
  3. Squaring each difference.
  4. Finding the average of the squared differences.

This can be done manually or by using PHP functions. Here’s a simple function to calculate variance:

function calculateVariance($array) {
    $mean = array_sum($array) / count($array);
    $variance = 0;
    foreach ($array as $value) {
        $variance += pow(($value - $mean), 2);
    }
    return $variance / count($array);
}

Here, array_sum() calculates the total sum of the array, count() returns the number of elements in the array, pow() is used to square the differences, and we average the squared differences to get the variance.

Calculating Standard Deviation in PHP

Once we have the variance, calculating the standard deviation is straightforward since it’s just the square root of the variance. Here’s a function that leverages the variance calculation to find the standard deviation:

function calculateStandardDeviation($array) {
    return sqrt(calculateVariance($array));
}

To use these functions, simply pass the array for which you wish to compute the variance or standard deviation:

$data = [4, 9, 11, 12, 17, 5, 8, 12, 14];

$variance = calculateVariance($data);
echo "Variance: $variance\n";

$stdDeviation = calculateStandardDeviation($data);
echo "Standard Deviation: $stdDeviation\n";

Using PHP Statistics Extension

PHP also offers built-in functions for advanced mathematical calculations, which can simplify these tasks further. The stats_standard_deviation() and stats_variance() functions can calculate standard deviation and variance, respectively, but they require the installation of the PHP Statistics extension.

Example:

<?php
// Sample data
$data = [9, 2, 5, 4, 12, 7, 8, 11];

// Calculate standard deviation (hypothetical function)
$stdDeviation = stats_standard_deviation($data);
echo "Standard Deviation: " . $stdDeviation . "\n";

// Calculate variance (hypothetical function)
$variance = stats_variance($data);
echo "Variance: " . $variance . "\n";
?>

Applying Variance and Standard Deviation

Understanding the variance and standard deviation of data is vital for statistical analysis, allowing developers to measure the volatility or consistency of the data. This knowledge is particularly useful in fields such as finance, where risk management is crucial, or in data science for analyzing the spread of data points.

Conclusion

Calculating the variance and standard deviation of an array in PHP is a straightforward process, whether you choose to write your own functions or utilize PHP’s built-in mathematical functions. Understanding these concepts enriches your analytical capabilities when working with datasets, providing valuable insights into their dispersion and overall behavior.

Next Article: How to fix PHP notice: Undefined index

Previous Article: PHP: Using classes from third-party libraries

Series: PHP Data Structure Tutorials

PHP

You May Also Like

  • Pandas DataFrame.value_counts() method: Explained with examples
  • Constructor Property Promotion in PHP: Tutorial & Examples
  • Understanding mixed types in PHP (5 examples)
  • Union Types in PHP: A practical guide (5 examples)
  • PHP: How to implement type checking in a function (PHP 8+)
  • Symfony + Doctrine: Implementing cursor-based pagination
  • Laravel + Eloquent: How to Group Data by Multiple Columns
  • PHP: How to convert CSV data to HTML tables
  • Using ‘never’ return type in PHP (PHP 8.1+)
  • Nullable (Optional) Types in PHP: A practical guide (5 examples)
  • Explore Attributes (Annotations) in Modern PHP (5 examples)
  • An introduction to WeakMap in PHP (6 examples)
  • Type Declarations for Class Properties in PHP (5 examples)
  • Static Return Type in PHP: Explained with examples
  • PHP: Using DocBlock comments to annotate variables
  • PHP: How to ping a server/website and get the response time
  • PHP: 3 Ways to Get City/Country from IP Address
  • PHP: How to find the mode(s) of an array (4 examples)
  • PHP: 3 Ways to Get N Random Elements from an Array