Hypergeometric

Hypergeometric distribution constructor.

Usage

var Hypergeometric = require( '@stdlib/math/base/dists/hypergeometric/ctor' );

Hypergeometric( N, K, n )

Returns a hypergeometric distribution object with parameters N (population size), K (subpopulation size), and n (number of draws).

var hypergeometric = new Hypergeometric( 20, 15, 5 );

var mu = hypergeometric.mean;
// returns 3.75

hypergeometric

A hypergeometric distribution object has the following properties and methods...

Writable Properties

hypergeometric.N

Population size of the distribution. N must be a non-negative integer that is both larger than or equal to K and n.

var hypergeometric = new Hypergeometric( 100, 50, 20 );

var N = hypergeometric.N;
// returns 100.0

hypergeometric.N = 60;

N = hypergeometric.N;
// returns 60.0

hypergeometric.K

Subpopulation size of the distribution. K must be a non-negative integer that is smaller than or equal to N.

var hypergeometric = new Hypergeometric( 100, 50, 20 );

var K = hypergeometric.K;
// returns 50.0

hypergeometric.K = 30;

K = hypergeometric.K;
// returns 30.0

hypergeometric.n

Number of draws of the distribution. n must be a non-negative integer that is smaller than or equal to N.

var hypergeometric = new Hypergeometric( 100, 50, 20 );

var n = hypergeometric.n;
// returns 20.0

hypergeometric.n = 80;

n = hypergeometric.n;
// returns 80.0

Computed Properties

Hypergeometric.prototype.kurtosis

Returns the excess kurtosis.

var hypergeometric = new Hypergeometric( 20, 15, 5 );

var kurtosis = hypergeometric.kurtosis;
// returns ~-0.276

Hypergeometric.prototype.mean

Returns the expected value.

var hypergeometric = new Hypergeometric( 20, 15, 5 );

var mu = hypergeometric.mean;
// returns ~3.75

Hypergeometric.prototype.mode

Returns the mode.

var hypergeometric = new Hypergeometric( 20, 15, 5 );

var mode = hypergeometric.mode;
// returns 4.0

Hypergeometric.prototype.skewness

Returns the skewness.

var hypergeometric = new Hypergeometric( 20, 15, 5 );

var skewness = hypergeometric.skewness;
// returns ~-0.323

Hypergeometric.prototype.stdev

Returns the standard deviation.

var hypergeometric = new Hypergeometric( 20, 15, 5 );

var s = hypergeometric.stdev;
// returns ~0.86

Hypergeometric.prototype.variance

Returns the variance.

var hypergeometric = new Hypergeometric( 20, 15, 5 );

var s2 = hypergeometric.variance;
// returns ~0.74

Methods

Hypergeometric.prototype.cdf( x )

Evaluates the cumulative distribution function (CDF).

var hypergeometric = new Hypergeometric( 8, 2, 4 );

var y = hypergeometric.cdf( 0.5 );
// returns ~0.214

Hypergeometric.prototype.logpmf( x )

Evaluates the natural logarithm of the probability mass function (PMF).

var hypergeometric = new Hypergeometric( 8, 2, 4 );

var y = hypergeometric.logpmf( 2.0 );
// returns ~-1.542

Hypergeometric.prototype.pmf( x )

Evaluates the probability mass function (PMF).

var hypergeometric = new Hypergeometric( 8, 2, 4 );

var y = hypergeometric.pmf( 2.0 );
// returns ~0.214

Hypergeometric.prototype.quantile( p )

Evaluates the quantile function at probability p.

var hypergeometric = new Hypergeometric( 8, 2, 4 );

var y = hypergeometric.quantile( 0.8 );
// returns 2.0

y = quantile( 1.9 );
// returns NaN

Examples

var Hypergeometric = require( '@stdlib/math/base/dists/hypergeometric/ctor' );

var hypergeometric = new Hypergeometric( 100, 50, 20 );

var mu = hypergeometric.mean;
// returns 10.0

var mode = hypergeometric.mode;
// returns 10.0

var s2 = hypergeometric.variance;
// returns ~4.04

var y = hypergeometric.cdf( 10.5 );
// returns ~0.598