Learn R Programming

ICSNP (version 1.1-2)

symm.huber.wt: Weighted Symmetrized Huber Scatter Matrix

Description

Iterative algorithm to estimate the weighted symmetrized Huber scatter matrix.

Usage

symm.huber.wt(X, wt = rep(1, nrow(X)), qg = 0.9, init = NULL, 
              eps = 1e-06, maxiter = 100, na.action = na.fail)

Value

a matrix.

Arguments

X

numeric data frame or matrix.

wt

vector of weights. Should be nonnegative and at least one larger than zero.

qg

tuning parameter. Should be between 0 and 1. The default is 0.9.

init

an optional matrix giving the starting value for the iteration.

eps

convergence tolerance.

maxiter

maximum number of iterations.

na.action

a function which indicates what should happen when the data contain 'NA's. Default is to fail.

Author

Klaus Nordhausen

Details

The weighted symmetrized Huber scatter matrix is the regular Huber scatter matrix for the weighted pairwise differences of the observations taken wrt to the origin.

Note that this function is memory comsuming and slow for large data sets since the matrix is based on all pairwise difference of the observations.

References

Sirkia, S., Taskinen, S. and Oja, H. (2007), Symmetrised M-estimators of scatter. Journal of Multivariate Analysis, 98, 1611--1629.

See Also

symm.huber

Examples

Run this code
set.seed(1)
cov.matrix.1 <- matrix(c(3,2,1,2,4,-0.5,1,-0.5,2), ncol = 3)
X.1 <- rmvnorm(100, c(0,0,0), cov.matrix.1)
cov.matrix.2 <- diag(1,3)
X.2 <- rmvnorm(50, c(1,1,1), cov.matrix.2)
X <- rbind(X.1, X.2)

D1 <-  symm.huber.wt(X, rep(c(0,1), c(100,50)))
D2 <-  symm.huber.wt(X, rep(c(1,0), c(100,50)))

D1
D2

rm(.Random.seed)

Run the code above in your browser using DataLab