Multivariate Functional Principal Component Analysis for Data Observed on Different Dimensional Do….
MFPCA
MFPCA
is an R
-package for calculating a PCA for multivariate functional data observed on different domains, that may also differ in dimension. The estimation algorithm relies on univariate basis expansions for each element of the multivariate functional data.
Highlights
MFPCA
allows to calculate a principal component analysis for multivariate (i.e. combined) functional data on up to three-dimensional domains:
- Standard functional data defined on a (one-dimensional) interval.
- Functional data with two-dimensional domains (images).
- Functional data with three-dimensional domains (3D images, e.g. brain scans).
It implements various univariate bases:
- Univariate functional PCA (only one-dimensional domains).
- Spline bases (one- and two-dimensional domains; with optional smoothing penalty).
- Cosine bases (two- and three-dimensional domains; fast implementation built on DCT).
- Tensor PCA (two-dimensional domains; UMPCA approach from Lu et al. (2009) and FCP_TPA approach from Allen (2013)).
- Given basis functions, e.g. from a previous univariate PCA.
The representation of the data is based on the object-oriented funData
package, hence all functionalities for plotting, arithmetics etc. included therein may be used.
Installation
The MFPCA
pacakge is available on CRAN
. To install the latest version directly from GitHub, please use devtools::install_github("ClaraHapp/MFPCA")
(install devtools
before).
If you would like to use the cosine bases make sure that the C
-library fftw3
is installed on your computer before you install MFPCA
. Otherwise, MFPCA
is installed without the cosine bases and will throw an error if you attempt to use functions that need fftw3
.
Dependencies
The MFPCA
package depends on the R
-package funData
for representing (multivariate) functional data. It uses functionalities from abind
, foreach
, irlba
, Matrix
, mgcv
and plyr
.
References
The theoretical foundations of multivariate functional principal component analysis are described in:
C. Happ, S. Greven (2018): Multivariate Functional Principal Component Analysis for Data Observed on Different (Dimensional) Domains.Journal of the American Statistical Association, 113(522): 649-659 .
For more details on the implementation, which is based on the funData
package, and a case study, see:
C. Happ-Kurz (2020): Object-Oriented Software for Functional Data.Journal of Statistical Software, 93(5): 1-38 .
Bug reports
Please use GitHub issues for reporting bugs or issues.