tjmath
看起来你对chi square的自由度的理解有一定的误区:
按你的描述,chi square检验可以检验你的数据是否服从poisson分布。
但是自由度df是指chi square 里的类别数目 而跟理论分布的参数无关(这里是lambda)
举个例子:
set.seed(124)
data1 <- rpois(100,lambda = 5)
data1
原始数据:
[1] 2 4 5 4 3 4 5 5 8 4 7 7 6 7 4 2 5 6 8 1 6 5 2 4 4
[26] 3 7 4 7 4 7 4 4 7 2 10 3 9 3 4 3 7 6 3 4 4 9 3 5 3
[51] 4 7 5 3 3 4 3 6 3 5 5 5 2 4 5 0 5 5 4 3 6 8 7 8 5
[76] 4 3 9 4 3 4 3 9 7 5 8 6 3 5 3 5 3 3 4 4 4 5 5 7 6
这样,你可以把原始数据分为1~10,类:
table(data1)
0 1 2 3 4 5 6 7 8 9 10
1 1 5 20 24 19 8 12 5 4 1
或者分为 以下3类
data1.cut <- cut(data1,breaks=c(-1,3, 6,100))
table(data1.cut)
data1.cut
(-1,3] (3,6] (6,100]
27 51 22
这样,你可以分别根据poisson分布计算每一个分类对应的概率分布,然后再做chisquare检验。在分10类的时候,自由度是9,分三类的时候,自由度是2,跟原始数据的lambda是否已知没有关系。