Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.10.x will end 8 November 2021 (12 months).
  • Bug fixes for security issues in 3.10.x will end 9 May 2022 (18 months).
  • PHP version: minimum PHP 7.2.0 Note: minimum PHP version has increased since Moodle 3.8. PHP 7.3.x and 7.4.x are 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  }