# Interval Testing Procedure for testing Functional-on-Scalar Linear Models with B-spline basis

### Description

`ITPlmbspline`

is used to fit and test functional linear models. It can be used to carry out regression, and analysis of variance.
The function implements the Interval Testing Procedure for testing the significance of the effects of scalar covariates on a functional population evaluated on a uniform grid. Data are represented by means of the B-spline basis and the significance of each basis coefficient is tested with an interval-wise control of the Family Wise Error Rate. The default parameters of the basis expansion lead to the piece-wise interpolating function.

### Usage

1 2 3 | ```
ITPlmbspline(formula, order = 2,
nknots = dim(model.response(model.frame(formula)))[2],
B = 10000, method = "residuals")
``` |

### Arguments

`formula` |
An object of class " |

`order` |
Order of the B-spline basis expansion. The default is |

`nknots` |
Number of knots of the B-spline basis expansion. The default is |

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

`method` |
Permutation method used to calculate the p-value of permutation tests. Choose " |

### Value

`ITPlmbspline`

returns an object of `class`

"`ITPlm`

".

The function `summary`

is used to obtain and print a summary of the results.

An object of class "`ITPlm`

" is a list containing at least the following components:

`call` |
The matched call. |

`design.matrix` |
The design matrix of the functional-on-scalar linear model. |

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

`coeff` |
Matrix of dimensions |

`coeff.regr` |
Matrix of dimensions |

`pval.F` |
Uncorrected p-values of the functional F-test for each basis coefficient. |

`pval.matrix.F` |
Matrix of dimensions |

`corrected.pval.F` |
Corrected p-values of the functional F-test for each basis coefficient. |

`pval.t` |
Uncorrected p-values of the functional t-tests for each partial regression coefficient including the intercept (rows) and each basis coefficient (columns). |

`pval.matrix.t` |
Array of dimensions |

`corrected.pval.t` |
Corrected p-values of the functional t-tests for each partial regression coefficient including the intercept (rows) and each basis coefficient (columns). |

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

`coeff.regr.eval` |
Evaluation on a fine uniform grid of the functional regression coefficients. |

`fitted.eval` |
Evaluation on a fine uniform grid of the fitted values of the functional regression. |

`residuals.eval` |
Evaluation on a fine uniform grid of the residuals of the functional regression. |

`R2.eval` |
Evaluation on a fine uniform grid of the functional R-squared of the regression. |

`heatmap.matrix.F` |
Heatmap matrix of p-values of functional F-test (used only for plots). |

`heatmap.matrix.t` |
Heatmap matrix of p-values of functional t-tests (used only for plots). |

### Author(s)

Alessia Pini, Simone Vantini

### References

D. Freedman and D. Lane (1983). A Nonstochastic Interpretation of Reported Significance Levels. *Journal of Business & Economic Statistics* 1.4, 292-298.

B. F. J. Manly (2006). Randomization, *Bootstrap and Monte Carlo Methods in Biology*. Vol. 70. CRC Press.

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.

K. Abramowicz, S. De Luna, C. Häger, A. Pini, L. Schelin, and S. Vantini (2015). Distribution-Free Interval-Wise Inference for Functional-on-Scalar Linear Models. *MOX-report 3/2015*, Politecnico di Milano.

### See Also

See `summary.ITPlm`

for summaries and `plot.ITPlm`

for plotting the results.

See also `ITPaovbspline`

to fit and test a functional analysis of variance applying the ITP, and `ITP1bspline`

, `ITP2bspline`

, `ITP2fourier`

, `ITP2pafourier`

for one-population and two-population tests.

### Examples

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | ```
# Importing the NASA temperatures data set
data(NASAtemp)
# Defining the covariates
temperature <- rbind(NASAtemp$milan,NASAtemp$paris)
groups <- c(rep(0,22),rep(1,22))
# Performing the ITP
ITP.result <- ITPlmbspline(temperature ~ groups,B=1000,nknots=20)
# Summary of the ITP results
summary(ITP.result)
# Plot of the ITP results
layout(1)
plot(ITP.result,main='NASA data', plot.adjpval = TRUE,xlab='Day',xrange=c(1,365))
# All graphics on the same device
layout(matrix(1:6,nrow=3,byrow=FALSE))
plot(ITP.result,main='NASA data', plot.adjpval = TRUE,xlab='Day',xrange=c(1,365))
``` |