log — SciPy v1.15.3 Manual (original) (raw)

scipy.stats.

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

Natural logarithm of a non-negative random variable

Parameters:

XContinuousDistribution

The random variable \(X\) with positive support.

Returns:

YContinuousDistribution

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

Examples

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

import numpy as np from scipy import stats Gamma = stats.make_distribution(stats.gamma) X = Gamma(a=1.0)

We wish to have a exp-gamma distributed random variable \(Y\), a random variable whose natural exponential is \(X\). If \(X\) is to be the natural exponential of \(Y\), then we must take \(Y\) to be the natural logarithm of \(X\).

To demonstrate that X represents the exponential of Y, we plot a normalized histogram of the exponential of observations ofY against the PDF underlying X.

import matplotlib.pyplot as plt rng = np.random.default_rng() y = Y.sample(shape=10000, rng=rng) ax = plt.gca() ax.hist(np.exp(y), bins=50, density=True) X.plot(ax=ax) plt.legend(('PDF of X', 'histogram of exp(y)')) plt.show()

../../_images/scipy-stats-log-1.png