Learn R Programming

fdasrvf (version 2.4.0)

multiple_align_multivariate: Group-wise multivariate function alignment to specified mean

Description

This function aligns a collection of functions using the elastic square-root velocity (srvf) framework.

Usage

multiple_align_multivariate(
  beta,
  mu,
  mode = "O",
  alignment = TRUE,
  rotation = FALSE,
  scale = FALSE,
  lambda = 0,
  ncores = 1L,
  verbose = TRUE
)

Value

Returns a fdacurve object containing:

  • beta: A numeric array of shape \(L \times M \times N\) storing the original input data.

  • q: A numeric array of shape \(L \times M \times N\) storing the SRVFs of the input data.

  • betan: A numeric array of shape \(L \times M \times N\) storing the aligned, possibly optimally rotated and optimally scaled, input data.

  • qn: A numeric array of shape \(L \times M \times N\) storing the SRVFs of the aligned, possibly optimally rotated and optimally scaled, input data.

  • gamma: A numeric array of shape \(L \times M \times N\) storing the warping functions of the aligned, possibly optimally rotated and optimally scaled, input data.

  • R: A numeric array of shape \(L \times L \times N\) storing the rotation matrices of the aligned, possibly optimally rotated and optimally scaled, input data.

  • betamean: A numeric array of shape \(L \times M\) storing the Karcher mean or median of the input data.

  • qmean: A numeric array of shape \(L \times M\) storing the Karcher mean or median of the SRVFs of the input data.

  • type: A character string indicating whether the Karcher mean or median has been returned.

  • E: A numeric vector storing the energy of the Karcher mean or median at each iteration.

  • qun: A numeric vector storing the cost function of the Karcher mean or median at each iteration.

Arguments

beta

A numeric array of shape \(L \times M \times N\) specifying an \(N\)-sample of \(L\)-dimensional functional data evaluated on a same grid of size \(M\).

mu

array of size \(L \times M\) that f is aligned to

mode

A character string specifying whether the input curves should be considered open (mode == "O") or closed (mode == "C"). Defaults to "O".

alignment

A boolean value specifying whether the curves should be aligned before computing the distance matrix. Defaults to TRUE.

rotation

A boolean specifying whether the distance should be made invariant by rotation. Defaults to TRUE.

scale

A boolean specifying whether the distance should be made invariant by scaling. This is effectively achieved by making SRVFs having unit length and switching to an appropriate metric on the sphere between normalized SRVFs. Defaults to TRUE.

lambda

A numeric value specifying the weight of a penalty term that constraints the warping function to be not too far from the identity. Defaults to 0.0.

ncores

An integer value specifying the number of cores to use for parallel computation. Defaults to 1L. The maximum number of available cores is determined by the parallel package. One core is always left out to avoid overloading the system.

verbose

verbose printing (default TRUE)

References

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