Negative Binomial

Negative binomial distribution.

Usage

var negativeBinomial = require( '@stdlib/stats/base/dists/negative-binomial' );

negativeBinomial

Negative binomial distribution.

var dist = negativeBinomial;
// returns {...}

The namespace contains the following distribution functions:

  • cdf( x, r, p ): negative binomial distribution cumulative distribution function.
  • logpmf( x, r, p ): evaluate the natural logarithm of the probability mass function (PMF) for a negative binomial distribution.
  • mgf( t, r, p ): negative binomial distribution moment-generating function (MGF).
  • pmf( x, r, p ): negative binomial distribution probability mass function (PMF).
  • quantile( k, r, p ): negative binomial distribution quantile function.

The namespace contains the following functions for calculating distribution properties:

The namespace contains a constructor function for creating a negative binomial distribution object.

var NegativeBinomial = require( '@stdlib/stats/base/dists/negative-binomial' ).NegativeBinomial;

var dist = new NegativeBinomial( 4.0, 0.2 );

var y = dist.pmf( 4.0 );
// returns ~0.023

Examples

var negativeBinomial = require( '@stdlib/stats/base/dists/negative-binomial' );

/*
* Let's take an example of flipping a biased coin until getting 5 heads.
* This situation can be modeled using a Negative Binomial distribution with r = 5 and p = 1/2.
*/

var r = 5.0;
var p = 1/2;

// Mean can be used to calculate the average number of trials needed to get 5 heads:
console.log( negativeBinomial.mean( r, p ) );
// => 5

// PMF can be used to calculate the probability of getting heads on a specific trial (say on the 8th trial):
console.log( negativeBinomial.pmf( 8, r, p ) );
// => ~0.06

// CDF can be used to calculate the probability up to a certain number of trials (say up to 8 trials):
console.log( negativeBinomial.cdf( 8, r, p ) );
// => ~0.867

// Quantile can be used to calculate the number of trials at which you can be 80% confident that the actual number will not exceed:
console.log( negativeBinomial.quantile( 0.8, r, p ) );
// => 7

// Standard deviation can be used to calculate the measure of the spread of trials around the mean:
console.log( negativeBinomial.stdev( r, p ) );
// => ~3.162

// Skewness can be used to calculate the asymmetry of the distribution of trials:
console.log( negativeBinomial.skewness( r, p ) );
// => ~0.949

// MGF can be used for more advanced statistical analyses and generating moments of the distribution:
console.log( negativeBinomial.mgf( 0.5, r, p ) );
// => ~2277.597
Did you find this page helpful?