# ics2: Two Scatter Matrices ICS Transformation Augmented by Two... In ICS: Tools for Exploring Multivariate Data via ICS/ICA

 ics2 R Documentation

## Two Scatter Matrices ICS Transformation Augmented by Two Location Estimates

### Description

This function implements the two scatter matrices transformation to obtain an invariant coordinate sytem or independent components, depending on the underlying assumptions. Differently to `ics` here, there are also two location functionals used to fix the signs of the components and to get a measure of skewness.

### Usage

``````ics2(X, S1 = MeanCov, S2 = Mean3Cov4, S1args = list(), S2args = list(),
na.action = na.fail)
``````

### Arguments

 `X` numeric data matrix or dataframe. `S1` name of the function which returns the first location vector T1 and scatter matrix S1. Can be also a list which has these values already computed. See details for more information. Default is `MeanCov`. `S2` name of the function which returns the second location vector T2 and scatter matrix S2. Can be also a list which has these values already computed. See details for more information. Default is `Mean3Cov4`. `S1args` list with optional additional arguments when calling function S1. `S2args` list with optional additional arguments when calling function S2. `na.action` a function which indicates what should happen when the data contain 'NA's. Default is to fail.

### Details

For a general discussion about ICS see the help for `ics`. The difference to `ics` is that `S1` and `S2` are either functions which return a list containing a multivariate location and scatter computed on `X` or lists containing these measures computed in advance. Of importance for the resulting lists is that in both cases the location vector is the first element of the list and the scatter matrix the second element. This means most multivariate location - scatter functions can be used directly without the need to write a wrapper.

The invariant coordinates Z are then computed such that (i) T1(Z) = 0, the origin. (ii) S1(Z) = I_p, the identity matrix. (iii) T2(Z) = S, where S is a vector having positive elements which can be seen as a generalized skewness measure (gSkew). (iv) S2(Z) = D, a diagonal matrix with descending elements which can be seen as a generalized kurtosis measure (gKurt).

Hence in this function there are no options to standardize Z or the transformation matrix B as everything is specified by `S1` and `S2`.

Note also that `ics2` makes hardly any input checks.

### Value

an object of class `ics2` inheriting from class `ics`.

### Note

Function `ics2()` reached the end of its lifecycle, please use `ICS()` instead. In future versions, `ics2()` will be deprecated and eventually removed.

Klaus Nordhausen

### References

Tyler, D.E., Critchley, F., DÃ¼mbgen, L. and Oja, H. (2009), Invariant co-ordinate selecetion, Journal of the Royal Statistical Society,Series B, 71, 549–592. <doi:10.1111/j.1467-9868.2009.00706.x>.

Nordhausen, K., Oja, H. and Ollila, E. (2011), Multivariate Models and the First Four Moments, In Hunter, D.R., Richards, D.S.R. and Rosenberger, J.L. (editors) "Nonparametric Statistics and Mixture Models: A Festschrift in Honor of Thomas P. Hettmansperger", 267–287, World Scientific, Singapore. <doi:10.1142/9789814340564_0016>.

`ICS`

### Examples

`````` set.seed(123456)
X1 <- rmvnorm(250, rep(0,8), diag(c(rep(1,6),0.04,0.04)))
X2 <- rmvnorm(50, c(rep(0,6),2,0), diag(c(rep(1,6),0.04,0.04)))
X3 <- rmvnorm(200, c(rep(0,7),2), diag(c(rep(1,6),0.04,0.04)))

X.comps <- rbind(X1,X2,X3)
A <- matrix(rnorm(64),nrow=8)
X <- X.comps %*% t(A)

# the default
ics2.X.1 <- ics2(X2)
summary(ics2.X.1)

# using another function as S2 not with its default
ics2.X.2 <- ics2(X2, S2 = tM, S2args = list(df = 2))
summary(ics2.X.2)

# computing in advance S2 and using another S1
Scauchy <- tM(X)
ics2.X.2 <- ics2(X2, S1 = tM, S2 = Scauchy, S1args = list(df = 5))
summary(ics2.X.2)
plot(ics2.X.2)
``````

ICS documentation built on Sept. 21, 2023, 9:07 a.m.