knuth_bin_width¶
- astropy.stats.knuth_bin_width(data, return_bins=False, quiet=True)[source]¶
Return the optimal histogram bin width using Knuth’s rule.
Knuth’s rule is a fixed-width, Bayesian approach to determining the optimal bin width of a histogram.
- Parameters:
- datanumpy:array_like, ndim=1
observed (one-dimensional) data
- return_binsbool, optional
if True, then return the bin edges
- quietbool, optional
if True (default) then suppress stdout output from scipy.optimize
- Returns:
- dx
python:float
optimal bin width. Bins are measured starting at the first data point.
- bins
ndarray
bin edges: returned if
return_bins
is True
- dx
Notes
The optimal number of bins is the value M which maximizes the function
\[F(M|x,I) = n\log(M) + \log\Gamma(\frac{M}{2}) - M\log\Gamma(\frac{1}{2}) - \log\Gamma(\frac{2n+M}{2}) + \sum_{k=1}^M \log\Gamma(n_k + \frac{1}{2})\]where \(\Gamma\) is the Gamma function, \(n\) is the number of data points, \(n_k\) is the number of measurements in bin \(k\) [1].
References
[1]Knuth, K.H. “Optimal Data-Based Binning for Histograms”. arXiv:0605197, 2006