Skip to contents

Compute (penalized) principal components for functional data.

Usage

fdata2pc(fdataobj, ncomp = 2, norm = TRUE, lambda = 0, P = c(0, 0, 1), ...)

Arguments

fdataobj

fdata class object.

ncomp

Number of principal components.

norm

=TRUE the norm of eigenvectors (rotation) is 1.

lambda

Amount of penalization. Default value is 0, i.e. no penalization is used.

P

If P is a vector: coefficients to define the penalty matrix object. By default P=c(0,0,1) penalize the second derivative (curvature) or acceleration. If P is a matrix: the penalty matrix object.

...

Further arguments passed to or from other methods.

Value

  • d: The standard deviations of the functional principal components.

  • rotation: Also known as loadings. A fdata class object whose rows contain the eigenvectors.

  • x: Also known as scores. The value of the rotated functional data is returned.

  • fdataobj.cen: The centered fdataobj object.

  • mean: The functional mean of the fdataobj object.

  • l: Vector of indices of principal components.

  • C: The matched call.

  • lambda: Amount of penalization.

  • P: Penalty matrix.

Details

Smoothing is achieved by penalizing the integral of the square of the derivative of order m over rangeval:

  • m = 0 penalizes the squared difference from 0 of the function

  • m = 1 penalize the square of the slope or velocity

  • m = 2 penalize the squared acceleration

  • m = 3 penalize the squared rate of change of acceleration

References

Venables, W. N. and B. D. Ripley (2002). Modern Applied Statistics with S. Springer-Verlag.

N. Kraemer, A.-L. Boulsteix, and G. Tutz (2008). Penalized Partial Least Squares with Applications to B-Spline Transformations and Functional Data. Chemometrics and Intelligent Laboratory Systems, 94, 60 - 69. doi:10.1016/j.chemolab.2008.06.009

Febrero-Bande, M., Oviedo de la Fuente, M. (2012). Statistical Computing in Functional Data Analysis: The R Package fda.usc. Journal of Statistical Software, 51(4), 1-28. https://www.jstatsoft.org/v51/i04/

See also

See Also as svd and varimax.

Author

Manuel Febrero-Bande, Manuel Oviedo de la Fuente manuel.oviedo@usc.es

Examples

 if (FALSE) { # \dontrun{
 n= 100;tt= seq(0,1,len=51)
 x0<-rproc2fdata(n,tt,sigma="wiener")
 x1<-rproc2fdata(n,tt,sigma=0.1)
 x<-x0*3+x1
 pc=fdata2pc(x,lambda=1)
 summary(pc)
 } # }