fdatest2: Two population local testing procedures

View source: R/fdatest2.R

fdatest2R Documentation

Two population local testing procedures

Description

The function implements local testing procedures for testing mean differences between two functional populations. Functional data are tested locally and unadjusted and adjusted p-value functions are provided. The unadjusted p-value function controls the point-wise error rate. The adjusted p-value function can be computed according to the following methods:

Usage

fdatest2(
  data1,
  data2,
  method,
  mu = 0,
  B = 1000L,
  paired = FALSE,
  dx = NULL,
  alternative = "two.sided",
  recycle = TRUE,
  partition = NULL,
  verbose = TRUE
)

Arguments

data1

First population's data. Either pointwise evaluations of the functional data set on a uniform grid, or a fd object from the package fda. If pointwise evaluations are provided, data2 is a matrix of dimensions c(n1,J), with J evaluations on columns and n1 units on rows.

data2

Second population's data. Either pointwise evaluations of the functional data set on a uniform grid, or a fd object from the package fda. If pointwise evaluations are provided, data2 is a matrix of dimensions c(n1,J), with J evaluations on columns and n2 units on rows.

method

A character string specifying the method chosen to adjust the p-value. Should be one of the following: "Global", "IWT", "TWT", "PCT", "FDR".

mu

Functional mean difference under the null hypothesis. Three possibilities are available for mu:

  • a constant (in this case, a constant function is used);

  • a J-dimensional vector containing the evaluations on the same grid which data are evaluated;

  • a fd object from the package fda containing one function.

Defaults to mu = 0.

B

The number of iterations of the MC algorithm to evaluate the p-values of the permutation tests. Defaults to 1000L.

paired

Flag indicating whether a paired test has to be performed. Defaults to FALSE.

dx

Used only if an fd object is provided. In this case, dx is the size of the discretization step of the gridused to evaluate functional data. If set to NULL, a grid of size 100L is used. Defaults to NULL.

alternative

A character string specifying the alternative hypothesis. Must be one of "two.sided" (default), "greater" or "less".

recycle

Flag used to decide whether the recycled version of the IWT should be used (see Pini and Vantini, 2017 for details). Defaults to TRUE.

partition

Used only if method="PCT". The partition to be used for PCT procedure. Default is NULL.

verbose

Logical: if FALSE, reduces the amount of output. Default is TRUE.

Details

  • global testing (controlling the FWER weakly)

  • interval-wise testing (controlling the interval-wise error rate)

  • threshold-wise testing (controlling the FWER asymptotically)

  • partition closed testing (controlling the FWER on a partition)

  • functional Benjamini Hochberg (controlling the FDR)

Value

An object of class fdatest2 containing at least the following components:

  • test: a string vector indicating the type of test performed. In this case equal to "2pop".

  • mu: evaluation on a grid of the functional mean difference under the null hypothesis (as entered by the user).

  • unadjusted_pval: evaluation on a grid of the unadjusted p-value function.

  • adjusted_pval: evaluation on a grid of the adjusted p-value function.

  • data.eval: evaluation on a grid of the functional data.

  • ord_labels: vector of labels indicating the group membership of data.eval.

References

Abramowicz, K., Pini, A., Schelin, L., Stamm, A., & Vantini, S. (2022). “Domain selection and familywise error rate for functional data: A unified framework. Biometrics 79(2), 1119-1132.

Pini, A., & Vantini, S. (2017). Interval-wise testing for functional data. Journal of Nonparametric Statistics, 29(2), 407-424

A. Pini and S. Vantini (2017). The Interval Testing Procedure: Inference for Functional Data Controlling the Family Wise Error Rate on Intervals. Biometrics 73(3): 835–845.

Lundtorp Olsen, N., Pini, A., & Vantini, S. (2021). False discovery rate for functional data TEST 30, 784–809.

See Also

See also plot.fdatest2() for plotting the results.

Examples

# Importing the NASA temperatures data set
data(NASAtemp)

# Performing the TWT for two populations
TWT.result <- fdatest2(
  NASAtemp$paris, NASAtemp$milan, 
  method = "TWT", B = 10L
)

# Plotting the results of the TWT
plot(
  TWT.result, 
  xrange = c(0, 12), 
  main = 'TWT results for testing mean differences'
)

# Selecting the significant components at 5% level
which(TWT.result$adjusted_pval < 0.05)

# Performing the IWT for two populations
IWT.result <- fdatest2(
  NASAtemp$paris, NASAtemp$milan, 
  method = "IWT", B = 10L
)

# Plotting the results of the IWT
plot(
  IWT.result, 
  xrange = c(0, 12), 
  main = 'IWT results for testing mean differences'
)

# Selecting the significant components at 5% level
which(IWT.result$adjusted_pval < 0.05)

alessiapini/fdatest documentation built on Jan. 4, 2025, 5:37 a.m.