php-ml/tests/Phpml/Math/Statistic/GaussianTest.php
Tomáš Votruba 653c7c772d Upgrade to PHP 7.1 (#150)
* upgrade to PHP 7.1

* bump travis and composer to PHP 7.1

* fix tests
2017-11-14 21:21:23 +01:00

29 lines
715 B
PHP

<?php
declare(strict_types=1);
namespace test\Phpml\Math\StandardDeviation;
use Phpml\Math\Statistic\Gaussian;
use PHPUnit\Framework\TestCase;
class GaussianTest extends TestCase
{
public function testPdf(): void
{
$std = 1.0;
$mean = 0.0;
$g = new Gaussian($mean, $std);
// Allowable error
$delta = 0.001;
$x = [0, 0.1, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0];
$pdf = [0.3989, 0.3969, 0.3520, 0.2419, 0.1295, 0.0539, 0.0175, 0.0044];
foreach ($x as $i => $v) {
$this->assertEquals($pdf[$i], $g->pdf($v), '', $delta);
$this->assertEquals($pdf[$i], Gaussian::distributionPdf($mean, $std, $v), '', $delta);
}
}
}