Phpml\Math\Statistic\Correlation::pearson PHP Метод

pearson() публичный статический Метод

public static pearson ( array $x, array $y ) : float
$x array
$y array
Результат float
    public static function pearson(array $x, array $y)
    {
        if (count($x) !== count($y)) {
            throw InvalidArgumentException::arraySizeNotMatch();
        }
        $count = count($x);
        $meanX = Mean::arithmetic($x);
        $meanY = Mean::arithmetic($y);
        $axb = 0;
        $a2 = 0;
        $b2 = 0;
        for ($i = 0; $i < $count; ++$i) {
            $a = $x[$i] - $meanX;
            $b = $y[$i] - $meanY;
            $axb = $axb + $a * $b;
            $a2 = $a2 + pow($a, 2);
            $b2 = $b2 + pow($b, 2);
        }
        $corr = $axb / sqrt((double) ($a2 * $b2));
        return $corr;
    }

Usage Example

Пример #1
0
 /**
  * @expectedException \Phpml\Exception\InvalidArgumentException
  */
 public function testThrowExceptionOnInvalidArgumentsForPearsonCorrelation()
 {
     Correlation::pearson([1, 2, 4], [3, 5]);
 }
Correlation