logpdf#
- Binomial.logpdf(x, /, *, method=None)[source]#
概率密度函数的对数
概率密度函数(“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。
注释
假设一个连续概率分布具有支持 \([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]概率密度函数, Wikipedia, 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