r语言 - Kolmogorov-Smirnov Tests, D^- = 1



我需要一些帮助来解释我的ks。测试输出。我有28个参与者每人掷三个骰子。向量g表示每人掷出的骰子总数。

g <-c(16, 16, 18, 12, 12, 18, 18, 14,  9, 12, 15, 14, 13, 14, 10,  9, 12, 12, 11, 17, 17, 12,  8, 17, 13, 18, 15,  6)

我想比较g和实际的分布函数。我使用以下代码生成"true"分布函数:

library("gtools")
library("dice")
v<-seq(1:15) 
for (i in 3:18) {
  p<-getEventProb(nrolls = 1, ndicePerRoll = 3, nsidesPerDie = 6, eventList= i, orderMatters = FALSE)  
  v[i]<-p
}
v<-v[-c(1,2)]

以下ks。测试得出的D值为1,不可能是正确的。

ks.test(g, cumsum(v), alternative = "less")
你能告诉我哪里出错了吗?非常感谢你的回答!

问题是你正在比较两个非常不同的东西:掷出总数的分布(范围从3-18)和概率分布(范围从0-1):

> g
 [1] 16 16 18 12 12 18 18 14  9 12 15 14 13 14 10  9 12 12 11 17 17 12  8 17 13 18 15  6
> v
 [1] 0.00462963 0.01388889 0.02777778 0.04629630 0.06944444 0.09722222 0.11574074 0.12500000 0.12500000 0.11574074
[11] 0.09722222 0.06944444 0.04629630 0.02777778 0.01388889 0.00462963

对于KS来说,这显然是两种完全不同的东西。可能最简单的事情是确定经验分布(参与者总数)中3:18的每个总数的频率,并将其与预期的可能分布进行比较。

相关内容

  • 没有找到相关文章

最新更新