scipy.stats.gaussian_kde.

set_bandwidth#

gaussian_kde.set_bandwidth(bw_method=None)[источник]#

Вычислить коэффициент полосы пропускания заданным методом.

Новая полоса пропускания, рассчитанная после вызова set_bandwidth используется для последующих вычислений оценённой плотности.

Параметры:
bw_methodstr, scalar or callable, optional

Метод, используемый для вычисления коэффициента полосы пропускания. Это может быть 'scott', 'silverman', скалярная константа или вызываемый объект. Если скаляр, он будет использоваться напрямую как фактор. Если вызываемый объект, он должен принимать gaussian_kde экземпляр в качестве единственного параметра и возвращает скаляр. Если None (по умолчанию), ничего не происходит; текущий covariance_factor метод сохраняется.

Примечания

Добавлено в версии 0.11.

Примеры

>>> 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()
../../_images/scipy-stats-gaussian_kde-set_bandwidth-1.png