当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。