50% off: Unlimited data and AI learning.
The Learning Leader's Guide to AI Literacy

TDA (version 1.9.1)

kernelDist: 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: Kh(x,y)=exp(xy222h2). For each xRd, the Kernel distance is defined by κX(x)=1n2i=1nj=1nKh(Xi,Xj)+Kh(x,x)21ni=1nKh(x,Xi).

Usage

kernelDist(X, Grid, h, weight = 1, printProgress = FALSE)

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.

Arguments

X

an n by d matrix of coordinates of points, where n is the number of points and d is the dimension.

Grid

an m by d matrix of coordinates, where m is the number of points in the grid.

h

number: the smoothing paramter of the Gaussian Kernel.

weight

either a number, or a vector of length n. If it is a number, then same weight is applied to each points of X. If it is a vector, weight represents weights of each points of X. The default value is 1.

printProgress

if TRUE, a progress bar is printed. The default value is FALSE.

Author

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

kde, dtm, distFct

Examples

Run this code
## 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)

Run the code above in your browser using DataLab