# Do a permutation test for functional regression

### Description

Performs a permutation F test (Ramsay, Hooker, and Graves, 2009, p. 145) for the significance of a functional covariate, and a permutation likelihood ratio test. The permutation test function currently doesn't allow models with multiple functional covariates, but subject-level covariates are allowed.

### Usage

1 | ```
funreg.permutation(object, num.permute = 500, seed = NULL)
``` |

### Arguments

`object` |
An object of class funreg |

`num.permute` |
The number of permutations to use. Ramsay, Hooker and Graves (2009) recommended “several hundred” (p. 145), but for a quicker initial look it might suffice to use 100. |

`seed` |
An optional random number seed. |

### Value

Returns a list with several components. First,
`pvalue.F`

is the p-value for the F test. Second, `conf.int.for.pvalue.F`

is
the confidence interval for estimating the p-value that would
be obtained from the dataset as `num.permute`

approached infinity.
The idea of a confidence interval for a p-value is explained further by
Sen (2013), with a STATA example. See "Permutation Tests" by Saunak Sen (2013) at
http://www.epibiostat.ucsf.edu/biostat/sen/statgen/permutation.html.
Third, `orig.F`

is the F statistic calculated on the original
dataset. Last, `permuted.F`

is the vector of F statistics calculated
on each of the random permuted datasets. Also included are `pvalue.LR`

,
`conf.int.for.pvalue.LR`

, `orig.LR`

, `permuted.LR`

for
the permutation test with a likelihood ratio statistic.
A more conservative alternative formula for the p-value is used in
`pvalue.F.better`

and `pvalue.LR.better`

.
It is not obvious whether to define the p-value as the
proportion of permuted datasets with statistics less than or equal to
the original, or simply less than the original. This should usually not
matter, as a tie is not likely. We made the arbitrary decision to use
the former here because it was presented in this way in the
Wikipedia article for permutation tests.
The conservative alternative formula is
the number of less extreme permuted datasets plus one,
over the total number of datasets plus one. Adding one to the numerator
and denominator is suggested by some authors, partly in order to prevent
a nonsensical zero p-value (Onghena & May, 1995; Phipson, Belinda & Smyth, 2010).

### References

Onghena, P., & May, R. B. (1995). Pitfalls in computing and interpreting randomization test p values: A commentary on Chen and Dunlap. Behavior Research Methods, Instruments, & Computers, 27(3), 408-411. DOI: 10.3758/BF03200438.

Phipson, Belinda and Smyth, Gordon K. (2010) Permutation P-values Should Never Be Zero: Calculating Exact P-values When Permutations Are Randomly Drawn. Statistical Applications in Genetics and Molecular Biology: Vol. 9: Iss. 1, Article 39. DOI: 10.2202/1544-6115.1585.

Ramsay, J. O., Hooker, G., & Graves, S. (2009). Functional data analysis with R and MATLAB. NY: Springer.

Sen, S. (2014) Permutation Tests. Available at http://www.biostat.ucsf.edu/sen/statgen14/permutation-tests.html