alphahull (version 2.2)

dw: Devroye-Wise estimator

Description

This function calculates the Devroye-Wise estimator of a given sample of points in the plane for \(\epsilon>0\).

Usage

dw(x, y = NULL, eps)

Arguments

x, y

The x and y arguments provide the x and y coordinates of a set of points. Alternatively, a single argument x can be provided, see Details.

eps

Value of \(\epsilon\).

Value

Given a sample of points in the plane, the estimator is defined as union of balls of radius \(\epsilon\) with centers in the sample points. For each arc in the boundary of the Devroye-Wise estimator, the columns of the output matrix store the center \(c\) and radius \(r\) of the arc, the unitary vector \(v\), the angle \(\theta\) that define the arc and the indices of the end points.

Details

An attempt is made to interpret the arguments x and y in a way suitable for computing the Devroye-Wise estimator. Any reasonable way of defining the coordinates is acceptable, see xy.coords.

References

Devroye, L. and Wise, G. (1980) Detection of abnormal behaviour via nonparametric estimation of the support. SIAM J. Appl. Math. 3, pp. 480-488.

Examples

Run this code
# NOT RUN {
# Uniform sample of size n = 200 in the annulus B(c, 0.5)\B(c, 0.25), 
# with c = (0.5, 0.5).
n <- 200
theta <- runif(n, 0, 2*pi)
r <- sqrt(runif(n, 0.25^2, 0.5^2))
x <- cbind(0.5 + r*cos(theta), 0.5 + r*sin(theta))
eps <- 0.05
dw.obj <- dw(x, eps = eps)
plot(x)
for(i in 1:dim(dw.obj)[1]){arc(dw.obj[i, 1:2], eps, dw.obj[i, 4:5], dw.obj[i, 6])}
# }

Run the code above in your browser using DataLab