研究メモブログの目次

【統計】R@Google ColaboratoryでShapiro-Wilk test(正規性の検定)をやってみた

こんにちは~、ガイです。

正規性の検定を今までやったことがなかったんですが、統計の勉強をしていたら怖くなってきたのでやり方を勉強しました。この検定はパラメトリック検定をやるかノンパラメトリック検定をやるかを決めるときに使います。

正規性の検定はいくつかあるのですが、今回は一番の有名どころであるShapiro-Wilk test をやってみました。

 

Google colaboratory でR を使うための準備をする

参考:2 Google ColaboratoryでR言語を使う | Rによる統計入門 (htsuda.net)

汎用性が高いほうがいいかなと思って今回はGoogle Colaboratoryでやってみました。Colab だとみんな同じ環境でできるのでいいですよね。もうR環境があるひとは読み飛ばしてください。

①.ipynb ファイルのダウンロード

②kernelspec の書き換え

書き換える内容

"kernelspec": {

  "name": "ir",

  "display_name": "R"

}

➂保存して再びアップロード

④書き換えて再アップロードしたノートブックを開く

上手くいっていれば

>R.version.string

と入力するとRのバージョンが表示されます。

例 'R version 4.2.0 (2022-04-22)'

これでRが使える環境ができます。

 

インプットファイルの作成

Ecxel で属性ごとに列で並べ、「CSV UTF-8(コンマ区切り)」でcsv ファイルとして保存します。

フォルダアイコンをクリックし、作った.csv ファイルをsample_data と同じ階層にアップロードします(参考:2 Google ColaboratoryでR言語を使う | Rによる統計入門 (htsuda.net) )。

 

実行

hoge = read.csv( file = "hoge.csv", header = T )
shapiro.test(hoge[1:296,2])
# shapiro.test(hoge[はじまり行:おわり行,検定したい列])
# 行の数の指定はCSVの表記より1を差し引いて実施
# CSVで2行目~297行目→Rでは1行目~296行目と指定

上手くいくと以下のように結果が表示されます。

Shapiro-Wilk normality test data: hoge[1:296, 1] W = 0.99454, p-value = 0.4487

この検定における帰無仮説は「標本データが正規分布に従う母集団からサンプリングされた」なので、Shapiro-Wilkの検定の結果はp-value を見るとわかります。 

Shapiro-Wilk test

データが正規分布しているかどうかを検定する手法です.検定の結果,p<0.05で有意となったときは“正規分布しない”と判断し,p≧0.05となったときは“正規分布していない,とはいえない(=正規分布している)”とみなします.

Shapiro-Wilkの検定 Shapiro-Wilk test - 一般社団法人 日本理学療法学会連合 (jspt.or.jp)

今回はp≧0.05 なので、正規分布していると見なすことができます。

 

おしまい。