bundles / scipy 2.0.0.dev0+git20260907.41eeb59 / scipy / stats / _kde / gaussian_kde / set_bandwidth
function
scipy.stats._kde:gaussian_kde.set_bandwidth
source: build-install/usr/lib/python3.14/site-packages/scipy/stats/_kde.py:530
Signature
def set_bandwidth(self, bw_method = None)Summary
Compute the bandwidth factor with given method.
Extended Summary
The new bandwidth calculated after a call to set_bandwidth is used for subsequent evaluations of the estimated density.
Parameters
bw_method: str, scalar or callable, optionalThe method used to calculate the bandwidth factor. This can be 'scott', 'silverman', a scalar constant or a callable. If a scalar, this will be used directly as
factor. If a callable, it should take a gaussian_kde instance as only parameter and return a scalar. If None (default), nothing happens; the currentcovariance_factormethod is kept.
Notes
Examples
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()✗
<matplotlib.legend.Legend object at 0x7f3f601c3a10>
plt.show()
✓
Aliases
scipy.stats.gaussian_kde.set_bandwidth