adaptive kernel density estimation in one-dimension
Fast adaptive kernel density estimation in one-dimension in one m-file;
Provides optimal accuracy/speed trade-off. To increase speed when dealing with "big data",
simply reduce the "gam" parameter; Typically "gam=n^(1/3)", where "n" is the length of data.
% [pdf,grid]=akde1d(X,grid,gam)
INPUTS:
X - data as a 'n' by '1' vector;
grid - (optional) mesh over which density is to be computed;
default mesh uses 2^12 points over range of data;
gam - (optional) cost/accuracy trade-off parameter, where gam<n;
default value is gam=ceil(n^(1/3))+20; larger values
result in better accuracy, but reduce speed;
to speedup the code, use smaller "gam";
OUTPUT:
pdf - the value of the estimated density at 'grid'
EXAMPLE:
data=[exp(randn(10^3,1))]; % log-normal sample
[pdf,grid]=akde1d(data); plot(grid,pdf)
Note: If you need a very fast estimator use my "kde.m" function.
This routine is more adaptive at the expense of speed. Use "gam" to control a speed/accuracy tradeoff.
Reference:
Kernel density estimation via diffusion
Z. I. Botev, J. F. Grotowski, and D. P. Kroese (2010)
Annals of Statistics, Volume 38, Number 5, pages 2916-2957.
Zitieren als
Zdravko Botev (2024). adaptive kernel density estimation in one-dimension (https://www.mathworks.com/matlabcentral/fileexchange/58309-adaptive-kernel-density-estimation-in-one-dimension), MATLAB Central File Exchange. Abgerufen.
Kompatibilität der MATLAB-Version
Plattform-Kompatibilität
Windows macOS LinuxKategorien
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Live Editor erkunden
Erstellen Sie Skripte mit Code, Ausgabe und formatiertem Text in einem einzigen ausführbaren Dokument.
Version | Veröffentlicht | Versionshinweise | |
---|---|---|---|
1.0.0.0 |