• PHP Video Tutorials

PHP - Stats Dens PMF Hypergeometric() Function



Definition and Usage

The stats_dens_pmf_hypergeometric() function is a probability mass function of the hypergeometric distribution.

Syntax

  float stats_dens_pmf_hypergeometric( float $n1, float $n2, float $N1, float $N2 )

Parameters

Sr.No Parameter Description
1

n1

The number of success, at which the probability mass is calculatedv

2

n2

The number of failure of the distribution

3

N1

The number of success samples of the distribution

4

N2

The number of failure samples of the distribution

Return Values

The stats_dens_pmf_hypergeometric() function can return the probability mass at n1 where the random variable can follow the hypergeometric distribution in which the number of failures is n2, the number of success samples is N1, and the number of failure samples is N2. This function can return false on failure.

Dependencies

This function was first introduced in statistics extension (PHP 4.0.0 and PEAR 1.4.0). We have used latest release of stats-2.0.3 (PHP 7.0.0 or newer and PEAR 1.4.0 or newer) for this tutorial.

Example

In the following example, we compute probability mass at each n1.

<?php
   // check for each n1
   foreach (range(0, 3) as $n1) {
      var_dump(stats_dens_pmf_hypergeometric($n1, 1, 2, 3));
      echo "<br>";
   }
?>

Output

This will produce following result −

  float(0.6)
  float(0.6)
  float(0.3)
  float(0)

Example

In the following example, we compute probability mass for each n2.

<?php
   // check for each n2
   foreach (range(0, 3) as $n2) {
      var_dump(stats_dens_pmf_hypergeometric(1, $n2, 2, 3));
      echo "<br>";
   }
?>

Output

This will produce following result −

  float(0.4)
  float(0.6)
  float(0.6)
  float(0.4)

Example

In the following example, we compute probability mass for each N1.

<?php
   // check for each N1
   foreach (range(0, 3) as $N1) {
      var_dump(stats_dens_pmf_hypergeometric(1, 1, $N1, 3));
      echo "<br>";
   }
?>

Output

This will produce following result −

  float(0)
  float(0.5)
  float(0.6)
  float(0.6)

Example

In the following example, we compute probability mass for each N2.

<?php
   // check for each N2
   foreach (range(1, 3) as $N2) {
      var_dump(round(stats_dens_pmf_hypergeometric(1, 1, 2, $N2), 6));
      echo "<br>";
   }
?>

Output

This will produce following result −

  float(0.666667)
  float(0.666667)
  float(0.6)

Example

Following is an error case. In the following example, we pass n1 + n2 > N1 + N2. A warning is displayed in logs.

<?php
   // error cases
   var_dump(stats_dens_pmf_hypergeometric(1, 3, 1, 2)); // n1 + n2 > N1 + N2
?>

Output

This will produce following result and a warning in logs PHP Warning: stats_dens_pmf_hypergeometric(): possible division by zero - n1+n2 >= N1+N2

float(NAN)
Advertisements