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 classTricubeKernelDensityFunction.ParParameterization stub.
-
Field Summary
Fields Modifier and Type Field Description static doubleCANONICAL_BANDWIDTHCanonical bandwidth.static TricubeKernelDensityFunctionKERNELStatic instance.private static doubleRR constant.private doubleSCALEScaling factor.private static doubleSTDDEVStandard deviation.
-
Constructor Summary
Constructors Modifier Constructor Description privateTricubeKernelDensityFunction()Private, empty constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description doublecanonicalBandwidth()Get the canonical bandwidth for this kernel.doubledensity(double delta)Density contribution of a point at the given relative distancedelta >= 0.doublegetR()Get the R integral of the kernel, \int K^2(x) dxdoublestandardDeviation()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:KernelDensityFunctionDensity 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:
densityin interfaceKernelDensityFunction- Parameters:
delta- Relative distance- Returns:
- density contribution
-
canonicalBandwidth
public double canonicalBandwidth()
Description copied from interface:KernelDensityFunctionGet the canonical bandwidth for this kernel.Note: R uses a different definition of "canonical bandwidth", and also uses differently scaled kernels.
- Specified by:
canonicalBandwidthin interfaceKernelDensityFunction- Returns:
- Canonical bandwidth
-
standardDeviation
public double standardDeviation()
Description copied from interface:KernelDensityFunctionGet the standard deviation of the kernel function.- Specified by:
standardDeviationin interfaceKernelDensityFunction- Returns:
- Standard deviation
-
getR
public double getR()
Description copied from interface:KernelDensityFunctionGet the R integral of the kernel, \int K^2(x) dxTODO: any better name for this?
- Specified by:
getRin interfaceKernelDensityFunction- Returns:
- R value
-
-