PSGoft: Modified Lilliefors Goodness-of-Fit Normality Test

author: Piotr Sulewski, Pomeranian University

The goal of the PSGoft package is to put into practice the (a,b) modified Lilliefors goodness-of-fit normality test. This modification consists in varying a formula of calculating the empirical distribution function. Values of constants a, b in the formula depend on values of sample skewness and excess kurtosis, which is recommended in order to increase the power of the LF test. To read more about the package please see (and cite :)) papers:

Sulewski P. (2019) Modified Lilliefors Goodness-of-fit Test for Normality, Communications in Statistics - Simulation and Computation, 51(3), 1199-1219

Installation

You can install the released version of PSGoft from CRAN with:

install.packages("PSGoft")

You can install the development version of PSGoft from GitHub with:

library("remotes")
remotes::install_github("PiotrSule/PSGoft")

This package includes two real data sets

The first one, data1, consist of 72 observations for Dozer Cycle Times.

The second one, data2, is the height of 99 five-year-old British boys in cm

library(PSGoft)
length(data1)
#> [1] 72
head(data2)
#> [1] 96.1 97.1 97.1 97.2 99.2 99.4

Functions

MLF.stat

This function returns the value of the Modified Lilliefors goodness-of-fit statistic

MLF.stat(data1)
#> [1] 0.05488005
MLF.stat(rnorm(33, mean = 0, sd = 2))
#> [1] 0.09910243

MLF.pvalue

This function returns the p-value for the test

MLF.pvalue(data1)
#> [1] 0.81592
MLF.pvalue(rnorm(33, mean = 0, sd = 2))
#> [1] 0.66459

MLF.stat

This function returns the value of the Modified Lilliefors statistic and the p-value for the test.

MLF.test(data1)
#> 
#>  Modified Lilliefors goodness-of-fit normality test
#> 
#> data:  data1
#> D = 0.05488, p-value = 0.816
MLF.test(rnorm(33, mean = 0, sd = 2))
#> 
#>  Modified Lilliefors goodness-of-fit normality test
#> 
#> data:  rnorm(33, mean = 0, sd = 2)
#> D = 0.083871, p-value = 0.748