Skip to content

dchao34/bbrcit_kde

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Library for kernel density estimation.

Although a CUDA capable GPU is not required to use this library, we highly recommend it for large problem sizes.

Supported features and algorithms

  • Direct kernel density computation.
  • Single and dual-tree evaluation with guaranteed relative and absolute tolerance. The algorithm is based on A. Gray and A. Moore's paper, and the implementation is based on a Kdtree.
  • GPU accelerated for sections that require N-body computations. The algorithm used here is similar to those described in GPU Gems 3.
  • Adaptive kernel density. The algorithm used here is the same as those described in section 5.3 of Silverman's book.
  • Likelihood cross validation.
  • Least squares cross validation. Two flavors:
    1. Convolution kernel.
    2. Numerical integration. Currently only for 2d data.
  • Grid search tool for least squares cross validation.
  • Arbitrary dimensions kernel densities. For GPU evaluations, one must provide the appropriate PointNd specializations if it is not already provided. At present, 1D and 2D estimators work out of the box.
  • Arbitrary kernels, but any new additions must conform to the specified API. At present, we provide the following out of the box:
    • EpanechnikovKernel.h: Single bandwidth Epanechnikov kernel in arbitrary dimensions.
    • GaussianKernel.h: Single bandwidth Gaussian kernel in arbitrary dimensions.
    • EpanechnikovProductKernel2d.h: Epanechnikov product kernel in 2 dimensions.
    • GaussianProductKernel2d.h: Gaussian product kernel in 2 dimensions.
  • Weighted contributions of reference points.
  • Simulating points from the kernel density.

About

Programs to perform kernel density estimation.

Resources

Stars

Watchers

Forks

Packages

No packages published