# Functional data analysis

Functional data analysis (FDA) is a branch of statistics that analyses data providing information about curves, surfaces or anything else varying over a continuum. In its most general form, under an FDA framework, each sample element of functional data is considered to be a random function. The physical continuum over which these functions are defined is often time, but may also be spatial location, wavelength, probability, etc. Intrinsically, functional data are infinite dimensional. The high intrinsic dimensionality of these data brings challenges for theory as well as computation, where these challenges vary with how the functional data were sampled. However, the high or infinite dimensional structure of the data is a rich source of information and there are many interesting challenges for research and data analysis.

## History

Functional data analysis has roots going back to work by Grenander and Karhunen in the 1940s and 1950s. They considered the decomposition of square-integrable continuous time stochastic process into eigencomponents, now known as the Karhunen-Loève decomposition. A rigorous analysis of functional principal components analysis was done in the 1970s by Kleffe, Dauxois and Pousse including results about the asymptotic distribution of the eigenvalues. More recently in the 1990s and 2000s the field has focused more on applications and understanding the effects of dense and sparse observations schemes. The term "Functional Data Analysis" was coined by James O. Ramsay.

## Mathematical formalism

Random functions can be viewed as random elements taking values in a Hilbert space, or as a stochastic process. The former is mathematically convenient, whereas the latter is somewhat more suitable from an applied perspective. These two approaches coincide if the random functions are continuous and a condition called mean-squared continuity is satisfied.

### Hilbertian random variables

In the Hilbert space viewpoint, one considers an $H$-valued random element $X$, where $H$ is a separable Hilbert space such as the space of square-integrable functions $L^{2}[0,1]$. Under the integrability condition that $\mathbb {E} \|X\|_{L^{2}}^{2}=\mathbb {E} (\int _{0}^{1}|X(t)|^{2}dt)<\infty$, one can define the mean of $X$ as the unique element $\mu \in H$ satisfying
    $\mathbb {E} \langle X,h\rangle =\langle \mu ,h\rangle ,\qquad h\in H.$
This formulation is the Pettis integral but the mean can also be defined as Bochner integral $\mu =\mathbb {E} X$. Under the integrability condition that $\mathbb {E} \|X\|_{L^{2}}^{2}$ is finite, the covariance operator of $X$ is a linear operator ${\mathcal {C}}:H\to H$ that is uniquely defined by the relation
    ${\mathcal {C}}h=\mathbb {E} [\langle h,X-\mu \rangle (X-\mu )],\qquad h\in H,$
or, in tensor form, ${\mathcal {C}}=\mathbb {E} [(X-\mu )\otimes (X-\mu )]$. The spectral theorem allows to decompose $X$ as the Karhunen-Loève decomposition
    $X=\mu +\sum _{i=1}^{\infty }\langle X,\varphi _{i}\rangle \varphi _{i},$
where $\varphi _{i}$ are eigenvectors of ${\mathcal {C}}$, corresponding to the nonnegative eigenvalues of ${\mathcal {C}}$, in a non-increasing order. Truncating this infinite series to a finite order underpins functional principal component analysis.

### Stochastic processes

The Hilbertian point of view is mathematically convenient, but abstract; the above considerations do not necessarily even view $X$ as a function at all, since common choices of $H$ like $L^{2}[0,1]$ and Sobolev spaces consist of equivalence classes, not functions. The stochastic process perspective views $X$ as a collection of random variables
    $\{X(t)\}_{t\in [0,1]}$
indexed by the unit interval (or more generally interval ${\mathcal {T}}$). The mean and covariance functions are defined in a pointwise manner as
    $\mu (t)=\mathbb {E} X(t),\qquad \Sigma (s,t)={\textrm {Cov}}(X(s),X(t)),\qquad s,t\in [0,1]$
(if $\mathbb {E} [X(t)^{2}]<\infty$ for all $t\in [0,1]$).
Under the mean square continuity, $\mu$ and $\Sigma$ are continuous functions and then the covariance function $\Sigma$ defines a covariance operator ${\mathcal {C}}:H\to H$ given by
The spectral theorem applies to ${\mathcal {C}}$, yielding eigenpairs $(\lambda _{j},\varphi _{j})$, so that in tensor product notation ${\mathcal {C}}$ writes
    ${\mathcal {C}}=\sum _{j=1}^{\infty }\lambda _{j}\varphi _{j}\otimes \varphi _{j}.$
Moreover, since ${\mathcal {C}}f$ is continuous for all $f\in H$, all the $\varphi _{j}$ are continuous. Mercer's theorem then states that
    $\sup _{s,t\in [0,1]}\left|\Sigma (s,t)-\sum _{j=1}^{K}\lambda _{j}\varphi _{j}(s)\varphi _{j}(t)\right|\to 0,\qquad K\to \infty .$
Finally, under the extra assumption that $X$ has continuous sample paths, namely that with probability one, the random function $X:[0,1]\to \mathbb {R}$ is continuous, the Karhunen-Loève expansion above holds for $X$ and the Hilbert space machinery can be subsequently applied. Continuity of sample paths can be shown using Kolmogorov continuity theorem.

## Functional data designs

Functional data are considered as realizations of a stochastic process $X(t),\ t\in [0,1]$ that is an $L^{2}$ process on a bounded and closed interval $[0,1]$ with mean function $\mu (t)=\mathbb {E} (X(t))$ and covariance function $\Sigma (s,t)={\textrm {Cov}}(X(s),X(t))$. The realizations of the process for the i-th subject is $X_{i}(\cdot )$, and the sample is assumed to consist of $n$ independent subjects. The sampling schedule may vary across subjects, denoted as $T_{i1},...,T_{iN_{i}}$ for the i-th subject. The corresponding i-th observation is denoted as ${\textbf {X}}_{i}=(X_{i1},...,X_{iN_{i}})$, where $X_{ij}=X_{i}(T_{ij})$. In addition, the measurement of $X_{ij}$ is assumed to have random noise $\epsilon _{ij}$ with $\mathbb {E} (\epsilon _{ij})=0$ and ${\textrm {Var}}(\epsilon _{ij})=\sigma _{ij}^{2}$, which are independent across $i$ and $j$.

### 1. Fully observed functions without noise at arbitrarily dense grid

Measurements $Y_{it}=X_{i}(t)$ available for all $t\in {\mathcal {I}},\,i=1,\ldots ,n$
Often unrealistic but mathematically convenient.
Real life example: Tecator spectral data.

### 2. Densely sampled functions with noisy measurements (dense design)

Measurements $Y_{ij}=X_{i}(T_{ij})+\varepsilon _{ij}$, where $T_{ij}$ are recorded on a regular grid,
$T_{i1},\ldots ,T_{iN_{i}}$, and $N_{i}\rightarrow \infty$ applies to typical functional data.
Real life example: Berkeley Growth Study Data and Stock data

### 3. Sparsely sampled functions with noisy measurements (longitudinal data)

Measurements $Y_{ij}=X_{i}(T_{ij})+\varepsilon _{ij}$, where $T_{ij}$ are random times and their number $N_{i}$ per subject is random and finite.
Real life example: CD4 count data for AIDS patients.

## Functional principal component analysis

Functional principal component analysis (FPCA) is the most prevalent tool in FDA, partly because FPCA facilitates dimension reduction of the inherently infinite-dimensional functional data to finite-dimensional random vector of scores. More specifically, dimension reduction is achieved by expanding the underlying observed random trajectories $X_{i}(t)$ in a functional basis consisting of the eigenfunctions of the covariance operator on $X$. Consider the covariance operator ${\mathcal {C}}:L^{2}[0,1]\rightarrow L^{2}[0,1]$ as in (1), which is a compact operator on Hilbert space.
By Mercer's theorem, the kernel function of ${\mathcal {C}}$, i.e., the covariance function $\Sigma (\cdot ,\cdot )$, has spectral decomposition $\Sigma (s,t)=\sum _{k=1}^{\infty }\lambda _{k}\varphi _{k}(s)\varphi _{k}(t)$, where the series convergence is absolute and uniform, and $\lambda _{k}$ are real-valued nonnegative eigenvalues in descending order with the corresponding orthonormal eigenfunctions $\varphi _{k}(t)$ . By the Karhunen–Loève theorem, the FPCA expansion of an underlying random trajectory is $X_{i}(t)=\mu (t)+\sum _{k=1}^{\infty }A_{ik}\varphi _{k}(t)$, where $A_{ik}=\int _{0}^{1}(X_{i}(t)-\mu (t))\varphi _{k}(t)dt$ are the functional principal components (FPCs), sometimes referred to as scores.
The Karhunen–Loève expansion facilitates dimension reduction in the sense that the partial sum converges uniformly, i.e., $\sup _{t\in [0,1]}\mathbb {E} [X_{i}(t)-\mu (t)-\sum _{k=1}^{K}A_{ik}\varphi _{k}(t)]^{2}\rightarrow 0$ as $K\rightarrow \infty$ and thus the partial sum with a large enough $K$ yields a good approximation to the infinite sum. Thereby, the information in $X_{i}$ is reduced from infinite dimensional to a $K$-dimensional vector $A_{i}=(A_{i1},...,A_{iK})$ with the approximated process：
Other popular bases include spline, Fourier series and wavelet bases. Important applications of FPCA include the modes of variation and functional principal component regression.

## Functional linear regression models

Functional linear models can be viewed as an extension of the traditional multivariate linear models that associates vector responses with vector covariates. The traditional linear model with scalar response $Y\in \mathbb {R}$ and vector covariate $X\in \mathbb {R} ^{p}$ can be expressed as
where $\langle \cdot ,\cdot \rangle$ denotes the inner product in Euclidean space, $\beta _{0}\in \mathbb {R}$ and $\beta \in \mathbb {R} ^{p}$ denote the regression coefficients, and $\varepsilon$ is a zero mean finite variance random error (noise). Functional linear models can be divided into two types based on the responses.

### Functional regression models with scalar response

Replacing the vector covariate $X$ and the coefficient vector $\beta$ in model (3) by a centered functional covariate $X^{c}(t)=X(t)-\mu (t)$ and coefficient function $\beta =\beta (t)$ for $t\in [0,1]$ and replacing the inner product in Euclidean space by that in Hilbert space $L^{2}$, one arrives at the functional linear model
The simple functional linear model (4) can be extended to multiple functional covariates, $\{X_{j}\}_{j=1}^{p}$, also including additional vector covariates $Z=(Z_{1},\cdots ,Z_{q})$, where $Z_{1}=1$, by
where $\theta \in \mathbb {R^{q}}$ is regression coefficient for $Z$, the domain of $X_{j}$ is $[0,1]$, $X_{j}^{c}$ is the centered functional covariate given by $X_{j}^{c}(t)=X_{j}(t)-\mu _{j}(t)$, and $\beta _{j}$ is regression coefficient function for $X_{j}^{c}$, for $j=1,\ldots ,p$. Models (4) and (5) have been studied extensively.

### Functional regression models with functional response

Consider a functional response $Y(s)$ on $[0,1]$ and multiple functional covariates $X_{j}(t)$, $t\in [0,1]$, $j=1,\ldots ,p$. Two major models have been considered in this setup. One of these two models, generally referred to as functional linear model (FLM), can be written as:
where $\alpha _{0}(s)$ is the functional intercept, for $j=1,\ldots ,p$ , $X_{j}^{c}(t)=X_{j}(t)-\mu _{j}(t)$ is a centered functional covariate on $[0,1]$, $\alpha _{j}(s,t)$ is the corresponding functional slopes with same domain, respectively, and $\varepsilon (s)$ is usually a random process with mean zero and finite variance. In this case, at any given time $s\in [0,1]$, the value of $Y$, i.e., $Y(s)$, depends on the entire trajectories of $\{X_{j}(t)\}_{j=1}^{p}$. Model (6) has been studied extensively.

#### Function-on-scalar regression

In particular, taking $X_{j}(\cdot )$ as a constant function yields a special case of model (6)$Y(s)=\alpha _{0}(s)+\sum _{j=1}^{p}X_{j}\alpha _{j}(s)+\varepsilon (s),\ {\text{for}}\ s\in [0,1],$which is a functional linear model with functional responses and scalar covariates.

#### Concurrent regression models

This model is given by
where $X_{1},\ldots ,X_{p}$ are functional covariates on $[0,1]$, $\beta _{0},\beta _{1},\ldots ,\beta _{p}$ are the coefficient functions defined on the same interval and $\varepsilon (s)$ is usually assumed to be a random process with mean zero and finite variance. This model assumes that the value of $Y(s)$ depends on the current value of $\{X_{j}(s)\}_{j=1}^{p}$ only and not the history $\{X_{j}(t):t\leq s\}_{j=1}^{p}$ or future value. Hence, it is a "concurrent regression model", which is also referred as "varying-coefficient" model. Further, various estimation methods have been proposed.

## Functional nonlinear regression models

Direct nonlinear extensions of the classical functional linear regression models (FLMs) still involve a linear predictor, but combine it with a nonlinear link function, analogous to the idea of generalized linear model from the conventional linear model. Developments towards fully nonparametric regression models for functional data encounter problems such as curse of dimensionality. In order to bypass the "curse" and the metric selection problem, we are motivated to consider nonlinear functional regression models, which are subject to some structural constraints but do not overly infringe flexibility. One desires models that retain polynomial rates of convergence, while being more flexible than, say, functional linear models. Such models are particularly useful when diagnostics for the functional linear model indicate lack of fit, which is often encountered in real life situations. In particular, functional polynomial models, functional single and multiple index models and functional additive models are three special cases of functional nonlinear regression models.

### Functional polynomial regression models

Functional polynomial regression models may be viewed as a natural extension of the Functional Linear Models (FLMs) with scalar responses, analogous to extending linear regression model to polynomial regression model. For a scalar response $Y$ and a functional covariate $X(\cdot )$ with domain $[0,1]$ and the corresponding centered predictor processes $X^{c}$, the simplest and the most prominent member in the family of functional polynomial regression models is the quadratic functional regression given as follows,$\mathbb {E} (Y|X)=\alpha +\int _{0}^{1}\beta (t)X^{c}(t)\,dt+\int _{0}^{1}\int _{0}^{1}\gamma (s,t)X^{c}(s)X^{c}(t)\,ds\,dt$where $X^{c}(\cdot )=X(\cdot )-\mathbb {E} (X(\cdot ))$ is the centered functional covariate, $\alpha$ is a scalar coefficient, $\beta (\cdot )$ and $\gamma (\cdot ,\cdot )$ are coefficient functions with domains $[0,1]$ and $[0,1]\times [0,1]$, respectively. In addition to the parameter function β that the above functional quadratic regression model shares with the FLM, it also features a parameter surface γ. By analogy to FLMs with scalar responses, estimation of functional polynomial models can be obtained through expanding both the centered covariate $X^{c}$ and the coefficient functions $\beta$ and $\gamma$ in an orthonormal basis.

### Functional single and multiple index models

A functional multiple index model is given as below, with symbols having their usual meanings as formerly described,$\mathbb {E} (Y|X)=g\left(\int _{0}^{1}X^{c}(t)\beta _{1}(t)\,dt,\ldots ,\int _{0}^{1}X^{c}(t)\beta _{p}(t)\,dt\right)$Here g represents an (unknown) general smooth function defined on a p-dimensional domain. The case $p=1$ yields a functional single index model while multiple index models correspond to the case $p>1$. However, for $p>1$, this model is problematic due to curse of dimensionality. With $p>1$ and relatively small sample sizes, the estimator given by this model often has large variance.

### Functional additive models (FAMs)

For a given orthonormal basis $\{\phi _{k}\}_{k=1}^{\infty }$ on $L^{2}[0,1]$, we can expand $X^{c}(t)=\sum _{k=1}^{\infty }x_{k}\phi _{k}(t)$ on the domain $[0,1]$.
A functional linear model with scalar responses (see (3)) can thus be written as follows,$\mathbb {E} (Y|X)=\mathbb {E} (Y)+\sum _{k=1}^{\infty }\beta _{k}x_{k}.$One form of FAMs is obtained by replacing the linear function of $x_{k}$ in the above expression ( i.e., $\beta _{k}x_{k}$) by a general smooth function $f_{k}$, analogous to the extension of multiple linear regression models to additive models and is expressed as,$\mathbb {E} (Y|X)=\mathbb {E} (Y)+\sum _{k=1}^{\infty }f_{k}(x_{k}),$where $f_{k}$ satisfies $\mathbb {E} (f_{k}(x_{k}))=0$ for $k\in \mathbb {N}$. This constraint on the general smooth functions $f_{k}$ ensures identifiability in the sense that the estimates of these additive component functions do not interfere with that of the intercept term $\mathbb {E} (Y)$. Another form of FAM is the continuously additive model, expressed as,$\mathbb {E} (Y|X)=\mathbb {E} (Y)+\int _{0}^{1}g(t,X(t))dt$for a bivariate smooth additive surface $g:[0,1]\times \mathbb {R} \longrightarrow \mathbb {R}$ which is required to satisfy $\mathbb {E} [g(t,X(t))]=0$ for all $t\in [0,1]$, in order to ensure identifiability.

### Generalized functional linear model

An obvious and direct extension of FLMs with scalar responses (see (3)) is to add a link function leading to a generalized functional linear model (GFLM) in analogy to the generalized linear model (GLM). The three components of the GFLM are:
* Linear predictor $\eta =\beta _{0}+\int _{0}^{1}X^{c}(t)\beta (t)\,dt$; [systematic component]
* Variance function ${\text{Var}}(Y|X)=V(\mu )$, where $\mu =\mathbb {E} (Y|X)$ is the conditional mean; [random component]
* Link function $g$ connecting the conditional mean $\mu$ and the linear predictor $\eta$ through $\mu =g(\eta )$. [systematic component]

## Clustering and classification of functional data

For vector-valued multivariate data, k-means partitioning methods and hierarchical clustering are two main approaches. These classical clustering concepts for vector-valued multivariate data have been extended to functional data. For clustering of functional data, k-means clustering methods are more popular than hierarchical clustering methods. For k-means clustering on functional data, mean functions are usually regarded as the cluster centers. Covariance structures have also been taken into consideration. Besides k-means type clustering, functional clustering based on mixture models is also widely used in clustering vector-valued multivariate data and has been extended to functional data clustering. Furthermore, Bayesian hierarchical clustering also plays an important role in the development of model-based functional clustering.
Functional classification assigns a group membership to a new data object either based on functional regression or functional discriminant analysis. Functional data classification methods based on functional regression models use class levels as responses and the observed functional data and other covariates as predictors. For regression based functional classification models, functional generalized linear models or more specifically, functional binary regression, such as functional logistic regression for binary responses, are commonly used classification approaches. More generally, the generalized functional linear regression model based on the FPCA approach is used. Functional Linear Discriminant Analysis (FLDA) has also been considered as a classification method for functional data. Functional data classification involving density ratios has also been proposed. A study of the asymptotic behavior of the proposed classifiers in the large sample limit shows that under certain conditions the misclassification rate converges to zero, a phenomenon that has been referred to as "perfect classification".

## Time warping
### Motivations

In addition to amplitude variation, time variation may also be assumed to present in functional data. Time variation occurs when the subject-specific timing of certain events of interest varies among subjects. One classical example is the Berkeley Growth Study Data, where the amplitude variation is the growth rate and the time variation explains the difference in children's biological age at which the pubertal and the pre-pubertal growth spurt occurred. In the presence of time variation, the cross-sectional mean function may not be an efficient estimate as peaks and troughs are located randomly and thus meaningful signals may be distorted or hidden.
Time warping, also known as curve registration, curve alignment or time synchronization, aims to identify and separate amplitude variation and time variation. If both time and amplitude variation are present, then the observed functional data $Y_{i}$ can be modeled as $Y_{i}(t)=X_{i}[h_{i}^{-1}(t)],t\in [0,1]$, where $X_{i}{\overset {iid}{\sim }}X$ is a latent amplitude function and $h_{i}{\overset {iid}{\sim }}h$ is a latent time warping function that corresponds to a cumulative distribution function. The time warping functions $h$ are assumed to be invertible and to satisfy $\mathbb {E} (h^{-1}(t))=t$.
The simplest case of a family of warping functions to specify phase variation is linear transformation, that is $h(t)=\delta +\gamma t$, which warps the time of an underlying template function by subjected-specific shift and scale. More general class of warping functions includes diffeomorphisms of the domain to itself, that is, loosely speaking, a class of invertible functions that maps the compact domain to itself such that both the function and its inverse are smooth. The set of linear transformation is contained in the set of diffeomorphisms. One challenge in time warping is identifiability of amplitude and phase variation. Specific assumptions are required to break this non-identifiability.

### Methods

Earlier approaches include dynamic time warping (DTW) used for applications such as speech recognition. Another traditional method for time warping is landmark registration, which aligns special features such as peak locations to an average location. Other relevant warping methods include pairwise warping, registration using ${\mathcal {L}}^{2}$ distance and elastic warping.

#### Dynamic time warping

The template function is determined through an iteration process, starting from cross-sectional mean, performing registration and recalculating the cross-sectional mean for the warped curves, expecting convergence after a few iterations. DTW minimizes a cost function through dynamic programming. Problems of non-smooth differentiable warps or greedy computation in DTW can be resolved by adding a regularization term to the cost function.

#### Landmark registration

Landmark registration (or feature alignment) assumes well-expressed features are present in all sample curves and uses the location of such features as a gold-standard. Special features such as peak or trough locations in functions or derivatives are aligned to their average locations on the template function. Then the warping function is introduced through a smooth transformation from the average location to the subject-specific locations. A problem of landmark registration is that the features may be missing or hard to identify due to the noise in the data.

## Extensions

So far we considered scalar valued stochastic process, $\{X(t)\}_{t\in {\mathcal {T}}}$, defined on one dimensional time domain.

### Multidimensional domain of $X(\cdot )$

The domain of $X(\cdot )$ can be in $R^{p}$, for example the data could be a sample of random surfaces.

### Multivariate stochastic process

The range set of the stochastic process may be extended from $R$ to $R^{p}$ and further to nonlinear manifolds, Hilbert spaces and eventually to metric spaces.

## Python packages

There are Python packages to work with functional data, and its representation, perform exploratory analysis, or preprocessing, and among other tasks such as inference, classification, regression or clustering of functional data.
* scikit-fda

## R packages

Some packages can handle functional data under both dense and longitudinal designs.
* fda
* refund
* fdapace
* FDboost
* classiFunc
* fda.usc
* dtw
* fdasrvf