bundles / scipy latest / scipy / stats / _kde / gaussian_kde / set_bandwidth
function
scipy.stats._kde:gaussian_kde.set_bandwidth
source: /scipy/stats/_kde.py :518
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()✗
plt.show()
✓
Aliases
-
scipy.stats.gaussian_kde.set_bandwidth