群馬大学 | 医学部 | サイトトップ | 医学情報処理演習

医学情報処理演習:2011年度第5回課題

第5回に出てきた関数と文の主なものはこちら2011年11月9日追記:qqnorm()の説明を追加した)を参照されたい。

今回の課題は出題に不備があり,オゾン濃度と風速が混乱していたので,Box AとBox Bのみ解答していただきました。申し訳ありませんでした。以下の課題は不備だった点を修正済みです。

課題

Rに元々含まれている1973年のニューヨーク市の大気環境データairqualityに含まれている変数のうち,ルーズヴェルト島の昼過ぎ2時間の平均オゾン濃度を意味するOzoneとLaGuardia空港の7:00〜10:00の平均風速(マイル/時)を意味するWindの値が正規分布しているかどうか月別に調べ,有意水準を5%として検定するためのコードと出力結果とその解釈を下に示す。学籍番号・氏名とともに,下のフォームと解釈文を穴埋めして送信せよ。

(Please fill the boxes. Here we set the significance level of the all statistical tests as 0.05.)


まず,下記のコードを実行する。

attach(airquality) # 組み込みデータフレームairqualityを利用中にする。
windows(width=640,height=768) # 横640ピクセル,縦768ピクセルのグラフィック画面を開く
nM <- length(table(Month)) # airqualityデータフレームに含まれる「月」の数をnMに付値
layout(matrix(1:(2*nM),nc=2)) # 画面を上下にnM分割,左右2分割し,左上から左下,右上から右下の順で描画
tapply(Ozone,Month,Box A,main="Ozone's normal Q-Q plot") # オゾン濃度の正規確率プロットを月別に描画
tapply(Wind,Month,Box A,main="Wind's normal Q-Q plot") # 風速の正規確率プロットを月別に描画
tapply(Ozone,Month,Box B) # オゾン濃度の分布の正規性を月別にShapiro-Wilkの検定
tapply(Wind,Month,Box B) # 風速の分布の正規性を月別にShapiro-Wilkの検定
detach(airquality) # airqualityのattach状態を終了する。

結果として,グラフ描画と同時にプロットに使われた数値も表示されるが,最後にShapiro-Wilkの検定の結果が表示されるので,それを示す。

airquality$Ozoneとairquality$Windの月別正規確率プロット
> tapply(Ozone,Month,shapiro.test)
$`5`

	Shapiro-Wilk normality test

data:  X[[1L]] 
W = 0.714, p-value = 8.294e-06


$`6`

	Shapiro-Wilk normality test

data:  X[[2L]] 
W = 0.8433, p-value = 0.0628


$`7`

	Shapiro-Wilk normality test

data:  X[[3L]] 
W = 0.9797, p-value = 0.8669


$`8`

	Shapiro-Wilk normality test

data:  X[[4L]] 
W = 0.9328, p-value = 0.09032


$`9`

	Shapiro-Wilk normality test

data:  X[[5L]] 
W = 0.7837, p-value = 4.325e-05


> tapply(Wind,Month,shapiro.test)
$`5`

	Shapiro-Wilk normality test

data:  X[[1L]] 
W = 0.968, p-value = 0.4659


$`6`

	Shapiro-Wilk normality test

data:  X[[2L]] 
W = 0.9686, p-value = 0.501


$`7`

	Shapiro-Wilk normality test

data:  X[[3L]] 
W = 0.95, p-value = 0.1564


$`8`

	Shapiro-Wilk normality test

data:  X[[4L]] 
W = 0.9853, p-value = 0.937


$`9`

	Shapiro-Wilk normality test

data:  X[[5L]] 
W = 0.9785, p-value = 0.7852

正規確率プロットは,左列のオゾン濃度も,右列の風速も,一番上が5月で一番下が9月である。まずオゾン濃度についてみると,Box Cのグラフは,1日だけ極端にオゾン濃度の値が高い日があり,6月は欠損が多すぎるので何ともいえない。7月,8月はほぼ直線に乗っているように見えるが,9月はBox D,直線性が低いようにみえる。風速については,5月,6月,8月,9月のグラフはほぼ直線に乗っているようにみえるが,7月は,オゾン濃度の9月と似ていて,Box D,直線性が低いようにみえる。

Shapiro-Wilkの検定結果をみると,オゾン濃度の結果では,5月と9月のp-valueは8.294e-06と4.325e-05であり,どちらも有意水準である5%(つまり0.05)より小さいので,「データの分布は正規分布に従う」という帰無仮説がBox E(棄却される|棄却されない)。つまり,5月と9月のオゾン濃度の分布は正規分布と統計学的に有意な差があるとはいえる。しかし,その他の月のp-valueは,すべて0.05より大きいので,帰無仮説がBox F(棄却される|棄却されない)。風速については,すべての月の検定結果において,p-valueが0.05より大きかったので,帰無仮説がBox F(棄却される|棄却されない)。つまり,5月と9月以外の月のオゾン濃度の分布とすべての月の風速の分布は,有意水準5%で正規分布と統計学的に有意な差があるとはいえないので,とりあえず正規分布に従っていると考えて差し支えない。

(注)なお,帰無仮説にデータが一致しすぎている場合もあって,そういう場合は捏造あるいは都合のいいデータだけを使った可能性を疑うべきである。有名な例はメンデルのエンドウマメであり,偶然のばらつきもあるはずなのに,それが極端に少なく,データが分離の法則に一致しすぎていたとフィッシャーが指摘している。他の例としては,第二水俣病発覚当時,昭和電工が出してきた上流域住民の毛髪中水銀濃度の分布が,対照地域の住民の毛髪中水銀濃度の分布と一致しすぎていたことが挙げられる。水銀汚染がないといいたいがために,差がなさ過ぎるデータを作ってしまったのであろうと言われている(出典:田栗正章・藤越康祝・柳井晴夫・C.R.ラオ『やさしい統計入門』講談社ブルーバックス)。

解答フォーム

項目入力欄
学籍番号(数字のみ,半角で)(Reg.No.)
氏名(Name)
Box A
Box B
Box C
Box D
Box E
Box F
感想・要望・質問など(Comments)


リンクと引用について