正規性の検定[R]

正規性の検定には一般的にシャピロ・ウィルク検定 Shapiro–Wilk testとコルモゴロフ-スミルノフ検定 Kolmogorov–Smirnov testの2つが用いられる。シャピロ・ウィルク検定 は小さな標本(n が50以下)の場合に好ましいと言われ、コルモゴロフ-スミルノフ検定はより大きな標本が推奨されている。ただし、一般的に用いられる「50」という数字が確かか否かという点には議論がある。

正規性の検定についての基本的な解説はこちらの論文を参照。

  • Ghasemi, A., & Zahediasl, S. (2012). Normality Tests for Statistical Analysis: A Guide for Non-Statisticians. International Journal of Endocrinology and Metabolism, 10(2), 486–489. https://doi.org/10.5812/ijem.3505 https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3693611/

50という数字を挙げている文献は下記である。

  • Elliott, A. C., & Woodward, W. A. (2007). Statistical analysis quick reference guidebook: With SPSS examples. Sage Publications.

シャピロ・ウィルク検定 Shapiro–Wilk test

Rに同梱されているirisデータを使用する。

  • iris…あやめ
  • Sepal…がく
  • Width…幅
  • Petal…花弁
data(iris)
head(iris$Sepal.Length)

がくの長さのデータ

5.1 4.9 4.7 4.6 5.0 5.4

帰無仮説 (H0) は標本分布が正規分布に従うことである。

shapiro.test(iris$Sepal.Width)

結果。

Shapiro-Wilk normality test

data:  iris$Sepal.Width
W = 0.98492, p-value = 0.1012

帰無仮説は棄却さなかった。従って、正規分布に従わないとはいえず、正規分布を仮定して良いことがよかった。

コルモゴロフ-スミルノフ検定 Kolmogorov–Smirnov test

こちらも帰無仮説 (H0)は標本分布が正規分布に従うことである。
pnormを指定すると1標本における正規性の検定となる。

d1 <- iris$Sepal.Width
ks.test(x=d1,y="pnorm",mean=mean(d1),sd=sd(d1))

結果。

One-sample Kolmogorov-Smirnov test

data:  d1
D = 0.10566, p-value = 0.07023
alternative hypothesis: two-sided

帰無仮説は棄却さなかった。従って、正規分布に従わないとはいえず、正規分布を仮定して良いことがよかった。

カイパー検定 Kuiper test

1年のうちの1日や、あるいは1週間のうちの1日といったように、独立変数が周期性を持つ場合、カイパー検定の方がより適切である。 コルモゴロフ–スミルノフ検定 – Wikipedia

データはcircular型のものを用いる。circular型についてはこちらを参照のこと。

circularパッケージを用いる。

library(circular)

## サンプルデータ
data01 <- circular(runif(100, 0, 2*pi))
head(data01)

サンプルデータは以下のようなものである。

Circular Data: 
Type = angles 
Units = radians 
Template = none 
Modulo = asis 
Zero = 0 
Rotation = counter 
[1] 3.8045895 0.2863594 2.5420636 0.8680562 1.0686257 2.9055623

カイパー検定は下記のように書く。

kuiper.test(data01)

結果。

       Kuiper's Test of Uniformity 
 
Test Statistic:  1.3478 
P-value > 0.15