Learn R Programming

Statistical Testing for Functional Data

Website and Source code


The funStatTest package implements various statistics for two sample comparison testing regarding functional data introduced and used in Smida et al 2022 [1].

This package is developed by:

Installation

To install the funStatTest package, you can run:

install.packages("funStatTest")

You can also install the development version of funStatTest with the following command:

remotes::install_git("https://plmlab.math.cnrs.fr/gdurif/funStatTest")

Documentation

See the package vignette and function manuals for more details about the package usage.

Development

The funStatTest was developed using the fusen package [2]. See in the dev sub-directory in the package sources for more information, in particular:

  • the file dev/dev_history.Rmd describing the development process
  • the file dev/flat_package.Rmd defining the major package functions (from which the vignette is extracted)
  • the file dev/flat_internal.Rmd defining package internal functions

The funStatTest website was generated using the pkgdown package [3].

Example

This is a basic example which shows you how to solve a common problem:

library(funStatTest)

Data simulation

We simulate two samples of trajectories diverging by a delta function.

simu_data <- simul_data(
    n_point = 100, n_obs1 = 50, n_obs2 = 75, c_val = 10, 
    delta_shape = "quadratic", distrib = "normal"
)

plot_simu(simu_data)

We extract the matrices of trajectories associated to each sample:

MatX <- simu_data$mat_sample1
MatY <- simu_data$mat_sample2

And we compute the different statistics for two sample function data comparison presented in Smida et al 2022 [1]:

res <- comp_stat(MatX, MatY, stat = c("mo", "med", "wmw", "hkr", "cff"))
res
#> $mo
#> [1] 0.9486241
#> 
#> $med
#> [1] 0.9517283
#> 
#> $wmw
#> [1] 0.9074959
#> 
#> $hkr
#>         [,1]
#> T1 31987.663
#> T2  8489.875
#> 
#> $cff
#> [1] 14150.96

We can also compute p-values associated to these statistics:

# small data for the example
simu_data <- simul_data(
    n_point = 20, n_obs1 = 4, n_obs2 = 5, c_val = 10, 
    delta_shape = "constant", distrib = "normal"
)

MatX <- simu_data$mat_sample1
MatY <- simu_data$mat_sample2

res <- permut_pval(
    MatX, MatY, n_perm = 200, stat = c("mo", "med", "wmw", "hkr", "cff"), 
    verbose = TRUE)
res
#> $mo
#> [1] 0.01492537
#> 
#> $med
#> [1] 0.0199005
#> 
#> $wmw
#> [1] 0.01492537
#> 
#> $hkr
#>          T1          T2 
#> 0.014925373 0.009950249 
#> 
#> $cff
#> [1] 0.009950249

:warning: computing p-values based on permutations may take some time (for large data or when using a large number of simulations. :warning:

And we can also run a simulation-based power analysis:

# simulate a few small data for the example
res <- power_exp(
    n_simu = 20, alpha = 0.05, n_perm = 200, 
    stat = c("mo", "med", "wmw", "hkr", "cff"), 
    n_point = 25, n_obs1 = 4, n_obs2 = 5, c_val = 10, delta_shape = "constant", 
    distrib = "normal", max_iter = 10000, verbose = FALSE
)
res$power_res
#> $mo
#> [1] 1
#> 
#> $med
#> [1] 1
#> 
#> $wmw
#> [1] 1
#> 
#> $hkr
#> T1 T2 
#>  1  1 
#> 
#> $cff
#> [1] 1

References

1. Smida, Z, Cucala, L, Gannoun, A, and Durif, G 2022 A median test for functional data. Journal of Nonparametric Statistics, 34(2): 520–553. DOI: https://doi.org/[10.1080/10485252.2022.2064997](https://doi.org/10.1080/10485252.2022.2064997)

2. Rochette, S 2022 Fusen: Build a package from rmarkdown files. URL https://CRAN.R-project.org/package=fusen

3. Wickham, H, Hesselberth, J, and Salmon, M 2022 Pkgdown: Make static HTML documentation for a package. URL https://CRAN.R-project.org/package=pkgdown

Copy Link

Version

Install

install.packages('funStatTest')

Monthly Downloads

182

Version

1.0.3

License

AGPL (>= 3)

Maintainer

Ghislain Durif

Last Published

May 23rd, 2024

Functions in funStatTest (1.0.3)

stat_cff

Cuevas-Febrero-Fraiman statistic
permut_pval

Permutation-based computation of p-values
plot_simu

Graphical representation of simulated data
comp_stat

Compute multiple statistics
stat_hkr

Horváth-Kokoszka-Reeder statistics
simul_traj

Single trajectory simulation
simul_data

Simulation of trajectories from two samples diverging by a delta function
power_exp

Simulation-based experiment for power analysis
funStatTest_authors

List funStatTest package contributors
%>%

Pipe operator
stat_mo

MO median statistic
stat_wmw

Wilcoxon-Mann-Whitney (WMW) statistic
stat_med

MED median statistic