Last updated on 2020-09-08 by Fabian Scheipl

Functional data analysis (FDA) deals with data that "provides information about curves, surfaces or anything else varying over a continuum." This task view catalogues available packages in this rapidly developing field.

**General functional data analysis**

- fda provides functions to enable all aspects of functional data analysis: It includes object-types for functional data with corresponding functions for smoothing, plotting and regression models. The package includes data sets and script files for working examples from the book: Ramsay, J. O., Hooker, Giles, and Graves, Spencer (2009) "Data Analysis with R and Matlab" (Springer).
- fdasrvf performs alignment, PCA, and regression of multidimensional or unidimensional functions using the square-root velocity framework (Srivastava et al., 2011). This framework allows for elastic analysis of functional data through phase and amplitude separation.
- fdapace provides functional principal component based methods for sparsely or densely sampled random trajectories and time courses for functional regression and correlation, for longitudinal data analysis, the analysis of stochastic processes from samples of realized trajectories, and for the analysis of underlying dynamics.
- fda.usc provides routines for exploratory and descriptive analysis of functional data such as depth measurements, outlier detection, as well as unsupervised and supervised classification, (univariate, nonparametric) regression models with a functional covariate and functional analysis of variance.
- funData provides S4 classes for univariate and multivariate functional and image data and utility functions.
- fds contains 19 data sets with functional data.
- rainbow contains functions and data sets for functional data display, exploratory analysis and outlier detection.

**Regression and classification for functional data**

- dbstats provides prediction methods where explanatory information is coded as a matrix of distances between individuals. It includes distance based versions of
`lm`and`glm,`as well as nonparametric versions of both, based on local estimation. To apply these methods to functional data it is sufficient to calculate a distance matrix between the observed functional data. - denseFLMM estimates functional linear mixed models for densely sampled data based on functional principal component analysis.
- fdANOVA implements analysis of variance testing procedures for univariate and multivariate functional data
- FDboost implements flexible additive regression models and variable selection for scalar-on-function, function-on-scalar and function-on-function regression models that are fitted by a component-wise gradient boosting algorithm.
- flars implements variable selection for the functional linear regression with scalar response variable and mixed scalar/functional predictors based on the least angle regression approach.
- GPFDA uses functional regression as the mean structure and Gaussian processes as the covariance structure.
- growfunctions estimates a collection of time-indexed functions under either of Gaussian process (GP) or intrinsic Gaussian Markov random field (iGMRF) prior formulations where a Dirichlet process mixture allows sub-groupings of the functions to share the same covariance or precision parameters. The GP and iGMRF formulations both support any number of additive covariance or precision terms, respectively, expressing either or both of multiple trend and seasonality.
- refund provides spline-based methods for roughness penalized function-on-scalar, scalar-on-function, and function-on-function regression as well as methods for functional PCA. Some of the functions are applicable to image data.
- splinetree implements regression trees and random forests for longitudinal or functional data using a spline projection method.

**Clustering functional data**

- funFEM's algorithm (Bouveyron et al., 2014) allows to cluster functional data by modeling the curves within a common and discriminative functional subspace.
- funHDDC provides the funHDDC algorithm (Bouveyron & Jacques, 2011) which allows to cluster functional data by modeling each group within a specific functional subspace.
- funLBM implements model-based co-clustering of functional data, i.e., simultaneously clustering the rows and the columns of a data matrix where each entry of the matrix is a function or a time series.
- fdakma performs clustering and alignment of a multidimensional or unidimensional functional dataset by means of k-mean alignment.

**Registering and aligning functional data**

- fdasrvf performs alignment, PCA, and regression of multidimensional or unidimensional functions using the square-root velocity framework (Srivastava et al., 2011). This framework allows for elastic analysis of functional data through phase and amplitude separation.
- warpMix implements warping (alignment) for functional data using B-spline based mixed effects models.
- fdakma performs clustering and alignment of a multidimensional or unidimensional functional dataset by means of k-mean alignment.

**Time series of functional data**

- ftsa provides functions for visualizing, modeling, forecasting and hypothesis testing of functional time series.
- ftsspec provides functions for estimating the spectral density operator of functional time series (FTS) and comparing the spectral density operator of two functional time series, in a way that allows detection of differences of the spectral density operator in frequencies and along the curve length.
- freqdom provides frequency domain methods for multivariate and functional time series and implements dynamic functional principal components and functional regression in the presence of temporal dependence.
- freqdom.fda provides a wrapper for functionality of freqdom for objects from fda
- pcdpca extends multivariate dynamic principal components to periodically correlated multivariate and functional time series.
- fdaACF contains functions to quantify the serial correlation across lags of a given functional time series using an autocorrelation function for functional time series. The autocorrelation function is based on the L2 norm of the lagged covariance operators of the series. Functions are available for estimating the distribution of the autocorrelation function under the assumption of strong functional white noise. A brief illustration of the functionality of the proposed functions can be seen at github.com/GMestreM/fdaACF.

**Other**

- covsep provides functions for testing if the covariance structure of 2-dimensional data is separable.
- ddalpha implements depth-based classification and calculation of data depth, also for functional data.
- fdadensity implements Petersen and Mueller (2016) (doi:10.1214/15-AOS1363) for the analysis of samples of density functions via specialized Functional Principal Components Analysis.
- fdatest provides an implementation of the Interval Testing Procedure for functional data in different frameworks (i.e., one or two-population frameworks, functional linear models) by means of different basis expansions (i.e., B-spline, Fourier, and phase-amplitude Fourier).
- fdcov provides a variety of tools for the analysis of covariance operators.
- fpca implements functional principal components for sparsely observed data in a geometric approach to MLE for functional principal components.
- geofd provides Kriging based methods for predicting functional data (curves) with spatial dependence.
- SCBmeanfd provides methods for estimating and inferring the mean of functional data. The methods include simultaneous confidence bands, local polynomial fitting, bandwidth selection by plug-in and cross-validation, goodness-of-fit tests for parametric models, equality tests for two-sample problems, and plotting functions.
- switchnpreg provides functions for estimating the parameters from the latent state process and the functions corresponding to the J states as proposed by De Souza and Heckman (2013).

The Functional Data Analysis Task View is maintained by Fabian Scheipl (LMU München, Germany). Please contact him with suggestions, additions and improvements.

3 years ago by Shahin Tavakoli

Tests for Determining if the Covariance Structure of 2-Dimensional Data is Separable

a year ago by Oleksii Pokotylo

Depth-Based Classification and Calculation of Data Depth

3 years ago by Jona Cederbaum

Functional Linear Mixed Models for Densely Sampled Data

4 months ago by Guillermo Mestre Marcos

Autocorrelation Function for Functional Time Series

a year ago by Alexander Petersen

Functional Data Analysis for Density Functions by Transformation to a Hilbert Space

2 years ago by Lukasz Smaga

Analysis of Variance for Univariate and Multivariate Functional Data

a year ago by Manuel Oviedo de la Fuente

Functional Data Analysis and Utilities for Statistical Computing

3 years ago by Kidzinski L.

Functional Time Series: Dynamic Functional Principal Components

5 years ago by Shahin Tavakoli

Spectral Density Estimation and Comparison for Functional Time Series

2 years ago by Charles Bouveyron

Univariate and Multivariate Model-Based Clustering in Group-Specific Functional Subspaces

3 years ago by Terrance Savitsky

Bayesian Non-Parametric Dependent Models for Time-Indexed Functional Data

3 years ago by Lukasz Kidzinski

Dynamic Principal Components for Periodically Correlated Functional Time Series

4 years ago by David Degras

Simultaneous Confidence Bands for the Mean of Functional Data

8 years ago by Davor Cubranic

Switching nonparametric regression models for a single curve and functional data

4 years ago by Emilie Devijver

Mixed Effects Modeling with Warping for Functional Data Using B-Spline