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:
kurtosis( r, p )
: negative binomial distribution excess kurtosis.mean( r, p )
: negative binomial distribution expected value.mode( r, p )
: negative binomial distribution mode.skewness( r, p )
: negative binomial distribution skewness.stdev( r, p )
: negative binomial distribution standard deviation.variance( r, p )
: negative binomial distribution variance.
The namespace contains a constructor function for creating a negative binomial distribution object.
NegativeBinomial( [r, p] )
: negative binomial distribution constructor.
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