Learn R Programming

rrcov3way (version 0.5-0)

cp_atld: Alternating Trilinear Decomposition (ATLD) for Candecomp/Parafac (CP)

Description

Alternating Trilinear Decomposition algorithm for estimating the Candecomp/Parafac (CP) model. It is based on an alternating least squares principle and replaces the iterative procedure used in the traditional PARAFAC algorithm by an improved procedure. This improved procedure contains Moore-Penrose pseudoinverse computations based on singular value decomposition (SVD) which should be theoretically more robust to similarities in spectra and time profiles

Usage

cp_atld(
  X,
  n,
  m,
  p,
  ncomp,
  conv = 1e-06,
  start = "random",
  maxit = 5000,
  trace = FALSE
)

Value

The result of the decomposition as a list with the following elements:

  • fit Value of the loss function

  • fp Fit value expressed as a percentage

  • ss Sum of squares

  • A Component matrix for the A-mode

  • B Component matrix for the B-mode

  • C Component matrix for the C-mode

  • iter Number of iterations

  • tripcos Minimal triple cosine between two components across the three component matrices, used to inspect degeneracy

  • mintripcos Minimal triple cosine during the iterative algorithm observed at every 10 iterations, used to inspect degeneracy

  • ftiter Matrix containing in each row the function value and the minimal triple cosine at every 10 iterations

Arguments

X

A three-way array or a matrix. If X is a matrix (matricised threeway array), n, m and p must be given and are the number of A-, B- and C-mode entities respectively

n

Number of A-mode entities

m

Number of B-mode entities

p

Number of C-mode entities

ncomp

Number of components to extract

conv

Convergence criterion, default is conv=1e-6.

start

Initial values for the A, B and C components. Can be "svd" for starting point of the algorithm from SVD's, "random" for random starting point (orthonormalized component matrices or nonnegative matrices in case of nonnegativity constraint), or a list containing user specified components.

maxit

Maximum number of iterations, default is maxit=10000.

trace

Logical, provide trace output.

Author

Valentin Todorov, valentin.todorov@chello.at; Violetta Simonacci, violetta.simonacci@unina.it

References

H.-L. Wu, M. Shibukawa, K. Oguma, An alternating trilinear decomposition algorithm with application to calibration of HPLC-DAD for simultaneous determination of overlapped chlorinated aromatic hydrocarbons, Journal of Chemometrics 12 (1998) 1--26.

Examples

Run this code

if (FALSE) {
## Example with the OECD data
 data(elind)
 dim(elind)

 res <- cp_atld(elind, ncomp=3)
 res$fp
 res$fp
 res$iter
}

Run the code above in your browser using DataLab