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

註解

假設一個連續機率分布具有 support \([l, r]\)。根據 support 的定義,log-PDF 在 support 之外評估為其最小值 \(-\infty\) (即 \(\log(0)\));即對於 \(x < l\)\(x > r\)。log-PDF 的最大值可能小於或大於 \(\log(1) = 0\),因為 PDF 的最大值可以是任何正實數。

對於具有無限 support 的分布,常見的情況是,當引數在理論上位於 support 內時,pdf 會回傳值 0;這可能是因為 PDF 的真實值太小,無法用選定的 dtype 表示。然而,log-PDF 通常會在更大的定義域上是有限的(非 -inf)。因此,可能更偏好使用機率和機率密度的對數,以避免下溢。

參考文獻

[1]

Probability density function, 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