Learn R Programming

pfica (version 0.1.2)

ffobi: Smoothed functional ICA in terms of basis functions coordinates

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 can be considered an extension of the implementation of the kurtosis operator introduced in Peña et. al (2014), whose decomposition is used to identify cluster structures and outliers.

Usage

ffobi(fdx, ncomp = fdx$basis$nbasis, eigenfPar = fdPar(fdx),
      pr = c("fdx", "fdx.st"), shrinkage = FALSE,
      center = FALSE, plotfd = FALSE)

Value

a list with the following named entries:

eigenbasis

a functional data object for the eigenfunctions or independent factors.

kurtosis

a numeric vector giving the proportion of variance kurtosis explained by each eigenfunction.

scores

a matrix whose column vectors are the independent components.

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, that defines the independent component functions to be estimated.

pr

the functional data object to project into the space spanned by the eigenfunctions of the kurtosis operator. To compute the independent components, the usual procedure is to use fdx.st, the standardized basis expansion. Thus, if pr is not supplied, fdx.st is used.

shrinkage

uses shrinkage estimators to compute the covariance matrix of the coordinate vectors.

center

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

plotfd

a logical value indicating whether to plot the eigenfunctions
of the kurtosis operator.

Author

Marc Vidal, Ana Mª Aguilera

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.

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

Examples

Run this code
## Canadian Weather data
library(fda)
arg <- 1:365
Temp <- CanadianWeather$dailyAv[,,1]
B <- create.bspline.basis(rangeval=c(min(arg),max(arg)), nbasis=16)
x <- Data2fd(Temp, argvals = arg, B)
Lfdobj <- int2Lfd(max(0, norder(B)-2))
penf <- fdPar(B, Lfdobj, lambda=10^4)
ica.fd <- ffobi(x, 16, penf)

## Plot by region in order of maximum kurtosis (outliers)
sc <- ica.fd$scores
plot(sc[,1], sc[,2], ylab = "", xlab = "")
text(sc[,1], sc[,2], CanadianWeather$region, pch=0.5, cex=0.6)

Run the code above in your browser using DataLab