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