the adaptive kernel density estimate of samples in several dimensions, the regularised EM mixture of Botev et al.; MATLAB’s kdeN

Syntax

pdf, bw = kdeN(X, grid)

Ceil(sqrt(n)) Gaussians.

pdf, bw = kdeN(X, grid, gam=50, rng=np.random.default_rng(1))

More Gaussians, reproducible.

Description

A mixture of gam Gaussians is fitted by the regularised EM iteration to the data scaled to their bounding box widened by a tenth on every side, and evaluated at the rows of grid. The start is random: rng makes it reproducible. Rows with a NaN are dropped. MATLAB returns the 2d grid it builds when none is given; here the grid is required and the bandwidth is returned instead. calcDensity of a matrix of samples calls it on a regular grid.

Input

X ndarray of shape (n, d), one sample per row
grid ndarray of shape (m, d), the points to evaluate at

Keywords

keyword default description
gam None the number of Gaussians, below n; larger may be more accurate and is slower
rng None the numpy random generator of the start

Output

pdf the density at the rows of grid
bw the bandwidth per dimension

References

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

See also

calcDensity, calcDensityReal, kde1d

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/kdeN_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.