Copyright | (c) 2011 Bryan O'Sullivan |
---|---|
License | BSD3 |
Maintainer | bos@serpentine.com |
Stability | experimental |
Portability | portable |
Safe Haskell | None |
Language | Haskell98 |
Kernel density estimation. This module provides a fast, robust, non-parametric way to estimate the probability density function of a sample.
This estimator does not use the commonly employed "Gaussian rule of thumb". As a result, it outperforms many plug-in methods on multimodal samples with widely separated modes.
Estimation functions
:: (Vector v CD, Vector v Double, Vector v Int) | |
=> Int | The number of mesh points to use in the uniform discretization
of the interval |
-> v Double | |
-> (v Double, v Double) |
Gaussian kernel density estimator for one-dimensional data, using the method of Botev et al.
The result is a pair of vectors, containing:
- The coordinates of each mesh point. The mesh interval is chosen
to be 20% larger than the range of the sample. (To specify the
mesh interval, use
kde_
.) - Density estimates at each mesh point.
:: (Vector v CD, Vector v Double, Vector v Int) | |
=> Int | The number of mesh points to use in the uniform discretization
of the interval |
-> Double | Lower bound ( |
-> Double | Upper bound ( |
-> v Double | |
-> (v Double, v Double) |
Gaussian kernel density estimator for one-dimensional data, using the method of Botev et al.
The result is a pair of vectors, containing:
- The coordinates of each mesh point.
- Density estimates at each mesh point.
References
Botev. Z.I., Grotowski J.F., Kroese D.P. (2010). Kernel density estimation via diffusion. Annals of Statistics 38(5):2916–2957. http://arxiv.org/pdf/1011.2602