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()