Class UniformKernelDensityFunction
- java.lang.Object
-
- elki.math.statistics.kernelfunctions.UniformKernelDensityFunction
-
- All Implemented Interfaces:
KernelDensityFunction
public final class UniformKernelDensityFunction extends java.lang.Object implements KernelDensityFunction
Uniform / Rectangular kernel density estimator.- Since:
- 0.6.0
- Author:
- Erich Schubert
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
UniformKernelDensityFunction.Par
Parameterization stub.
-
Field Summary
Fields Modifier and Type Field Description static double
CANONICAL_BANDWIDTH
Canonical bandwidth: (9/2)^(1/5)static UniformKernelDensityFunction
KERNEL
Static instance.private static double
R
R constant.private static double
STDDEV
Standard deviation.
-
Constructor Summary
Constructors Modifier Constructor Description private
UniformKernelDensityFunction()
Private, empty constructor.
-
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 distancedelta >= 0
.double
getR()
Get the R integral of the kernel, \int K^2(x) dxdouble
standardDeviation()
Get the standard deviation of the kernel function.
-
-
-
Field Detail
-
KERNEL
public static final UniformKernelDensityFunction KERNEL
Static instance.
-
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: (9/2)^(1/5)
-
STDDEV
private static final double STDDEV
Standard deviation.
-
R
private static final double R
R constant.- See Also:
- Constant Field Values
-
-
Method Detail
-
density
public double density(double delta)
Description copied from interface:KernelDensityFunction
Density contribution of a point at the given relative distancedelta >= 0
.Note that for
delta < 0
, in particular fordelta < 1
, the results may become invalid. So usually, you will want to invoke this as:kernel.density(Math.abs(delta))
- Specified by:
density
in interfaceKernelDensityFunction
- 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 interfaceKernelDensityFunction
- Returns:
- Canonical bandwidth
-
standardDeviation
public double standardDeviation()
Description copied from interface:KernelDensityFunction
Get the standard deviation of the kernel function.- Specified by:
standardDeviation
in interfaceKernelDensityFunction
- Returns:
- Standard deviation
-
getR
public double getR()
Description copied from interface:KernelDensityFunction
Get the R integral of the kernel, \int K^2(x) dxTODO: any better name for this?
- Specified by:
getR
in interfaceKernelDensityFunction
- Returns:
- R value
-
-