群馬大学 | 医学部 | サイトトップ | 医学情報処理演習
第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,,main="Ozone's normal Q-Q plot") # オゾン濃度の正規確率プロットを月別に描画
tapply(Wind,Month,,main="Wind's normal Q-Q plot") # 風速の正規確率プロットを月別に描画
tapply(Ozone,Month,) # オゾン濃度の分布の正規性を月別にShapiro-Wilkの検定
tapply(Wind,Month,) # 風速の分布の正規性を月別にShapiro-Wilkの検定
detach(airquality) # airqualityのattach状態を終了する。
結果として,グラフ描画と同時にプロットに使われた数値も表示されるが,最後にShapiro-Wilkの検定の結果が表示されるので,それを示す。
> 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月である。まずオゾン濃度についてみると,のグラフは,1日だけ極端にオゾン濃度の値が高い日があり,6月は欠損が多すぎるので何ともいえない。7月,8月はほぼ直線に乗っているように見えるが,9月は,直線性が低いようにみえる。風速については,5月,6月,8月,9月のグラフはほぼ直線に乗っているようにみえるが,7月は,オゾン濃度の9月と似ていて,,直線性が低いようにみえる。
Shapiro-Wilkの検定結果をみると,オゾン濃度の結果では,5月と9月のp-valueは8.294e-06と4.325e-05であり,どちらも有意水準である5%(つまり0.05)より小さいので,「データの分布は正規分布に従う」という帰無仮説が(棄却される|棄却されない)。つまり,5月と9月のオゾン濃度の分布は正規分布と統計学的に有意な差があるとはいえる。しかし,その他の月のp-valueは,すべて0.05より大きいので,帰無仮説が(棄却される|棄却されない)。風速については,すべての月の検定結果において,p-valueが0.05より大きかったので,帰無仮説が(棄却される|棄却されない)。つまり,5月と9月以外の月のオゾン濃度の分布とすべての月の風速の分布は,有意水準5%で正規分布と統計学的に有意な差があるとはいえないので,とりあえず正規分布に従っていると考えて差し支えない。
(注)なお,帰無仮説にデータが一致しすぎている場合もあって,そういう場合は捏造あるいは都合のいいデータだけを使った可能性を疑うべきである。有名な例はメンデルのエンドウマメであり,偶然のばらつきもあるはずなのに,それが極端に少なく,データが分離の法則に一致しすぎていたとフィッシャーが指摘している。他の例としては,第二水俣病発覚当時,昭和電工が出してきた上流域住民の毛髪中水銀濃度の分布が,対照地域の住民の毛髪中水銀濃度の分布と一致しすぎていたことが挙げられる。水銀汚染がないといいたいがために,差がなさ過ぎるデータを作ってしまったのであろうと言われている(出典:田栗正章・藤越康祝・柳井晴夫・C.R.ラオ『やさしい統計入門』講談社ブルーバックス)。
項目 | 入力欄 |
---|---|
qqnorm | |
sharpiro.test | |
5月 | |
4点(4日間)だけ高く外れた日があり, | |
棄却される | |
棄却されない |
有意確率<有意水準 | 有意確率≧有意水準 |
---|---|
帰無仮説が棄却される | 帰無仮説は棄却されない |
データの分布と正規分布には統計学的な有意差がある | データの分布と正規分布には統計学的に有意な差はない |
データは正規分布に従わない (データの分布は正規分布と異なるという意思決定ができる) | データが正規分布に従っていることは否定されない (データの分布が正規分布と異なるとは言えない) |