Skip to content

Commit

Permalink
docs: improve README examples of stats/base/dists/binomial namespace
Browse files Browse the repository at this point in the history
PR-URL: #1748
Closes: #1616

---------

Signed-off-by: Philipp Burckhardt <[email protected]>
Co-authored-by: Philipp Burckhardt <[email protected]>
Reviewed-by: Philipp Burckhardt <[email protected]>
  • Loading branch information
nishant-s7 and Planeshifter authored Mar 7, 2024
1 parent f626157 commit 8b0d39d
Show file tree
Hide file tree
Showing 2 changed files with 70 additions and 4 deletions.
37 changes: 35 additions & 2 deletions lib/node_modules/@stdlib/stats/base/dists/binomial/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,10 +107,43 @@ var mu = dist.mean;
<!-- eslint no-undef: "error" -->

```javascript
var objectKeys = require( '@stdlib/utils/keys' );
var binomial = require( '@stdlib/stats/base/dists/binomial' );

console.log( objectKeys( binomial ) );
/*
* Let's take an example of rolling a fair dice 10 times and counting the number of times a 6 is rolled.
* This situation can be modeled using a Binomial distribution with n = 10 and p = 1/6
*/

var n = 10;
var p = 1/6;

// Mean can be used to calculate the average number of times a 6 is rolled:
console.log( binomial.mean( n, p ) );
// => ~1.6667

// PMF can be used to calculate the probability of getting a certain number of 6s (say 3 sixes):
console.log( binomial.pmf( 3, n, p ) );
// => ~0.1550

// CDF can be used to calculate probability upto certain number of 6s (say upto 3 sixes):
console.log( binomial.cdf( 3, n, p ) );
// => ~0.9303

// Quantile can be used to calculate the number of 6s at which you can be 80% confident that the actual number will not exceed.
console.log( binomial.quantile( 0.8, n, p ) );
// => 3

// Standard deviation can be used to calculate the measure of the spread of 6s around the mean:
console.log( binomial.stdev( n, p ) );
// => ~1.1785

// Skewness can be used to calculate the asymmetry of the distribution of 6s:
console.log( binomial.skewness( n, p ) );
// => ~0.5657

// MGF can be used for more advanced statistical analyses and generating moments of the distribution:
console.log( binomial.mgf( 0.5, n, p ) );
// => ~2.7917
```

</section>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,40 @@

'use strict';

var objectKeys = require( '@stdlib/utils/keys' );
var binomial = require( './../lib' );

console.log( objectKeys( binomial ) );
/*
* Let's take an example of rolling a fair dice 10 times and counting the number of times a 6 is rolled.
* This situation can be modeled using a Binomial distribution with n = 10 and p = 1/6
*/

var n = 10;
var p = 1/6;

// Mean can be used to calculate the average number of times a 6 is rolled:
console.log( binomial.mean( n, p ) );
// => ~1.6667

// PMF can be used to calculate the probability of getting a certain number of 6s (say 3 sixes):
console.log( binomial.pmf( 3, n, p ) );
// => ~0.1550

// CDF can be used to calculate probability upto certain number of 6s (say upto 3 sixes):
console.log( binomial.cdf( 3, n, p ) );
// => ~0.9303

// Quantile can be used to calculate the number of 6s at which you can be 80% confident that the actual number will not exceed.
console.log( binomial.quantile( 0.8, n, p ) );
// => 3

// Standard deviation can be used to calculate the measure of the spread of 6s around the mean:
console.log( binomial.stdev( n, p ) );
// => ~1.1785

// Skewness can be used to calculate the asymmetry of the distribution of 6s:
console.log( binomial.skewness( n, p ) );
// => ~0.5657

// MGF can be used for more advanced statistical analyses and generating moments of the distribution:
console.log( binomial.mgf( 0.5, n, p ) );
// => ~2.7917

1 comment on commit 8b0d39d

@stdlib-bot
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coverage Report

Package Statements Branches Functions Lines
stats/base/dists/binomial $\color{green}168/168$
$\color{green}+100.00\%$
$\color{green}1/1$
$\color{green}+100.00\%$
$\color{green}0/0$
$\color{green}+100.00\%$
$\color{green}168/168$
$\color{green}+100.00\%$

The above coverage report was generated for the changes in this push.

Please sign in to comment.