a kernel density estimate of one dimensional data by diffusion, the Gaussian kernel’s bandwidth chosen from the data

Syntax

bw, density, xmesh = kde1d(data)

The density on 2^14 points.

bw, density, xmesh = kde1d(data, 2 ** 10, lo, hi)

On 2^10 points of [lo, hi].

bw, density, xmesh = kde1d(data, weights=w, bandwidth=2.0) # weighted data, a bandwidth chosen

Description

The data are binned on n cells of [lo, hi] and the histogram is smoothed by the heat kernel, which is the Gaussian kernel of the bandwidth sqrt(t) (hi - lo). The time t is the fixed point of Botev, Grotowski and Kroese’s equation, which does not assume a parametric model and so does not deteriorate for multimodal data with widely separated modes. The density integrates to one over [lo, hi].

MATLAB’s kde1d takes the bandwidth option as the diffusion time t; here it is the bandwidth in the units of the data. MATLAB’s magicNumber, its fourth output, the cumulative distribution, and its plot when no output is asked are not ported.

Input

data array, the samples

Keywords

keyword default description
n 16384 the number of cells, rounded up to a power of two
lo None the lower end of the interval; with hi, by default the range of the data widened by half of it on each side
hi None the upper end of the interval
weights None the weights of the samples
bandwidth None the bandwidth of the kernel instead of the one chosen from the data

Output

bw the bandwidth of the Gaussian kernel, in the units of the data
density array of length n, the density estimate at the points of xmesh
xmesh array of length n, the centres of the cells of [lo, hi]

References

  • Z. I. Botev, J. F. Grotowski, D. P. Kroese, Kernel density estimation via diffusion, Annals of Statistics 38 (2010) 2916-2957

See also

kdeN, calcDensity

source

Citing this page. This page is part of the documentation of MTEX, a free and open source MATLAB toolbox for analyzing and modeling crystallographic textures. It was written by The MTEX Developers and is published at https://mtex-toolbox.github.io/kde1d_py.html. If you use MTEX, or reuse text or figures from this page, in your research, please cite

F. Bachmann, R. Hielscher, H. Schaeben: Texture Analysis with MTEX - Free and Open Source Software Toolbox, Solid State Phenomena 160 (2010), 63-68. 10.4028/www.scientific.net/SSP.160.63

BibTeX
@article{bachmann2010mtex,
  author  = {F. Bachmann and R. Hielscher and H. Schaeben},
  title   = {Texture Analysis with MTEX - Free and Open Source Software Toolbox},
  journal = {Solid State Phenomena},
  volume  = {160},
  pages   = {63-68},
  year    = {2010},
  doi     = {10.4028/www.scientific.net/SSP.160.63},
  url     = {https://doi.org/10.4028/www.scientific.net/SSP.160.63}
}

Other papers describing specific MTEX methods are listed under Publications — please cite the one that best fits your application. The MTEX source code is licensed under the GNU General Public License v2.0; the text and figures of this documentation are licensed under CC BY 4.0, which permits reuse — including by automated systems — provided The MTEX Developers and this page are credited.