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。
註解
假設一個連續機率分布具有 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