我知道正态性检验,但如何检验“泊松”?
我有大约 1000 个非负整数的样本,我怀疑这些样本取自泊松分布,我想对此进行测试。
我知道正态性检验,但如何检验“泊松”?
我有大约 1000 个非负整数的样本,我怀疑这些样本取自泊松分布,我想对此进行测试。
首先,我的建议是您必须避免像对数据一样尝试泊松分布。我建议您必须首先提出一个理论,说明泊松分布为什么要适合特定的数据集或现象。
一旦确定了这一点,下一个问题就是分布是否均匀。这意味着数据的所有部分是否由相同的泊松分布处理,或者是否存在基于时间或空间等某些方面的变化。一旦您确信了这些方面,请尝试以下三个测试:
搜索这些,你会很容易在网上找到它们。
这是一系列可能有用的 R 命令。如果您发现任何错误,请随时发表评论或编辑。
set.seed(1)
x.poi<-rpois(n=200,lambda=2.5) # a vector of random variables from the Poisson distr.
hist(x.poi,main="Poisson distribution")
lambda.est <- mean(x.poi) ## estimate of parameter lambda
(tab.os<-table(x.poi)) ## table with empirical frequencies
freq.os<-vector()
for(i in 1: length(tab.os)) freq.os[i]<-tab.os[[i]] ## vector of emprical frequencies
freq.ex<-(dpois(0:max(x.poi),lambda=lambda.est)*200) ## vector of fitted (expected) frequencies
acc <- mean(abs(freq.os-trunc(freq.ex))) ## absolute goodness of fit index acc
acc/mean(freq.os)*100 ## relative (percent) goodness of fit index
h <- hist(x.poi ,breaks=length(tab.os))
xhist <- c(min(h$breaks),h$breaks)
yhist <- c(0,h$density,0)
xfit <- min(x.poi):max(x.poi)
yfit <- dpois(xfit,lambda=lambda.est)
plot(xhist,yhist,type="s",ylim=c(0,max(yhist,yfit)), main="Poison density and histogram")
lines(xfit,yfit, col="red")
#Perform the chi-square goodness of fit test
#In case of count data we can use goodfit() included in vcd package
library(vcd) ## loading vcd package
gf <- goodfit(x.poi,type= "poisson",method= "MinChisq")
summary(gf)
plot(gf,main="Count data vs Poisson distribution")
对于泊松分布,均值等于方差。如果您的样本均值与样本方差非常不同,则您可能没有泊松数据。这里还提到的分散测试是该概念的形式化。
如果您的方差远大于您的均值(通常是这种情况),您接下来可能需要尝试负二项分布。