logpdf#
- Mixture.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。
筆記
假設連續機率分布具有支持 \([l, r]\)。 根據支持的定義,log-PDF 在支持之外評估為其最小值 \(-\infty\) (即 \(\log(0)\));即對於 \(x < l\) 或 \(x > r\)。 log-PDF 的最大值可能小於或大於 \(\log(1) = 0\),因為 PDF 的最大值可以是任何正實數。
對於具有無限支持的分布,當引數在理論上位於支持範圍內時,
pdf
通常會返回0
的值;發生這種情況可能是因為 PDF 的真實值太小,無法用所選的 dtype 表示。 然而,log-PDF 通常會在更大的域上是有限的(非-inf
)。 因此,為了避免下溢,可能更傾向於使用機率和機率密度的對數。參考文獻
[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