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


Python SciPy gaussian_kde.set_bandwidth用法及代碼示例


本文簡要介紹 python 語言中 scipy.stats.gaussian_kde.set_bandwidth 的用法。

用法:

gaussian_kde.set_bandwidth(bw_method=None)#

用給定的方法計算估計器帶寬。

調用 set_bandwidth 後計算出的新帶寬用於後續估計密度的評估。

參數

bw_method str,標量或可調用,可選

用於計算估計器帶寬的方法。這可以是‘scott’, ‘silverman’、標量常量或可調用對象。如果是標量,這將直接用作kde.factor.如果是可調用的,它應該需要一個scipy.stats.gaussian_kde實例作為唯一參數並返回一個標量。如果 None (默認),什麽都不會發生;當前kde.covariance_factor方法被保留。

注意

例子

>>> import numpy as np
>>> import scipy.stats as stats
>>> x1 = np.array([-7, -5, 1, 4, 5.])
>>> kde = stats.gaussian_kde(x1)
>>> xs = np.linspace(-10, 10, num=50)
>>> y1 = kde(xs)
>>> kde.set_bandwidth(bw_method='silverman')
>>> y2 = kde(xs)
>>> kde.set_bandwidth(bw_method=kde.factor / 3.)
>>> y3 = kde(xs)
>>> import matplotlib.pyplot as plt
>>> fig, ax = plt.subplots()
>>> ax.plot(x1, np.full(x1.shape, 1 / (4. * x1.size)), 'bo',
...         label='Data points (rescaled)')
>>> ax.plot(xs, y1, label='Scott (default)')
>>> ax.plot(xs, y2, label='Silverman')
>>> ax.plot(xs, y3, label='Const (1/3 * Silverman)')
>>> ax.legend()
>>> plt.show()
scipy-stats-gaussian_kde-set_bandwidth-1.png

相關用法


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