ITP2fourier: Two populations Interval Testing Procedure with Fourier basis In fdatest: Interval Testing Procedure 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 and the significance of each basis coefficient is tested with an interval-wise control of the Family Wise Error Rate.

Usage

 ```1 2``` ```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=10000`. `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 Fourier basis expansion. 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; the first column is a0, the following `(p-1)/2` columns are the ak coefficients (sine coefficients) and the last `(p-1)/2` columns the bk coefficients (cosine coefficients). `pval` Uncorrected p-values for each frequency. `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 frequencies `(j,j+1,...,j+(p-i))`. `corrected.pval` Corrected p-values 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` Heatmap matrix of p-values (used only for plots).

Author(s)

Alessia Pini, Simone Vantini

References

A. Pini and S. Vantini (2013). The Interval Testing Procedure: Inference for Functional Data Controlling the Family Wise Error Rate on Intervals. MOX-report 13/2013, Politecnico di Milano.

See also `ITP2pafourier`, `ITP2bspline`, `ITP1fourier`, `ITP1bspline`, and `ITPimage`.
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13``` ```# 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\$corrected.pval < 0.05) ```