This function computes the three 'DepthGram' representations from a p-variate functional data set.

depthgram(
  Data,
  marginal_outliers = FALSE,
  boxplot_factor = 1.5,
  outliergram_factor = 1.5,
  ids = NULL
)

# S3 method for default
depthgram(
  Data,
  marginal_outliers = FALSE,
  boxplot_factor = 1.5,
  outliergram_factor = 1.5,
  ids = NULL
)

# S3 method for fData
depthgram(
  Data,
  marginal_outliers = FALSE,
  boxplot_factor = 1.5,
  outliergram_factor = 1.5,
  ids = NULL
)

# S3 method for mfData
depthgram(
  Data,
  marginal_outliers = FALSE,
  boxplot_factor = 1.5,
  outliergram_factor = 1.5,
  ids = NULL
)

Arguments

Data

A list of length L (number of components) in which each element is an N x P matrix with N individuals and P time points. Alternatively, it can also be an object of class fData or of class mfData.

marginal_outliers

A boolean specifying whether the function should return shape and amplitude outliers over each dimension. Defaults to FALSE.

boxplot_factor

A numeric value specifying the inflation factor for marginal functional boxplots. This is ignored if marginal_outliers == FALSE. Defaults to 1.5.

outliergram_factor

A numeric value specifying the inflation factor for marginal outliergrams. This is ignored if marginal_outliers == FALSE. Defaults to 1.5.

ids

A character vector specifying labels for individual observations. Defaults to NULL, in which case observations will remain unlabelled.

Value

An object of class depthgram which is a list with the following items:

  • mbd.mei.d: vector MBD of the MEI dimension-wise.

  • mei.mbd.d: vector MEI of the MBD dimension-wise.

  • mbd.mei.t: vector MBD of the MEI time-wise.

  • mei.mbd.t: vector MEI of the MEI time-wise.

  • mbd.mei.t2: vector MBD of the MEI time/correlation-wise.

  • mei.mbd.t2: vector MEI of the MBD time/correlation-wise.

  • shp.out.det: detected shape outliers by dimension.

  • mag.out.det: detected magnitude outliers by dimension.

  • mbd.d: matrix n x p of MBD dimension-wise.

  • mei.d: matrix n x p of MEI dimension-wise.

  • mbd.t: matrix n x p of MBD time-wise.

  • mei.t: matrix n x p of MEI time-wise.

  • mbd.t2: matrix n x p of MBD time/correlation-wise

  • mei.t2: matrix n x p of MBD time/correlation-wise.

References

Aleman-Gomez, Y., Arribas-Gil, A., Desco, M. Elias-Fernandez, A., and Romo, J. (2021). "Depthgram: Visualizing Outliers in High Dimensional Functional Data with application to Task fMRI data exploration".

Examples

N <- 2e2
P <- 1e3
grid <- seq(0, 1, length.out = P)
Cov <- exp_cov_function(grid, alpha = 0.3, beta = 0.4)

Data <- list()
Data[[1]] <- generate_gauss_fdata(
  N,
  centerline = sin(2 * pi * grid),
  Cov = Cov
)
Data[[2]] <- generate_gauss_fdata(
  N,
  centerline = sin(2 * pi * grid),
  Cov = Cov
)
names <- paste0("id_", 1:nrow(Data[[1]]))

DG1 <- depthgram(Data, marginal_outliers = TRUE, ids = names)

fD <- fData(grid, Data[[1]])
DG2 <- depthgram(fD, marginal_outliers = TRUE, ids = names)

mfD <- mfData(grid, Data)
DG3 <- depthgram(mfD, marginal_outliers = TRUE, ids = names)