scipy.stats.

abs#

scipy.stats.abs(X, /)[source]#

Absolute value of a random variable

Parameters:
XContinuousDistribution

The random variable \(X\).

Returns:
YContinuousDistribution

A random variable \(Y = |X|\).

Examples

Suppose we have a normally distributed random variable \(X\):

>>> import numpy as np
>>> from scipy import stats
>>> X = stats.Normal()

We wish to have a random variable \(Y\) distributed according to the folded normal distribution; that is, a random variable \(|X|\).

>>> Y = stats.abs(X)

The PDF of the distribution in the left half plane is “folded” over to the right half plane. Because the normal PDF is symmetric, the resulting PDF is zero for negative arguments and doubled for positive arguments.

>>> import matplotlib.pyplot as plt
>>> x = np.linspace(0, 5, 300)
>>> ax = plt.gca()
>>> Y.plot(x='x', y='pdf', t=('x', -1, 5), ax=ax)
>>> plt.plot(x, 2 * X.pdf(x), '--')
>>> plt.legend(('PDF of `Y`', 'Doubled PDF of `X`'))
>>> plt.show()
../../_images/scipy-stats-abs-1.png