Class TricubeKernelDensityFunction
- java.lang.Object
-
- elki.math.statistics.kernelfunctions.TricubeKernelDensityFunction
-
- All Implemented Interfaces:
KernelDensityFunction
public final class TricubeKernelDensityFunction extends java.lang.Object implements KernelDensityFunction
Tricube kernel density estimator.- Since:
- 0.6.0
- Author:
- Erich Schubert
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
TricubeKernelDensityFunction.Par
Parameterization stub.
-
Field Summary
Fields Modifier and Type Field Description static double
CANONICAL_BANDWIDTH
Canonical bandwidth.static TricubeKernelDensityFunction
KERNEL
Static instance.private static double
R
R constant.private double
SCALE
Scaling factor.private static double
STDDEV
Standard deviation.
-
Constructor Summary
Constructors Modifier Constructor Description private
TricubeKernelDensityFunction()
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 TricubeKernelDensityFunction KERNEL
Static instance.
-
CANONICAL_BANDWIDTH
public static final double CANONICAL_BANDWIDTH
Canonical bandwidth. Computed as (R / STDDEV^4)^(1/5)
-
STDDEV
private static final double STDDEV
Standard deviation.
-
R
private static final double R
R constant.- See Also:
- Constant Field Values
-
SCALE
private final double SCALE
Scaling factor.- 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
-
-