kernelDist {TDA} | R Documentation |
Kernel distance over a Grid of Points
Description
Given a point cloud X
, the function kernelDist
computes the kernel distance over a grid of points. The kernel is a Gaussian Kernel with smoothing parameter h:
K_h(x,y)=\exp\left( \frac{- \Vert x-y \Vert_2^2}{2h^2} \right).
For each x \in R^d
, the Kernel distance is defined by
\kappa_X(x)=\sqrt{ \frac{1}{n^2} \sum_{i=1}^n\sum_{j=1}^n K_h(X_i, X_j) + K_h(x,x) - 2 \frac{1}{n} \sum_{i=1}^n K_h(x,X_i) }.
Usage
kernelDist(X, Grid, h, weight = 1, printProgress = FALSE)
Arguments
X |
an |
Grid |
an |
h |
number: the smoothing paramter of the Gaussian Kernel. |
weight |
either a number, or a vector of length |
printProgress |
if |
Value
The function kernelDist
returns a vector of lenght m
(the number of points in the grid) containing the value of the Kernel distance for each point in the grid.
Author(s)
Jisu Kim and Fabrizio Lecci
References
Phillips JM, Wang B, Zheng Y (2013). "Geometric Inference on Kernel Density Estimates." arXiv:1307.7760.
Chazal F, Fasy BT, Lecci F, Michel B, Rinaldo A, Wasserman L (2014). "Robust Topological Inference: Distance-To-a-Measure and Kernel Distance." Technical Report.
See Also
Examples
## Generate Data from the unit circle
n <- 300
X <- circleUnif(n)
## Construct a grid of points over which we evaluate the functions
by <- 0.065
Xseq <- seq(-1.6, 1.6, by = by)
Yseq <- seq(-1.7, 1.7, by = by)
Grid <- expand.grid(Xseq, Yseq)
## kernel distance estimator
h <- 0.3
Kdist <- kernelDist(X, Grid, h)