ITP2fourier: Two populations Interval Testing Procedure with Fourier basis

View source: R/ITP2fourier.R

ITP2fourierR Documentation

Two populations Interval Testing Procedure with Fourier basis

Description

The function implements the Interval Testing Procedure for testing the difference between two functional populations evaluated on a uniform grid. Data are represented by means of the Fourier basis and the significance of each basis coefficient is tested with an interval-wise control of the Family Wise Error Rate.

Usage

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

Arguments

data1

Pointwise evaluations of the first population's functional data set on a uniform grid. data1 is a matrix of dimensions c(n1,J), with J evaluations on columns and n1 units on rows.

data2

Pointwise evaluations of the second population's functional data set on a uniform grid. data2 is a matrix of dimensions c(n2,J), with J evaluations on columns and n2 units on rows.

mu

The difference between the first functional population and the second functional population under the null hypothesis. Either a constant (in this case, a constant function is used) or a J-dimensional vector containing the evaluations on the same grid which data are evaluated. The default is mu=0.

maxfrequency

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

B

The number of iterations of the MC algorithm to evaluate the p-values of the permutation tests. The defualt is B=1000.

paired

A logical indicating whether the test is paired. The default is FALSE.

Value

ITP2fourier returns an object of class "ITP2". An object of class "ITP2" is a list containing at least the following components:

basis

String vector indicating the basis used for the first phase of the algorithm. In this case equal to "Fourier".

test

String vector indicating the type of test performed. In this case equal to "2pop".

mu

Difference between the first functional population and the second functional population under the null hypothesis (as entered by the user).

paired

Logical indicating whether the test is paired (as entered by the user).

coeff

Matrix of dimensions c(n,p) of the p coefficients of the B-spline basis expansion, with n=n1+n2. Rows are associated to units and columns to the basis index. The first n1 rows report the coefficients of the first population units and the following n2 rows report the coefficients of the second population units

pval

Unadjusted p-values for each basis coefficient.

pval.matrix

Matrix of dimensions c(p,p) of the p-values of the multivariate tests. The element (i,j) of matrix pval.matrix contains the p-value of the joint NPC test of the components (j,j+1,...,j+(p-i)).

adjusted.pval

Adjusted p-values for each basis coefficient.

labels

Labels indicating the population membership of each data.

data.eval

Evaluation on a fine uniform grid of the functional data obtained through the basis expansion.

heatmap.matrix

Heatmap matrix of p-values (used only for plots).

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.

See Also

See also plot.ITP2 and ITPimage for plotting the results, ITP2bspline for ITP based on B-spline basis, IWT2 for a two-sample test that is not based on an a-priori selected basis expansion.

Examples

# Importing the NASA temperatures data set
data(NASAtemp)

# Performing the ITP
ITP.result <- ITP2fourier(NASAtemp$milan,NASAtemp$paris,maxfrequency=20,B=1000,paired=TRUE)

# Plotting the results of the ITP
plot(ITP.result,main='NASA data',xrange=c(1,365),xlab='Day')

# Plotting the p-value heatmap
ITPimage(ITP.result,abscissa.range=c(1,365))

# Selecting the significant coefficients
which(ITP.result$adjusted.pval < 0.05)



alessiapini/fdatest documentation built on May 14, 2022, 12:46 p.m.