Quantile Function
Negative binomial distribution quantile function.
The quantile function for a negative binomial random variable X
returns for any k
satisfying 0 <= k <= 1
the value x
for which
holds, where F
is the cumulative distribution function (CDF) of a negative binomial distribution with parameters r
and p
, where r
is the number of successes until the experiment is stopped and p
is the success probability. The random variable X
denotes the number of failures until the r
success is reached.
Usage
var quantile = require( '@stdlib/stats/base/dists/negative-binomial/quantile' );
quantile( k, r, p )
Evaluates the quantile function for a negative binomial distribution with number of successes until experiment is stopped r
and success probability p
.
var y = quantile( 0.9, 20.0, 0.2 );
// returns 106
y = quantile( 0.9, 20.0, 0.8 );
// returns 8
y = quantile( 0.5, 10.0, 0.4 );
// returns 14
y = quantile( 0.0, 10.0, 0.9 );
// returns 0
If provided an input value k
outside of [0,1]
, the function returns NaN
.
var y = quantile( 1.1, 20.0, 0.5 );
// returns NaN
y = quantile( -0.1, 20.0, 0.5 );
// returns NaN
While r
can be interpreted as the number of successes until the experiment is stopped, the negative binomial distribution is also defined for non-integers r
. In this case, r
denotes shape parameter of the gamma mixing distribution.
var y = quantile( 0.5, 15.5, 0.5 );
// returns 15
y = quantile( 0.3, 7.4, 0.4 );
// returns 8
If provided a r
which is not a positive number, the function returns NaN
.
var y = quantile( 0.5, 0.0, 0.5 );
// returns NaN
y = quantile( 0.5, -2.0, 0.5 );
// returns NaN
If provided NaN
as any argument, the function returns NaN
.
var y = quantile( NaN, 20.0, 0.5 );
// returns NaN
y = quantile( 0.3, NaN, 0.5 );
// returns NaN
y = quantile( 0.3, 20.0, NaN );
// returns NaN
If provided a success probability p
outside of [0,1]
, the function returns NaN
.
var y = quantile( 0.3, 20.0, -1.0 );
// returns NaN
y = quantile( 0.3, 20.0, 1.5 );
// returns NaN
quantile.factory( r, p )
Returns a function for evaluating the quantile function for a negative binomial distribution with number of successes until experiment is stopped r
and success probability p
.
var myquantile = quantile.factory( 10.0, 0.5 );
var y = myquantile( 0.1 );
// returns 5
y = myquantile( 0.9 );
// returns 16
Examples
var randu = require( '@stdlib/random/base/randu' );
var quantile = require( '@stdlib/stats/base/dists/negative-binomial/quantile' );
var i;
var k;
var r;
var p;
var y;
for ( i = 0; i < 10; i++ ) {
k = randu();
r = randu() * 100;
p = randu();
y = quantile( k, r, p );
console.log( 'k: %d, r: %d, p: %d, Q(k;r,p): %d', k.toFixed( 4 ), r.toFixed( 4 ), p.toFixed( 4 ), y );
}