cca.fd {fda}R Documentation

Functional Canonical Correlation Analysis

Description

Carry out a functional canonical correlation analysis with regularization or roughness penalties on the estimated canonical variables.

Usage

cca.fd(fdobj1, fdobj2=fdobj1, ncan = 2,
       ccafdParobj1=fdPar(basisobj1, 2, 1e-10),
       ccafdParobj2=ccafdParobj1, centerfns=TRUE)

Arguments

fdobj1 a functional data object.
fdobj2 a functional data object. By default this is fdobj1 , in which case the first argument must be a bivariate funnctional data object.
ncan the number of canonical variables and weight functions to be computed. The default is 2.
ccafdParobj1 a functional parameter object defining the first set of canonical weight functions. The object may contain specifications for a roughness penalty. The default is defined using the same basis as that used for fdobj1 with a slight penalty on its second derivative.
ccafdParobj2 a functional parameter object defining the second set of canonical weight functions. The object may contain specifications for a roughness penalty. The default is ccafdParobj1 .
centerfns if TRUE, the functions are centered prior to analysis. This is the default.

Value

an object of class cca.fd with the 5 slots:

ccwtfd1 a functional data object for the first canonical variate weight function
ccwtfd2 a functional data object for the second canonical variate weight function
cancorr a vector of canonical correlations
ccavar1 a matrix of scores on the first canonical variable.
ccavar2 a matrix of scores on the second canonical variable.

See Also

plot.cca.fd, varmx.cca.fd, pca.fd

Examples

#  Canonical correlation analysis of knee-hip curves

gaittime  <- (1:20)/21
gaitrange <- c(0,1)
gaitbasis <- create.fourier.basis(gaitrange,21)
lambda    <- 10^(-11.5)
harmaccelLfd <- vec2Lfd(c(0, 0, (2*pi)^2, 0))

gaitfdPar <- fdPar(gaitbasis, harmaccelLfd, lambda)
gaitfd <- smooth.basis(gaittime, gait, gaitfdPar)$fd

ccafdPar <- fdPar(gaitfd, harmaccelLfd, 1e-8)
ccafd0    <- cca.fd(gaitfd[,1], gaitfd[,2], ncan=3, ccafdPar, ccafdPar)
#  compute a VARIMAX rotation of the canonical variables
ccafd <- varmx.cca.fd(ccafd0)
#  plot the canonical weight functions
op <- par(mfrow=c(2,1))
#plot.cca.fd(ccafd, cex=1.2, ask=TRUE)
#plot.cca.fd(ccafd, cex=1.2)
#  display the canonical correlations
#round(ccafd$ccacorr[1:6],3)
par(op)

[Package fda version 2.1.1 Index]