İstatistik, ekonometri ve uygulamalı matematikteki bir çok teoride, kullanılan dataların normal olduğu varsayımı bulunmaktadır. Bu nedenle analizi yapılacak dataların normal dağılım sergileyip sergilemediklerinin tespiti önemlidir. Dataların olasılık dağılımlarının normal dağılım olmadığının tespiti için genellikle Jarque-Bera, Anderson-Darling, Kolmogorov-Smirnov, Shapiro-Wilk, Pearson chi-square, ve Cramer-von Mises istatistiksel testleri kullanılmaktadır.
Analizleri yapabilmek için hem normal dağılma hem de uniform dağılıma göre iki sentetik data oluşturalım.
set.seed(2018)
x <- rnorm(1000, mean=2.5, sd=1)
y <- runif(1000, min=0, max=10)
par(mfrow=c(1,2))
hist(x)
hist(y)
Bu normallik testlerinin tamamı fBasics kütüphanesi içerisindedir. İlk olarak fBasics paketinin kurulumunu yapalım.
install.packages("fBasics")
Kütüphaneyi aktif hale getirelim.
library(fBasics)
Jarque-Bera
H0: data normal dağılım gösterir.
H1: data normal dağılım göstermez.
jarqueberaTest(x)
##
## Title:
## Jarque - Bera Normalality Test
##
## Test Results:
## STATISTIC:
## X-squared: 0.494
## P VALUE:
## Asymptotic p Value: 0.7811
İlk örneğimiz olan x datasında Jarque-Bera testinin olasılık değeri (p-value) 0.7811’dir. 95% güven seviyesinde boş hipotez ret edilemez. x datası normal dağılım göstermektedir.
jarqueberaTest(y)
##
## Title:
## Jarque - Bera Normalality Test
##
## Test Results:
## STATISTIC:
## X-squared: 53.84
## P VALUE:
## Asymptotic p Value: 2.036e-12
Öte yandan uniform dağılıma göre oluşturduğumuz y datası için Jarque-Bera test istatistiğinin olasılık değeri neredeyse 0’dır. Böylelikle 95% güven seviyesinde boş hipotez ret edilir. Data normal dağılım göstermez.
Anderson-Darling
Anderson-Darling testide Jarque-Bera ile aynı hipotezlere sahiptir.
H0: data normal dağılım gösterir.
H1: data normal dağılım göstermez.
fitX <- adTest(x)
fitX
##
## Title:
## Anderson - Darling Normality Test
##
## Test Results:
## STATISTIC:
## A: 0.2563
## P VALUE:
## 0.7232
fitY <- adTest(y)
fitY
##
## Title:
## Anderson - Darling Normality Test
##
## Test Results:
## STATISTIC:
## A: 9.1374
## P VALUE:
## < 2.2e-16
Kolmogorov-Smirnov
ksnormTest(x)
##
## Title:
## One-sample Kolmogorov-Smirnov test
##
## Test Results:
## STATISTIC:
## D: 0.7855
## P VALUE:
## Alternative Two-Sided: < 2.2e-16
## Alternative Less: < 2.2e-16
## Alternative Greater: 1
ksnormTest(y)
##
## Title:
## One-sample Kolmogorov-Smirnov test
##
## Test Results:
## STATISTIC:
## D: 0.7932
## P VALUE:
## Alternative Two-Sided: < 2.2e-16
## Alternative Less: < 2.2e-16
## Alternative Greater: 1
Shapiro-Wilk
shapiroTest(x)
##
## Title:
## Shapiro - Wilk Normality Test
##
## Test Results:
## STATISTIC:
## W: 0.9985
## P VALUE:
## 0.5609
shapiroTest(y)
##
## Title:
## Shapiro - Wilk Normality Test
##
## Test Results:
## STATISTIC:
## W: 0.9589
## P VALUE:
## 3.878e-16
Pearson chi-square
pchiTest(x)
##
## Title:
## Pearson Chi-Square Normality Test
##
## Test Results:
## PARAMETER:
## Number of Classes: 32
## STATISTIC:
## P: 14.976
## P VALUE:
## Adhusted: 0.9852
## Not adjusted: 0.9932
pchiTest(y)
##
## Title:
## Pearson Chi-Square Normality Test
##
## Test Results:
## PARAMETER:
## Number of Classes: 32
## STATISTIC:
## P: 254.272
## P VALUE:
## Adhusted: < 2.2e-16
## Not adjusted: < 2.2e-16
Cramer-von Mises
cvmTest(x)
##
## Title:
## Cramer - von Mises Normality Test
##
## Test Results:
## STATISTIC:
## W: 0.0394
## P VALUE:
## 0.6931
cvmTest(y)
##
## Title:
## Cramer - von Mises Normality Test
##
## Test Results:
## STATISTIC:
## W: 1.1382
## P VALUE:
## 5.95e-10