Package 'sstn'

Title: Self-Similarity Test for Normality
Description: Implements the Self-Similarity Test for Normality (SSTN), a new statistical test designed to assess whether a given sample originates from a normal distribution. The method exploits the self-similarity property of the normal characteristic function by iteratively transforming and comparing standardized empirical characteristic functions. The null distribution of the test statistic is obtained via Monte Carlo simulation. Details of the methodology are described in Anarat and Schwender (2026), "A test for normality based on self-similarity", <doi:10.48550/arXiv.2604.03810>.
Authors: Akin Anarat [aut, cre]
Maintainer: Akin Anarat <[email protected]>
License: GPL-3
Version: 1.0.1
Built: 2026-05-11 09:44:15 UTC
Source: https://github.com/cran/sstn

Help Index


Self-Similarity Test for Normality (SSTN)

Description

The SSTN is a statistical test for assessing whether a given sample originates from a normal distribution. It is based on the iterative application of the empirical characteristic function and comparing these estimated characteristic functions. A Monte Carlo procedure is used to obtain the empirical distribution of the test statistic under the null hypothesis.

Usage

sstn(x, verbose = FALSE)

Arguments

x

Numeric vector of observations (x1,,xn)(x_1, \dots, x_n) drawn from a distribution with finite variance. Must have length n2n \ge 2.

verbose

Logical. If TRUE (default), prints a summary of the test results including the number of summands, test statistic, and pp-value.

Value

An invisible list with the following components:

test.statistic

Numeric. The observed value of the SSTN test statistic.

method

Character string indicating whether the asymptotic or the finite-sample null distribution was used.

p.value

Numeric. The pp-value of the test.

Author(s)

Akin Anarat [email protected]

References

Anarat, A. and Schwender, H. (2026). A test for normality based on self-similarity. arXiv preprint https://doi.org/10.48550/arXiv.2604.03810.

Examples

set.seed(123)
# Sample from standard normal (null hypothesis true)
x <- rnorm(100)
res <- sstn(x)
res$p.value

# Sample from Gamma distribution (null hypothesis false)
y <- rgamma(100, 1)
res2 <- sstn(y)
res2$p.value