Overview
The fdacluster package provides implementations of the popular \(k\)-means, hierarchical agglomerative and DBSCAN clustering methods for functional data (Ramsay and Silverman 2005). Variability in functional data can be divided into three components: amplitude, phase and ancillary variability (Vantini 2012; Marron et al. 2015). The first two sources of variability can be captured with a statistical analysis that integrates a curve alignment step. The \(k\)-means and HAC algorithms implemented in fdacluster provide clustering structures that are based either on amplitude variation (default behavior) or phase variation (Marron et al. 2014). This is achieved by jointly performing clustering and alignment of a functional data set. The three main related functions are fdakmeans()
for the \(k\)-means, fdahclust()
for HAC and fdadbscan()
for DBSCAN.
It supports:
- functional data defined on one-dimensional domains but possibly evaluating in multivariate codomains;
- functional data defined in arrays but also via the
fd
andfunData
classes for functional data defined in the fda and funData packages respectively; - shift, dilation and affine warping functions for functional data defined on the real line (Sangalli et al. 2010) and all boundary-preserving warping functions for functional data defined on a specific interval through the SRSF framework (Tucker, Wu, and Srivastava 2013).
Installation
You can install the released version of fdacluster from CRAN with:
install.packages("fdacluster")
Alternatively you can install the development version of fdacluster from GitHub with:
# install.packages("remotes")
::install_github("astamm/fdacluster") remotes