Class EpanechnikovKernelDensityFunction

  • All Implemented Interfaces:
    KernelDensityFunction

    @Alias("epanechnikov")
    public final class EpanechnikovKernelDensityFunction
    extends java.lang.Object
    implements KernelDensityFunction
    Epanechnikov kernel density estimator.
    Since:
    0.6.0
    Author:
    Erich Schubert
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      double canonicalBandwidth()
      Get the canonical bandwidth for this kernel.
      double density​(double delta)
      Density contribution of a point at the given relative distance delta >= 0.
      double getR()
      Get the R integral of the kernel, \int K^2(x) dx
      double standardDeviation()
      Get the standard deviation of the kernel function.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • CANONICAL_BANDWIDTH

        @Reference(authors="J. S. Marron, D. Nolan",
                   title="Canonical kernels for density estimation",
                   booktitle="Statistics & Probability Letters, Volume 7, Issue 3",
                   url="https://doi.org/10.1016/0167-7152(88)90050-8",
                   bibkey="doi:10.1016/0167-71528890050-8")
        public static final double CANONICAL_BANDWIDTH
        Canonical bandwidth: 15^(1/5)
      • STDDEV

        public static final double STDDEV
        Standard deviation.
    • Constructor Detail

      • EpanechnikovKernelDensityFunction

        private EpanechnikovKernelDensityFunction()
        Private, empty constructor. Use the static instance!
    • Method Detail

      • density

        public double density​(double delta)
        Description copied from interface: KernelDensityFunction
        Density contribution of a point at the given relative distance delta >= 0.

        Note that for delta < 0, in particular for delta < 1, the results may become invalid. So usually, you will want to invoke this as:

        kernel.density(Math.abs(delta))

        Specified by:
        density in interface KernelDensityFunction
        Parameters:
        delta - Relative distance
        Returns:
        density contribution
      • canonicalBandwidth

        public double canonicalBandwidth()
        Description copied from interface: KernelDensityFunction
        Get the canonical bandwidth for this kernel.

        Note: R uses a different definition of "canonical bandwidth", and also uses differently scaled kernels.

        Specified by:
        canonicalBandwidth in interface KernelDensityFunction
        Returns:
        Canonical bandwidth
      • getR

        public double getR()
        Description copied from interface: KernelDensityFunction
        Get the R integral of the kernel, \int K^2(x) dx

        TODO: any better name for this?

        Specified by:
        getR in interface KernelDensityFunction
        Returns:
        R value