scipy.stats.Uniform.

logpdf#

Uniform.logpdf(x, /, *, method=None)[源代码]#

概率密度函数的对数

概率密度函数 (“PDF”),表示为 \(f(x)\),是随机变量取值为 \(x\)单位长度概率。 从数学上讲,它可以定义为累积分布函数 \(F(x)\) 的导数。

\[f(x) = \frac{d}{dx} F(x)\]

logpdf 计算概率密度函数的对数 (“log-PDF”),\(\log(f(x))\),但与朴素实现(计算 \(f(x)\) 并取对数)相比,它可能在数值上更具优势。

logpdf 接受 x 作为 \(x\)

参数:
xarray_like

log-PDF 的参数。

method{None, ‘formula’, ‘logexp’}

用于评估 log-PDF 的策略。 默认情况下 (None),基础设施在以下选项之间进行选择,按优先级顺序列出。

  • 'formula':使用 log-PDF 本身的公式

  • 'logexp':评估 PDF 并取其对数

并非所有 method 选项都适用于所有分布。 如果选择的 method 不可用,则会引发 NotImplementedError

返回值:
outarray

在参数 x 处评估的 log-PDF。

另请参阅

pdf
logcdf

说明

假设连续概率分布具有支撑集 \([l, r]\)。 根据支撑集的定义,log-PDF 在支撑集之外评估为其最小值 \(-\infty\)(即 \(\log(0)\)); 即对于 \(x < l\)\(x > r\)。 log-PDF 的最大值可能小于或大于 \(\log(1) = 0\),因为 PDF 的最大值可以是任何正实数。

对于具有无限支撑集的分布,当参数在理论上位于支撑集内时,pdf 通常返回 0 值; 这种情况可能发生,因为 PDF 的真实值太小,无法用所选的 dtype 表示。 然而,log-PDF 通常在更大的域上是有限的(不是 -inf)。 因此,最好使用概率和概率密度的对数来避免下溢。

对于离散分布,logpdf 在支持点返回 inf,在其他地方返回 -inf (log(0))。

参考文献

[1]

概率密度函数, 维基百科, https://en.wikipedia.org/wiki/Probability_density_function

示例

使用所需的参数实例化一个分布

>>> import numpy as np
>>> from scipy import stats
>>> X = stats.Uniform(a=-1.0, b=1.0)

在所需的参数处评估 log-PDF

>>> X.logpdf(0.5)
-0.6931471805599453
>>> np.allclose(X.logpdf(0.5), np.log(X.pdf(0.5)))
True