IWT2: Two population Interval Wise Testing procedure

View source: R/IWT2.R

ITP2bsplineR Documentation

Two population Interval Wise Testing procedure

Description

The function implements the Interval Wise Testing procedure 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 controls the interval-wise error rate.

Usage

ITP2bspline(
  data1,
  data2,
  mu = 0,
  B = 1000,
  paired = FALSE,
  order = 2,
  nknots = dim(data1)[2]
)

ITP2fourier(
  data1,
  data2,
  mu = 0,
  B = 1000,
  paired = FALSE,
  maxfrequency = floor(dim(data1)[2]/2)
)

ITP2pafourier(
  data1,
  data2,
  mu = 0,
  B = 1000,
  paired = FALSE,
  maxfrequency = floor(dim(data1)[2]/2)
)

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

Arguments

data1

First population's data. Either pointwise evaluations of the functional data set on a uniform grid, or an fd object. If pointwise evaluations are provided, it should be 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 an fd object. If pointwise evaluations are provided, it should be a matrix of dimensions c(n2, J), with J evaluations on columns and n2 units on rows.

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.

order

Order of the B-spline basis expansion. Defaults to 2L.

nknots

Number of knots of the B-spline basis expansion. Defaults to dim(data1)[2].

maxfrequency

The maximum frequency to be used in the Fourier basis expansion of data. Defaults to floor(dim(data1)[2] / 2), leading to an interpolating expansion.

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.

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.

alternative

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

verbose

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

Value

An object of class IWT2, which is a list containing at least the following components:

  • test: 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.

  • pval_matrix: Matrix of dimensions c(p, p) of the p-values of the interval-wise tests. The element ⁠(i, j)⁠ of matrix pval.matrix contains the p-value of the test contains the p-value of the test of interval indexed by ⁠(j,j+1,...,j+(p-i))⁠.

  • 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

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.

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

See Also

See also plot.fdatest2 and IWTimage for plotting the results.

Examples

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

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

# Plotting the p-value heatmap
IWTimage(IWT.result, abscissa_range = c(0, 12))

# 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.