covNNC()
estimates robust covariance/dispersion matrices by the
nearest neighbor variance estimation (NNVE) or (rather)
“Nearest Neighbor Cleaning” (NNC) method of Wang and Raftery
(2002, JASA).
covNNC(X, k = min(12, n - 1), pnoise = 0.05, emconv = 0.001,
bound = 1.5, extension = TRUE, devsm = 0.01)
A list with components
covariance matrix
mean vector
posterior probability
classification (0=noise otherwise 1) obtained
by rounding postprob
list of initial nearest neighbor cleaning results (components are the covariance, mean, posterior probability and classification)
matrix in which each row represents an observation or point and each column represents a variable.
desired number of nearest neighbors (default is 12)
percent of added noise
convergence tolerance for EM
value used to identify surges in variance caused by
outliers wrongly included as signal points (bound = 1.5
means a 50 percent increase)
whether or not to continue after reaching the last
chi-square distance. The default is to continue,
which is indicated by setting extension = TRUE
.
when extension = TRUE
, the algorithm stops if the
relative difference in variance is less than devsm
.
(default is 0.01)
Naisyin Wang nwang@stat.tamu.edu and Adrian Raftery raftery@stat.washington.edu with contributions from Chris Fraley fraley@stat.washington.edu.
covNNC()
, then named cov.nnve()
, used to be (the only
function) in CRAN package covRobust (2003), which was archived
in 2012.
Martin Maechler allowed ncol(X) == 1
,
sped up the original code, by reducing the amount of scaling;
further, the accuracy was increased (using internal q.dDk()
).
The original version is available, unexported as
robustX:::covNNC1
.
Wang, N. and Raftery, A. (2002) Nearest neighbor variance estimation (NNVE): Robust covariance estimation via nearest neighbor cleaning (with discussion). Journal of the American Statistical Association 97, 994--1019.
See also University of Washington Statistics Technical Report 368 (2000); see at https://stat.uw.edu/research/tech-reports/
cov.mcd
from package MASS;
covMcd
, and covOGK
from package robustbase.
The whole package rrcov.
data(iris)
covNNC(iris[-5])
data(hbk, package="robustbase")
hbk.x <- data.matrix(hbk[, 1:3])
covNNC(hbk.x)
Run the code above in your browser using DataLab