Elastic Functional Data Analysis

Performs alignment, PCA, and modeling of multidimensional and unidimensional functions using the square-root velocity framework (Srivastava et al., 2011 and Tucker et al., 2014 ). This framework allows for elastic analysis of functional data through phase and amplitude separation.

R library for elastic functional data analysis

Build Status Build status

A R package for functional data analysis using the square root velocity framework which performs pair-wise and group-wise alignment as well as modeling using functional component analysis

v1.8.2 is on CRAN and can be installed as

For a more up to date, but may not be stable version from git repository

  1. Download zip or tar.gz of package or clone repository
  2. Install into R (> 3.1.0)

install.packages("fdasrvf.tar.gz", repos = NULL)


Tucker, J. D. 2014, Functional Component Analysis and Regression using Elastic Methods. Ph.D. Thesis, Florida State University.

Robinson, D. T. 2012, Function Data Analysis and Partial Shape Matching in the Square Root Velocity Framework. Ph.D. Thesis, Florida State University.

Huang, W. 2014, Optimization Algorithms on Riemannian Manifolds with Applications. Ph.D. Thesis, Florida State University.

Srivastava, A., Wu, W., Kurtek, S., Klassen, E. and Marron, J. S. (2011). Registration of Functional Data Using Fisher-Rao Metric. arXiv:1103.3817v2 [math.ST].

Tucker, J. D., Wu, W. and Srivastava, A. (2013). Generative models for functional data using phase and amplitude separation. Computational Statistics and Data Analysis 61, 50-66.

J. D. Tucker, W. Wu, and A. Srivastava, ``Phase-Amplitude Separation of Proteomics Data Using Extended Fisher-Rao Metric," Electronic Journal of Statistics, Vol 8, no. 2. pp 1724-1733, 2014.

J. D. Tucker, W. Wu, and A. Srivastava, "Analysis of signals under compositional noise With applications to SONAR data," IEEE Journal of Oceanic Engineering, Vol 29, no. 2. pp 318-330, Apr 2014.

Srivastava, A., Klassen, E., Joshi, S., Jermyn, I., (2011). Shape analysis of elastic curves in euclidean spaces. Pattern Analysis and Machine Intelligence, IEEE Transactions on 33 (7), 1415-1428.

S. Kurtek, A. Srivastava, and W. Wu. Signal estimation under random time-warpings and nonlinear signal alignment. In Proceedings of Neural Information Processing Systems (NIPS), 2011.

Wen Huang, Kyle A. Gallivan, Anuj Srivastava, Pierre-Antoine Absil. "Riemannian Optimization for Elastic Shape Analysis", Short version, The 21st International Symposium on Mathematical Theory of Networks and Systems (MTNS 2014).

Cheng, W., Dryden, I. L., and Huang, X. (2016). Bayesian registration of functions and curves. Bayesian Analysis, 11(2), 447-475.

Xie, W., S. Kurtek, K. Bharath, and Y. Sun (2016). "A Geometric Approach to Visualization of Variability in Functional Data." Journal of the American Statistical Association in press: 1-34.

Y. Lu, R. Herbei and S. Kurtek (2017). "Bayesian Registration of Functions with a Gaussian Process Prior." Journal of Computational and Graphical Statistics: in press: 1-34


fdasrvf 1.8.3


  • added bayesian alignment method by Y. Lu et. al
  • added multiple functional alignment function
  • bugfixes to curve alginment


  • added objects for outputs of time_warping, boxplot, and pca functions
  • added plot methods for the above objects
  • added summary methods for the above objects
  • added kmeans clustering and alignment based on Sangalli et. al.
  • multiple bugfixes


  • fix boxplot functions documentation
  • added quantile option
  • updated surface plot for boxplot functions


  • added phase and amplitude boxplot functions
  • fixed issue with time_warping finding the median


  • fix memory leaks in bayesian c code
  • update SqrtMean calculation to have more numerical accuracy


  • added a pair align function for 1-D data
  • added bayesian alignment for 1-D functions


  • updated curve functions to support R^n
  • cleaned up curve function for loops


  • bug fixes to curve functions


  • added open and closed curve function (N-D)


  • added image alignment functions and fix minor bugs


  • added gropt optimization methods and alignment


  • added simul optimization method for reparam


  • Fixed gradient bug


  • Fixed bug in doParallel for windows computers
  • Fixed numerical issues for high lambda for no warping required


  • Fixed memory leak in Dynamic Programming algorithm
  • Updated random gamma generation to use a Fourier basis on the tangent space
  • Changed over parallel support to doParallel
  • Fixed documentation error


  • Fixed numerical issues
  • Updated documentation


  • Changed SRVF calculation to use splines for derivatives
  • Added control to the amount of warping via lambda to the time_warping function
  • Fixed documentation bugs and minor bugs in horizontal PCA calculation


  • Updated so the parallel functions are windows compatible and windows binary can be compiled, now suggests doSNOW or doMC
  • Added variance calculation to time_warping function


  • Initial Version of Package

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


1.9.7 by J. Derek Tucker, 7 months ago

Browse source code at https://github.com/cran/fdasrvf

Authors: J. Derek Tucker <[email protected]>

Documentation:   PDF Manual  

Task views: Functional Data Analysis

GPL-3 license

Imports Rcpp, coda, foreach, mvtnorm, matrixcalc, splines, parallel, fields, doParallel, viridisLite, tolerance, lpSolve, Matrix, testthat

Suggests akima, plot3D, plot3Drgl, rgl

Linking to Rcpp, RcppArmadillo

System requirements: C++11

Depended on by NITPicker.

See at CRAN