Kumaraswamy

Kumaraswamy's double bounded distribution.

Usage

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

kumaraswamy

Kumaraswamy's double bounded distribution.

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

The namespace contains the following distribution functions:

  • cdf( x, a, b ): Kumaraswamy's double bounded distribution cumulative distribution function.
  • logcdf( x, a, b ): evaluate the natural logarithm of the cumulative distribution function for a Kumaraswamy's double bounded distribution.
  • logpdf( x, a, b ): evaluate the natural logarithm of the probability density function for a Kumaraswamy's double bounded distribution.
  • pdf( x, a, b ): Kumaraswamy's double bounded distribution probability density function.
  • quantile( p, a, b ): Kumaraswamy's double bounded distribution quantile function.

The namespace contains the following functions for calculating distribution properties:

The namespace contains a constructor function for creating a Kumaraswamy's double bounded distribution object.

var Kumaraswamy = require( '@stdlib/stats/base/dists/kumaraswamy' ).Kumaraswamy;

var dist = new Kumaraswamy( 2.0, 4.0 );

var y = dist.logpdf( 0.8 );
// returns ~-1.209

Examples

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

// Create a Kumaraswamy distribution object:
var a = 2.0;
var b = 5.0;
var dist = new kumaraswamy.Kumaraswamy( a, b );

// Calculate basic distribution properties:
console.log( 'Mean: %d', dist.mean );
console.log( 'Median: %d', dist.median );
console.log( 'Mode: %d', dist.mode );
console.log( 'Variance: %d', dist.variance );

// Evaluate the probability density function (PDF):
var x = 0.5;
var y = dist.pdf( x );
console.log( 'PDF at x = %d: %d', x, y );

// Evaluate the cumulative distribution function (CDF):
y = dist.cdf( x );
console.log( 'CDF at x = %d: %d', x, y );

// Evaluate the natural logarithm of PDF and CDF:
console.log( 'Log PDF at x = %d: %d', x, dist.logpdf( x ) );
console.log( 'Log CDF at x = %d: %d', x, dist.logcdf( x ) );

// Calculate the quantile for a given probability:
var p = 0.75;
x = dist.quantile( p );
console.log( 'Quantile at p = %d: %d', p, x );

// Use standalone distribution functions:
x = 0.3;
y = kumaraswamy.pdf( x, a, b );
console.log( 'Standalone PDF at x = %d: %d', x, y );

y = kumaraswamy.cdf( x, a, b );
console.log( 'Standalone CDF at x = %d: %d', x, y );

y = kumaraswamy.quantile( 0.9, a, b );
console.log( 'Standalone Quantile at p = 0.9: %d', y );

// Calculate additional distribution properties:
console.log( 'Kurtosis: %d', kumaraswamy.kurtosis( a, b ) );
console.log( 'Skewness: %d', kumaraswamy.skewness( a, b ) );
console.log( 'Standard Deviation: %d', kumaraswamy.stdev( a, b ) );

// Demonstrate the effect of different shape parameters:
console.log( '\nEffect of shape parameters:' );
var shapes = [
    [ 0.5, 0.5 ],
    [ 5.0, 1.0 ],
    [ 1.0, 5.0 ],
    [ 2.0, 2.0 ],
    [ 10.0, 10.0 ]
];
var params;
var i;
for ( i = 0; i < shapes.length; i++ ) {
    params = shapes[i];
    console.log( '\na = %d, b = %d', params[0], params[1] );
    console.log( 'Mean: %d', kumaraswamy.mean( params[0], params[1] ) );
    console.log( 'Median: %d', kumaraswamy.median( params[0], params[1] ) );
    console.log( 'Mode: %d', kumaraswamy.mode( params[0], params[1] ) );
    console.log( 'Skewness: %d', kumaraswamy.skewness( params[0], params[1] ) );
}
Did you find this page helpful?