参考页面上的说明是
在零假设下,当同时考虑数据的随机性和模拟的随机性时,概率恰好是。Pr(P≤k/nsim)k/nsim
要理解这一点,我们必须查看代码,其中的关键行(缩写为缩写)是
fred <- function(x) {ks.test(...)$statistic} # Apply a statistical test to an array
d.hat <- fred(x) # Apply the test to the data
d.star <- apply(matrix(rnorm(n*nsim), n, nsim),
2, fred) # Apply the test to nsim simulated datasets
pval <- (sum(d.star > d.hat) + 1) / (nsim + 1)# Estimate a simulation p-value
一个突出的问题是代码与引号不匹配。 我们如何调和他们?尝试从报价的最后一半开始。我们可能将过程解释为包括以下步骤:
根据某些概率定律收集独立且均匀分布的数据。应用测试过程(在代码中实现为)以产生数字。X1,X2,…,XnGtfred
T0=t(X1,…,Xn)
根据具有机率定律的零假设,通过计算机生成可比较的数据集,每个数据集的大小为。将应用于每个这样的数据集以产生数字。N=nsimnFtNT1,T2,…,TN
计算
P=(∑i=1NI(Ti>T0)+1)/(N+1).
(“ ”是由矢量值比较实现的指示器功能中的代码。)右手侧被理解为是凭借的随机同步的随机性(实际测试统计量)和所述的随机性(模拟测试统计信息)。 Id.star > d.hat
T0Ti
地说,数据符合零假设是断言。选择一个测试大小,。 将两侧都乘以并减去表明,任意数的机会是不超过。 这仅表示位于所有测试统计信息的排序集合的顶部之内。由于(按施工)F=Gα0<α<1N+11P≤αα(N+1)α−1TiT0T0(N+1)αN+1T0与所有无关,当是连续分布时,该机会将是整数部分表示的分数;即,它将与提供的值完全相等是整数 ; 也就是说,当。TiF⌊(N+1)α⌋
Pr(P≤α)=⌊(N+1)α⌋N+1≈α
(N+1)αkα=k/(N+1)
对于任何应被称为“ p值”的数量,这当然都是我们想要实现的事情之一:它应该在上具有均匀的分布。假设相当大,那么任何都接近于形式的某个分数,则此将具有接近均一的形式分配。(要了解p值所需的其他条件,请阅读我发布的有关p值的对话框。)[0,1]N+1αk/(N+1)=k/(nsim+1)P
显然,引号无论出现在哪里都应使用“ ”而不是“ ”。nsim+1nsim