Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.11.x will end 14 Nov 2022 (12 months plus 6 months extension).
  • Bug fixes for security issues in 3.11.x will end 13 Nov 2023 (18 months plus 12 months extension).
  • PHP version: minimum PHP 7.3.0 Note: minimum PHP version has increased since Moodle 3.10. PHP 7.4.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  }