ffobi {pfica}R Documentation

Smoothed functional ICA

Description

This function computes the ordinary ICA procedure from a sample represented by basis functions (Fourier, B-splines...). The estimation method is based on the use of fourth moments (kurtosis), in which it is assumed that the independent components have different kurtosis values. The proposed algorithm is an implementation of the kurtosis operator introduced in Peña et. al (2014).

Usage

ffobi(fdx, ncomp = fdx$basis$nbasis, eigenfPar = fdPar(fdx),
      w = c("PCA", "PCA-cor","ZCA", "ZCA-cor",
            "Varimax", "Varimax-cor", "Cholesky"),
      pr = c("fdx", "wfdx"), center = TRUE)

Arguments

fdx

a functional data object obtained from the fda package.

ncomp

number of independent components to compute.

eigenfPar

a functional parameter object obtained from the fda package.

w

the whitening procedure. By default ZCA (Mahalanobis whitening) is used.

pr

the functional data object to project on to the space spanned by the eigenfunctions of the kurtosis kernel function. To compute the independent components, the usual procedure is to use wfdx, the whitened basis expansion. Thus, if pr is not supplied, wfdx is used.

center

a logical value indicating whether the mean function has to be subtracted from each functional observation.

Details

This functional ICA consists of performing the multivariate ICA of a transformation of the coordinate vectors associated with a basis of functions. The algorithm also incorporates a continuous penalty in the orthonormality constraint of the kurtosis eigenfunctions.

Value

a list with the following named entries:

ICA.eigv

a numeric vector giving the eigenvalues of the kurtosis kernel function.

ICA.basis

a functional data object for the kurtosis kernel eigenfunctions.

ICA.scores

a matrix whose column vectors are the projection coefficients for fdx or wfdx.

Author(s)

Marc Vidal, Ana Mª Aguilera

References

Peña, C., J. Prieto and C. Rendón (2014). Independent components techniques based on kurtosis for functional data analysis. Working paper 14–10 Statistics and Econometric Series (06); Universidad Carlos III de Madrid, Madrid, 2014.

See Also

kffobi, whiten.fd

Examples

## Canadian Weather data
library(fda)
arg <- 1:365
Temp <- CanadianWeather$dailyAv[,,1]
q <- 14
B <- create.bspline.basis(rangeval=c(min(arg),max(arg)), nbasis=q)
x <- Data2fd(Temp, argvals = arg, B)
#plot(x) #plot data
Lfdobj <- int2Lfd(max(0, norder(B)-2))
penf <- fdPar(B, Lfdobj, lambda=4200) #penalty parameter (lambda)
ica.fd <- ffobi(x,  eigenfPar = penf, w = "Cholesky")

## Plot by minimmum smoothed kurtosis
sc <- ica.fd$ICA.scores
plot(sc[,q], sc[,(q-1)], pch = 20, col = factor(c(rep("East",15),rep("West",20))),
     ylab = "IC q-1", xlab = "IC q")

[Package pfica version 0.1.3 Index]