2021-04-22

正規性の検定 (R)

データの集合が正規分布とみなせるかの検定を Python/SciPy で計算してみましたが、Shapiro-Wilk と Anderson-Darling で出力の形式が異なっていたことが気になったので [1] 、同じことを R でもやってみました。

normality_test.R

以下に実行例を示しました。

> library(nortest)
> 
> # sample dataset
> data <- rnorm(150, mean = 20, sd = 5)
> print(data)
  [1] 12.056125 12.501325 17.523703 15.480088 17.297640 20.316994 21.197035 20.667794 17.005183
 [10] 28.084337 21.317987 20.472167 17.468762 16.851357 27.206106 11.313712 18.710486 17.259417
...
...
[145] 16.199152 22.915103 20.473811 27.863051 23.514593 24.095631
> 
> # Shapiro-Wilk test
> result <- shapiro.test(data)
> print(result)

	Shapiro-Wilk normality test

data:  data
W = 0.99663, p-value = 0.9831

> 
> # Anderson-Darling test
> result <- ad.test(data)
> print(result)

	Anderson-Darling normality test

data:  data
A = 0.23304, p-value = 0.7945

R の nortest パッケージを使って、Anderson-Darling 検定をおこなうと、出力は Shapiro-Wilk 検定と同じく p-value で出力されます。このように、どちらも p-value で検定結果を得られる方が、運用上は都合が良いので、SciPy でも p-value で検定結果を得られるように変更します(次回)。

参考サイト

  1. bitWalk's: 正規性の検定 (SciPy) [2021-04-21]
  2. CRAN - Package nortest

 

ブログランキング・にほんブログ村へ bitWalk's - にほんブログ村 にほんブログ村 IT技術ブログ Linuxへ
にほんブログ村

0 件のコメント: