Introduction to SSTN

library(sstn)

Introduction

The SSTN package provides the Self-Similarity Test for Normality (SSTN), a statistical test designed to assess whether a given numeric sample originates from a normal distribution.

The SSTN relies on iteratively estimating the characteristic function of the sum of i.i.d. random variables based on the standardized data and comparing it to the characteristic function of the standard normal distribution.

A Monte Carlo procedure is used to generate the distribution of the test statistic under the null hypothesis, which allows computation of a \(p\)-value.

Main function of the package

Below, we provide a brief example of how to use the sstn() function.

set.seed(123)

# Sample from standard normal (null hypothesis true)
x <- rnorm(100)
res <- sstn(x)
#> SSTN
#> --------------------------------------------------
#> Number of summands: M = 1
#> Test statistic: 0.00227
#> p-value: 0.70800
res$p_value
#> [1] 0.708

# Sample from Gamma distribution (null hypothesis false)
y <- rgamma(100, 1)
res2 <- sstn(y)
#> SSTN
#> --------------------------------------------------
#> Number of summands: M = 13
#> Test statistic: 0.41964
#> p-value: 0.00000
res2$p_value
#> [1] 0

References

For more detailed information on the methods used in this package, please refer to the following publication:

Anarat A. and Schwender, H. (2025). A normality test based on self-similarity. Submitted.