Giter Club home page Giter Club logo

mfpca's Introduction

MFPCA

Travis-CI Build Status AppVeyor Build Status CRAN_Status_Badge Coverage Status

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.

mfpca's People

Contributors

clarahapp avatar

Watchers

 avatar  avatar

Forkers

yuehtang

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.