Probability Mass Function

Planck (discrete exponential) distribution probability mass function (PMF).

The probability mass function (PMF) for a Planck random variable is defined as

probability left-parenthesis upper X equals x comma lamda right-parenthesis equals StartLayout Enlarged left-brace 1st Row 1st Column left-parenthesis 1 minus e Superscript negative lamda Baseline right-parenthesis e Superscript minus lamda x Baseline 2nd Column for x equals 0 comma 1 comma 2 comma ellipsis 2nd Row 1st Column 0 2nd Column otherwise EndLayout

where λ is the shape parameter. The random variable X denotes the count of events in a quantized system.

Usage

var pmf = require( '@stdlib/stats/base/dists/planck/pmf' );

pmf( x, lambda )

Evaluates the probability mass function (PMF) of a Planck (discrete exponential) distribution with shape parameter lambda.

var y = pmf( 4.0, 0.3 );
// returns ~0.0781

y = pmf( 2.0, 1.7 );
// returns ~0.0273

y = pmf( -1.0, 2.5 );
// returns 0.0

If provided NaN as any argument, the function returns NaN.

var y = pmf( NaN, 0.0 );
// returns NaN

y = pmf( 0.0, NaN );
// returns NaN

If provided a shape parameter lambda which is a nonpositive number, the function returns NaN.

var y = pmf( 2.0, -1.0 );
// returns NaN

pmf.factory( lambda )

Returns a function for evaluating the probability mass function (PMF) of a Planck (discrete exponential) distribution with shape parameter lambda.

var mypmf = pmf.factory( 0.5 );
var y = mypmf( 3.0 );
// returns ~0.0878

y = mypmf( 1.0 );
// returns ~0.2387

Examples

var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
var uniform = require( '@stdlib/random/array/uniform' );
var pmf = require( '@stdlib/stats/base/dists/planck/pmf' );

var lambda = uniform( 10, 0.1, 5.0 );
var x = discreteUniform( 10, 0, 5 );

var y;
var i;
for ( i = 0; i < lambda.length; i++ ) {
    y = pmf( x[ i ], lambda[ i ] );
    console.log( 'x: %d, λ: %d, P(X = x; λ): %d', x[ i ], lambda[ i ].toFixed( 4 ), y.toFixed( 4 ) );
}
Did you find this page helpful?