【R】ある事象のカイ二乗検定

ある事象がポアソン分布に従っているかどうかをカイ二乗検定にて確認します。統計検定2級2014年11月の問6の問題を解いてみます。

ある地域における1日の死亡者数の集計結果(500日間)の表があります。これがポアソン分布に従っているか調べます。

死亡者数(人)0123456人以上
件数(日数)551441409545159500

dat<-data.frame("Died"=c(0, 1, 2, 3, 4, 5, 6), "Days"=c(55, 144, 140, 95, 45, 15, 6))
x<-dat$Died
mu<-dat$Died %*% dat$Days / 500

dat$E_Days<-sapply(x, function(x) {(ppois(x, mu)-ppois(x-1, mu))})
dat$E_Days[7]<-(1-ppois(5, mu))
dat

layout(matrix(1:2, 1, 2))
barplot(dat$Days, main="Days", names.arg = dat$Died)
barplot(dat$E_Days, main="E_Days",names.arg = dat$Died)

chisq.test(dat$Days,p=dat$E_Days) 

死亡者数の平均値muを計算すると2.0でした(死亡者数が7人以上の日は、なかったとして)。

1日の死亡者数がポアソン分布に従っているか検定します。ポアソン分布は、以下であらわされます。
\(f(x)=\frac{e^{-\lambda} \lambda^x}{x!}\)
検定をするために、各死亡者数に対する期待度数を計算します。上式に、\(\lambda=2.0\)を入れて、各死亡者数xに対する期待度数を計算します。その結果が、下の表です。また、実測の度数と期待度数のヒストグラムは次の通りです。

死亡者数(人)0123456人以上
件数(日数)67.7135.3135.390.245.118.08.3500

なんとなく似ていますね。実際の検定は、\(chisq.test()\)で行います。適合度の検定(goodness of fit test)になります。結果は次の通りです。
R:

> chisq.test(dat$Days,dat$E_Days) 

Chi-squared test for given probabilities 
data: dat$Days 
X-squared = 4.4825, df = 6, p-value = 0.6117

帰無仮説を棄却できなかったため、この死亡者数はポアソン分布に従うといえます。


Add a Comment

メールアドレスが公開されることはありません。