Archetypoid algorithm with the functional multivariate robust Frobenius norm

Description

Archetypoid algorithm with the functional multivariate robust Frobenius norm to be used with functional data.

Usage

```archetypoids_funct_multiv_robust(numArchoid, data, huge = 200, ArchObj, PM, prob)
```

Arguments

 `numArchoid` Number of archetypoids. `data` Data matrix. Each row corresponds to an observation and each column corresponds to a variable. All variables are numeric. `huge` Penalization added to solve the convex least squares problems. `ArchObj` The list object returned by the `stepArchetypesRawData_funct` function. `PM` Penalty matrix obtained with `eval.penalty`. `prob` Probability with values in [0,1].

Value

A list with the following elements:

• cases: Final vector of archetypoids.

• rss: Residual sum of squares corresponding to the final vector of archetypoids.

• archet_ini: Vector of initial archetypoids.

• alphas: Alpha coefficients for the final vector of archetypoids.

• resid: Matrix with the residuals.

Irene Epifanio

References

Moliner, J. and Epifanio, I., Robust multivariate and functional archetypal analysis with application to financial time series analysis, 2019. Physica A: Statistical Mechanics and its Applications 519, 195-208. https://doi.org/10.1016/j.physa.2018.12.036

`archetypoids`

Examples

```## Not run:
library(fda)
?growth
str(growth)
hgtm <- growth\$hgtm
hgtf <- growth\$hgtf[,1:39]

# Create array:
nvars <- 2
data.array <- array(0, dim = c(dim(hgtm), nvars))
data.array[,,1] <- as.matrix(hgtm)
data.array[,,2] <- as.matrix(hgtf)
rownames(data.array) <- 1:nrow(hgtm)
colnames(data.array) <- colnames(hgtm)
str(data.array)

# Create basis:
nbasis <- 10
basis_fd <- create.bspline.basis(c(1,nrow(hgtm)), nbasis)
PM <- eval.penalty(basis_fd)
# Make fd object:
temp_points <- 1:nrow(hgtm)
temp_fd <- Data2fd(argvals = temp_points, y = data.array, basisobj = basis_fd)

X <- array(0, dim = c(dim(t(temp_fd\$coefs[,,1])), nvars))
X[,,1] <- t(temp_fd\$coef[,,1])
X[,,2] <- t(temp_fd\$coef[,,2])

# Standardize the variables:
Xs <- X
Xs[,,1] <- scale(X[,,1])
Xs[,,2] <- scale(X[,,2])

lass <- stepArchetypesRawData_funct_multiv_robust(data = Xs, numArch = 3,
numRep = 5, verbose = FALSE,
saveHistory = FALSE, PM, prob = 0.8,
nbasis, nvars)

afmr <- archetypoids_funct_multiv_robust(3, Xs, huge = 200, ArchObj = lass, PM, 0.8)
str(afmr)

## End(Not run)

```