Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: improve examples of stats/base/dists/exponential namespace #2688

Merged
merged 2 commits into from
Oct 8, 2024
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
235 changes: 234 additions & 1 deletion lib/node_modules/@stdlib/stats/base/dists/exponential/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,14 +107,247 @@ var y = dist.logpdf( 0.8 );
<!-- TODO: better examples -->

<!-- eslint no-undef: "error" -->

### Object Keys
```javascript
var objectKeys = require( '@stdlib/utils/keys' );
var exponential = require( '@stdlib/stats/base/dists/exponential' );

console.log( objectKeys( exponential ) );
```
### Cumulative Distribution Function (CDF)
```javascript
var exponential = require('@stdlib/stats/base/dists/exponential');
```
#### cdf(x, lambda)

Evaluates the [cumulative distribution function][cdf] of an exponential distribution with rate parameter `lambda`.

```javascript
var y = cdf(1.0, 2.0);
// returns ~0.864

y = cdf(0.5, 1.0);
// returns ~0.393

y = cdf(-1.0, 4.0);
// returns 0.0
```
#### cdf.factory(lambda)

Returns a function for evaluating the [cumulative distribution function][cdf] of an exponential distribution with rate parameter `lambda`.

```javascript
var mycdf = cdf.factory(2.0);

var y = mycdf(1.0);
// returns ~0.864

y = mycdf(0.3);
// returns ~0.451
```
### Logarithm of the Cumulative Distribution Function (logCDF)
```javascript
var logcdf = require('@stdlib/stats/base/dists/exponential/logcdf');
```
#### logcdf(x, lambda)
Evaluates the natural logarithm of the cumulative distribution function for an exponential distribution with rate parameter `lambda`.

```javascript
var y = logcdf(1.0, 2.0);
// returns ~-0.146

y = logcdf(0.5, 1.0);
// returns ~-0.934

y = logcdf(-1.0, 4.0);
// returns -Infinity
```
#### logcdf.factory(lambda)
Returns a function for evaluating the natural logarithm of the cumulative distribution function for an exponential distribution with rate parameter `lambda`.

```javascript
var mylogcdf = logcdf.factory(2.0);

var y = mylogcdf(1.0);
// returns ~-0.146

y = mylogcdf(0.3);
// returns ~-0.797
```
### Probability Density Function(PDF)
```javascript
var pdf = require('@stdlib/stats/base/dists/exponential/pdf');
```

#### pdf(x, lambda)
Evaluates the [probability density function][pdf] of an exponential distribution with rate parameter `lambda`.

```javascript
var y = pdf(1.0, 2.0);
// returns ~0.271

y = pdf(0.5, 1.0);
// returns ~0.607

y = pdf(-1.0, 4.0);
// returns 0.0
```
#### pdf.factory(lambda)
Returns a function for evaluating the [probability density function][pdf] of an exponential distribution with rate parameter `lambda`.
```javascript
var mypdf = pdf.factory(2.0);

var y = mypdf(1.0);
// returns ~0.271

y = mypdf(0.3);
// returns ~0.74
```
### Logarithm of the Probability Density Function (logPDF)
```javascript
var logpdf = require('@stdlib/stats/base/dists/exponential/logpdf');
```
#### logpdf(x, lambda)
Evaluates the natural logarithm of the probability density function for an exponential distribution with rate parameter `lambda`.

```javascript
var y = logpdf(1.0, 2.0);
// returns ~-1.307

y = logpdf(0.5, 1.0);
// returns ~-0.5

y = logpdf(-1.0, 4.0);
// returns -Infinity
```
#### logpdf.factory(lambda)
Returns a function for evaluating the natural logarithm of the probability density function for an exponential distribution with rate parameter `lambda`.

```javascript
var mylogpdf = logpdf.factory(2.0);

var y = mylogpdf(1.0);
// returns ~-1.307

y = mylogpdf(0.3);
// returns ~-0.599
```
### Quantile Function
```javascript
var quantile = require('@stdlib/stats/base/dists/exponential/quantile');
```
#### quantile(p, lambda)
Evaluates the [quantile function][quantile-function] for an exponential distribution with rate parameter `lambda`.
```javascript
var y = quantile(0.8, 2.0);
// returns ~0.916

var y = quantile(0.5, 1.0);
// returns ~0.693
```
#### quantile.factory(lambda)
Returns a function for evaluating the [quantile function][quantile-function] of an exponential distribution with rate parameter `lambda`.
```javascript
var myQuantile = quantile.factory(2.0);

var y = myQuantile(0.4);
// returns ~0.511

var y = myQuantile(1.0);
// returns Infinity
```
### Moment-Generating Function (MGF)
```javascript
var mgf = require('@stdlib/stats/base/dists/exponential/mgf');
```
#### mgf(t, lambda)
Evaluates the [moment-generating function][mgf] of an exponential distribution with rate parameter `lambda`.
```javascript
var y = mgf(1.0, 2.0);
// returns ~1.5

var y = mgf(0.5, 1.0);
// returns ~2.0
```
#### quantile.factory(lambda)
mgf.factory(lambda)
Returns a function for evaluating the [moment-generating function][mgf] of an exponential distribution with rate parameter `lambda`.
```javascript
var mymgf = mgf.factory(2.0);

var y = mymgf(1.0);
// returns ~1.5

var y = mymgf(0.3);
// returns ~1.25
```
### Entropy(lambda)
Evaluates the differential entropy of an exponential distribution with rate parameter `lambda`.
```javascript
var entropy = require('@stdlib/stats/base/dists/exponential/entropy');

var y = entropy(2.0);
// returns ~0.306
```
### Median(lambda)
Evaluates the median of an exponential distribution with rate parameter `lambda`.
```javascript
var median = require('@stdlib/stats/base/dists/exponential/median');

var y = median(2.0);
// returns ~0.347
```
### Mode(lambda)
Evaluates the mode of an exponential distribution with rate parameter `lambda`.
```javascript
var mode = require('@stdlib/stats/base/dists/exponential/mode');

var y = mode(2.0);
// returns 0.0
```
### Skewness(lambda)
Evaluates the skewness of an exponential distribution with rate parameter `lambda`.
```javascript
var skewness = require('@stdlib/stats/base/dists/exponential/skewness');

var y = skewness(2.0);
// returns 2.0
```
### Standard Deviation(lambda)
Evaluates the standard deviation of an exponential distribution with rate parameter `lambda`.
```javascript
var stdev = require('@stdlib/stats/base/dists/exponential/stdev');

var y = stdev(2.0);
// returns 0.5
```
### Variance(lambda)
Evaluates the variance of an exponential distribution with rate parameter `lambda`.
```javascript
var variance = require('@stdlib/stats/base/dists/exponential/variance');

var y = variance(2.0);
// returns 0.25
```
### Using the Constructor
#### Creating an Exponential Distribution Object
```javascript
var Exponential = require('@stdlib/stats/base/dists/exponential').Exponential;

var dist = new Exponential(2.0);

var y = dist.pdf(0.8);
// returns ~0.271
```
#### Using Distribution Object Methods
Evaluate the mean and variance using the distribution object:
```javascript
console.log('Mean: ' + dist.mean);
// Output: Mean: 0.5

console.log('Variance: ' + dist.variance);
// Output: Variance: 0.25
```
</section>

<!-- /.examples -->
Expand Down
Loading