Learn R Programming

fdasrvf (version 2.0.0)

time_warping: Group-wise function alignment

Description

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

Usage

time_warping(
  f,
  time,
  lambda = 0,
  pen = "roughness",
  method = "mean",
  center = TRUE,
  showplot = TRUE,
  smooth_data = FALSE,
  sparam = 25,
  parallel = FALSE,
  omethod = "DP",
  MaxItr = 20
)

Value

Returns a fdawarp object containing

f0

original functions

fn

aligned functions - matrix (\(N\) x \(M\)) of \(M\) functions with \(N\) samples

qn

aligned SRSFs - similar structure to fn

q0

original SRSF - similar structure to fn

fmean

function mean or median - vector of length \(N\)

mqn

SRSF mean or median - vector of length \(N\)

gam

warping functions - similar structure to fn

orig.var

Original Variance of Functions

amp.var

Amplitude Variance

phase.var

Phase Variance

qun

Cost Function Value

Arguments

f

matrix (\(N\) x \(M\)) of \(M\) functions with \(N\) samples

time

vector of size \(N\) describing the sample points

lambda

controls the elasticity (default = 0)

pen

alignment penalty (default="roughness") options are second derivative ("roughness"), geodesic distance from id ("geodesic"), and norm from id ("norm")

method

warp and calculate to Karcher Mean or Median (options = "mean" or "median", default = "mean")

center

center warping functions (default = T)

showplot

shows plots of functions (default = T)

smooth_data

smooth data using box filter (default = F)

sparam

number of times to apply box filter (default = 25)

parallel

enable parallel mode using foreach() and doParallel package (default=F)

omethod

optimization method (DP,DP2,RBFGS)

MaxItr

maximum number of iterations

References

Srivastava, A., Wu, W., Kurtek, S., Klassen, E., Marron, J. S., May 2011. Registration of functional data using fisher-rao metric, arXiv:1103.3817v2.

Tucker, J. D., Wu, W., Srivastava, A., Generative Models for Function Data using Phase and Amplitude Separation, Computational Statistics and Data Analysis (2012), 10.1016/j.csda.2012.12.001.

Examples

Run this code
if (FALSE) {
  out <- time_warping(simu_data$f, simu_data$time)
}

Run the code above in your browser using DataLab