當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python SciPy special.xlog1py用法及代碼示例

本文簡要介紹 python 語言中 scipy.special.xlog1py 的用法。

用法:

scipy.special.xlog1py(x, y, out=None) = <ufunc 'xlog1py'>#

計算 x*log1p(y),如果 x = 0 則結果為 0。

參數

x array_like

乘數

y array_like

參數

out ndarray,可選

函數結果的可選輸出數組

返回

z 標量或 ndarray

計算 x*log1p(y)

注意

例子

此示例說明如何使用該函數來計算幾何離散隨機變量的概率質量函數的對數。幾何分布的概率質量函數定義如下:

其中 是單次成功的概率, 是單次失敗的概率, 是獲得第一次成功的嘗試次數。

>>> import numpy as np
>>> from scipy.special import xlog1py
>>> p = 0.5
>>> k = 100
>>> _pmf = np.power(1 - p, k - 1) * p
>>> _pmf
7.888609052210118e-31

如果我們將 k 取為一個相對較大的數字,則概率質量函數的值可能會變得非常低。在這種情況下,采用 pmf 的對數會更合適,因為對數函數可以將值更改為更適合使用的比例。

>>> _log_pmf = xlog1py(k - 1, -p) + np.log(p)
>>> _log_pmf
-69.31471805599453

我們可以通過取 log pmf 的指數來確認我們得到的值接近於原始 pmf 值。

>>> _orig_pmf = np.exp(_log_pmf)
>>> np.isclose(_pmf, _orig_pmf)
True

相關用法


注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.special.xlog1py。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。