scipy.stats.Normal.

logpdf#

Normal.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)。因此,可能更傾向於使用機率和機率密度的對數,以避免下溢。

參考文獻

[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