ITP2pafourier: Two populations Interval Testing Procedure with Fourier basis... In alessiapini/fdatest: Interval Wise Testing for Functional Data

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 expansion with the phase-amplitude decomposition and the significance of the amplitude and phase of each frequency is tested with an interval-wise control of the Family Wise Error Rate.

Usage

 ```1 2``` ```ITP2pafourier(data1, data2, 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. `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. Equal to `"paFourier"`. `test` String vector indicating the type of test performed. Equal to `"2pop"`. `paired` Logical indicating whether the test is paired (as entered by the user). `coeff_phase` Matrix of dimensions `c(n,p)` of the `p` phases of the Fourier basis expansion. Rows are associated to units and columns to frequencies: 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. `coeff_amplitude` Matrix of dimensions `c(n,p)` of the `p` amplitudes of the Fourier basis expansion. Rows are associated to units and columns to frequencies: 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_phase` Unadjusted p-values of the phase tests for each frequency. `pval_amplitude` Unadjusted p-values of the amplitude tests for each frequency. `pval.matrix_phase` Matrix of dimensions `c(p,p)` of the p-values of the multivariate tests on phase. The element `(i,j)` of matrix `pval.matrix_phase` contains the p-value of the joint NPC test of the frequencies `(j,j+1,...,j+(p-i))`. `pval.matrix_amplitude` Matrix of dimensions `c(p,p)` of the p-values of the multivariate tests on amplitude. The element `(i,j)` of matrix `pval.matrix_amplitude` contains the p-value of the joint NPC test of the frequencies `(j,j+1,...,j+(p-i))`. `adjusted.pval_phase` Adjusted p-values of the phase tests for each frequency. `adjusted.pval_amplitude` Adjusted p-values of the amplitude tests for each frequency. `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_phase` Heatmap matrix of p-values for phase (used only for plots). `heatmap.matrix_amplitude` Heatmap matrix of p-values for amplitude (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 `plot.ITP2` and `ITPimage` for plotting the results, `ITP2bspline` for ITP based on B-spline basis, `ITP2fourier` for Fourier basis (without phase and amplitude decomposition), and `IWT2` for a two-sample test that is not based on an a-priori selected basis expansion.
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14``` ```# Importing the NASA temperatures data set data(NASAtemp) # Performing the ITP ITP.result <- ITP2pafourier(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) ```