Nearest neighbor based clutter/noise detection
Detects if data points are noise or part of a cluster, based on a Poisson process model.
NNclean(data, k, distances = NULL, edge.correct = FALSE, wrap = 0.1, convergence = 0.001, plot=FALSE, quiet=TRUE) ## S3 method for class 'nnclean' print(x, ...)
| data | numerical matrix or data frame. | 
| k | integer. Number of considered nearest neighbors per point. | 
| distances | distance matrix object of class  | 
| edge.correct | logical. If  | 
| wrap | numerical. If  | 
| convergence | numerical. Convergence criterion for EM-algorithm. | 
| plot | logical. If  | 
| quiet | logical. If  | 
| x | object of class  | 
| ... | necessary for print methods. | 
The assumption is that the noise is distributed as a homogeneous Poisson process on a certain region and the clusters are distributed as a homogeneous Poisson process with larger intensity on a subregion (disconnected in case of more than one cluster). The distances are then distributed according to a mixture of two transformed Gamma distributions, and this mixture is estimated via the EM-algorithm. The points are assigned to noise or cluster component by use of the estimated a posteriori probabilities.
NNclean returns a list of class nnclean with components
| z | 0-1-vector of length of the number of data points. 1 means cluster, 0 means noise. | 
| probs | vector of estimated a priori probabilities for each point to belong to the cluster component. | 
| k | see above. | 
| lambda1 | intensity parameter of cluster component. | 
| lambda2 | intensity parameter of noise component. | 
| p | estimated probability of cluster component. | 
| kthNND | distance to kth nearest neighbor. | 
The software can be freely used for non-commercial purposes, and can be freely distributed for non-commercial purposes only.
R-port by Christian Hennig
christian.hennig@unibo.it
https://www.unibo.it/sitoweb/christian.hennig/en,
original Splus package by S. Byers and A. E. Raftery.
Byers, S. and Raftery, A. E. (1998) Nearest-Neighbor Clutter Removal for Estimating Features in Spatial Point Processes, Journal of the American Statistical Association, 93, 577-584.
library(mclust) data(chevron) nnc <- NNclean(chevron[,2:3],15,plot=TRUE) plot(chevron[,2:3],col=1+nnc$z)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.