# distributions-truncated-normal-pdf

0.0.0 • Public • Published

# Probability Density Function

Truncated normal distribution probability density function (PDF).

The distribution of a normally distributed random variable `X` conditional on `a < X < b` is a truncated normal distribution. The probability density function (PDF) for a truncated normal random variable is

where `Phi` and `phi` denote the cumulative distribution function and density function of the normal distribution, respectively, `mu` is the location and `sigma > 0` is the scale parameter of the distribution. `a` and `b` are the minimum and maximum support.

## Installation

For use in the browser, use browserify.

## Usage

#### pdf( x[, options] )

Evaluates the probability density function (PDF) for the truncated normal distribution. `x` may be either a `number`, an `array`, a `typed array`, or a `matrix`.

The function accepts the following `options`:

• a: minimum support. Default: `-Infinity`
• b: maximum support. Default: `+Infinity`
• mu: location parameter. Default: `0`.
• sigma: scale parameter. Default: `1`.
• accessor: accessor `function` for accessing `array` values.
• dtype: output `typed array` or `matrix` data type. Default: `float64`.
• copy: `boolean` indicating if the `function` should return a new data structure. Default: `true`.
• path: deepget/deepset key path.
• sep: deepget/deepset key path separator. Default: `'.'`.

A truncated normal distribution is a function of four parameters: `a` and `b`, the minimum and maximum support, `mu`(location parameter) and `sigma > 0`(scale parameter). By default, `a = -Infinity` and `b = +Infinity`, `mu` is equal to `0` and `sigma` is equal to `1`. To adjust either parameter, set the corresponding option.

For non-numeric `arrays`, provide an accessor `function` for accessing `array` values.

To deepset an object `array`, provide a key path and, optionally, a key path separator.

By default, when provided a `typed array` or `matrix`, the output data structure is `float64` in order to preserve precision. To specify a different data type, set the `dtype` option (see `matrix` for a list of acceptable data types).

By default, the function returns a new data structure. To mutate the input data structure (e.g., when input values can be discarded or when optimizing memory usage), set the `copy` option to `false`.

## Notes

• If an element is not a numeric value, the evaluated PDF is `NaN`.

• Be careful when providing a data structure which contains non-numeric elements and specifying an `integer` output data type, as `NaN` values are cast to `0`.

## Examples

To run the example code from the top-level application directory,

## Tests

### Unit

Unit tests use the Mocha test framework with Chai assertions. To run the tests, execute the following command in the top-level application directory:

All new feature development should have corresponding unit tests to validate correct functionality.

### Test Coverage

This repository uses Istanbul as its code coverage tool. To generate a test coverage report, execute the following command in the top-level application directory:

Istanbul creates a `./reports/coverage` directory. To access an HTML version of the report,

## Package Sidebar

### Install

`npm i distributions-truncated-normal-pdf`

49

0.0.0