/** Returns the cumulative distribution function, the probability of getting the test value or something below it @param float $x The test value @param float $k Shape parameter @return float The probability */ static function getCdf($x, $k = 1) { return \PHPStats\Stats::lowerGamma($k / 2.0, $x / 2) / \PHPStats\Stats::gamma($k / 2.0); }
/** Returns the cumulative distribution function, the probability of getting the test value or something below it @param float $x The test value @param float $k Shape parameter @param float $theta Scale parameter @return float The probability */ static function getCdf($x, $k = 1, $theta = 1) { return \PHPStats\Stats::lowerGamma($k, $x / $theta) / \PHPStats\Stats::gamma($k); }
public function test_lowerGamma() { $this->assertEquals(0.1606, round(Stats::lowerGamma(3, 1), 5)); $this->assertEquals(0.6466499999999999, round(Stats::lowerGamma(3, 2), 5)); $this->assertEquals(0.91237, round(Stats::lowerGamma(3, 2.5), 5)); $this->assertEquals(400.07089, round(Stats::lowerGamma(10, 3), 5)); $this->assertEquals(2951.02827, round(Stats::lowerGamma(10, 4), 5)); $this->assertEquals(11549.76544, round(Stats::lowerGamma(10, 5), 5)); $this->assertEquals(30454.34729, round(Stats::lowerGamma(10, 6), 5)); }