Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 4.1.x will end 13 November 2023 (12 months).
  • Bug fixes for security issues in 4.1.x will end 10 November 2025 (36 months).
  • PHP version: minimum PHP 7.4.0 Note: minimum PHP version has increased since Moodle 4.0. PHP 8.0.x is supported too.
   1  <?php
   2  
   3  declare(strict_types=1);
   4  
   5  namespace Phpml\Math\Statistic;
   6  
   7  /**
   8   * In probability theory and statistics, variance is the expectation of the squared deviation of a random variable from its mean.
   9   * Informally, it measures how far a set of (random) numbers are spread out from their average value
  10   * https://en.wikipedia.org/wiki/Variance
  11   */
  12  final class Variance
  13  {
  14      /**
  15       * Population variance
  16       * Use when all possible observations of the system are present.
  17       * If used with a subset of data (sample variance), it will be a biased variance.
  18       *
  19       *      ∑⟮xᵢ - μ⟯²
  20       * σ² = ----------
  21       *          N
  22       */
  23      public static function population(array $population): float
  24      {
  25          return StandardDeviation::sumOfSquares($population) / count($population);
  26      }
  27  }