pcaPP (version 1.9-60)

l1median_NLM: Multivariate L1 Median

Description

Computes the multivariate L1 median (also called spatial median) of a data matrix X.

Usage

l1median_NM (X, maxit = 200, tol = 10^-8, trace = 0,
             m.init = .colMedians (X), ...)
l1median_CG (X, maxit = 200, tol = 10^-8, trace = 0,
             m.init = .colMedians (X), ...)l1median_BFGS (X, maxit = 200, tol = 10^-8, trace = 0,
               m.init = .colMedians (X), REPORT = 10, ...)
l1median_NLM (X, maxit = 200, tol = 10^-8, trace = 0,
              m.init = .colMedians (X), ...)
l1median_HoCr (X, maxit = 200, tol = 10^-8, zero.tol = 1e-15, trace = 0,
               m.init = .colMedians (X), ...)
l1median_VaZh (X, maxit = 200, tol = 10^-8, zero.tol = 1e-15, trace = 0,
	       m.init = .colMedians (X), ...)

Arguments

X
a matrix of dimension n x p.
maxit
The maximum number of iterations to be performed.
tol
The convergence tolerance.
trace
The tracing level. Set trace > 0 to retrieve additional information on the single iterations.
m.init
A vector of length p containing the initial value of the L1-median.
REPORT
A parameter internally passed to optim.
zero.tol
The zero-tolerance level used in l1median_VaZh and l1median_HoCr for determining the equality of two observations (i.e. an observation and a current center estimate).
...
Further parameters passed from other functions.

Value

  • parA vector of length p containing the L1-median.
  • valueThe value of the objective function ||X - l1median|| which is minimized for finding the L1-median.
  • codeThe return code of the optimization algorithm. See optim and nlm for further information.
  • iterationsThe number of iterations performed.
  • iterations_grWhen using a gradient function this value holds the number of times the gradient had to be computed.
  • timeThe algorithms runtime in milliseconds.

Details

The L1-median is computed using the built-in functions optim and nlm. These functions are a transcript of the L1median method of package robustX (available at ftp://stat.ethz.ch/U/maechler/R/), porting as much code as possible into C++.

See Also

median

Examples

Run this code
# multivariate data with outliers
  library(mvtnorm)
  x <- rbind(rmvnorm(200, rep(0, 4), diag(c(1, 1, 2, 2))), 
             rmvnorm( 50, rep(3, 4), diag(rep(2, 4))))

  l1median_NM (x)$par
  l1median_CG (x)$par
  l1median_BFGS (x)$par
  l1median_NLM (x)$par
  l1median_HoCr (x)$par
  l1median_VaZh (x)$par

  # compare with coordinate-wise median:
  apply(x,2,median)

Run the code above in your browser using DataCamp Workspace