2
我使用ks.test
函数进行Kolmogorov-Smirnov测试。我发现,柯尔莫哥洛夫 - 斯米尔诺夫测试结果给出了从Kolmogorov-Smirnov测试给出的结果不同于max(abs(差异(x,y)))
max(abs(difference(x, y)))
不同根据Wikipedia柯尔莫哥洛夫 - 斯米尔诺夫测试的定义,其结果应该是等价的。
有没有人知道为什么?
我使用ks.test
函数进行Kolmogorov-Smirnov测试。我发现,柯尔莫哥洛夫 - 斯米尔诺夫测试结果给出了从Kolmogorov-Smirnov测试给出的结果不同于max(abs(差异(x,y)))
max(abs(difference(x, y)))
不同根据Wikipedia柯尔莫哥洛夫 - 斯米尔诺夫测试的定义,其结果应该是等价的。
有没有人知道为什么?
KS统计不应该等于max(|x-y|)
。它被应用于累积分布函数(CDF)。因此,它代表了样本与参考分布之间不同观测的比例。
见两个例子在下面MATLAB执行(虽然我期望的结果是相同的在R):
x = [1 2 3 4 5 6 7 8 9 10];
y = [1 2 3 4 5 6 7 8 9 11];
[~, ~, ks2s] = kstest2(x,y)
ks2s =
0.1000 (1)
x = [1 2 3 4 5 6 7 8 9 10];
y = [1 2 3 4 5 6 7 8 9 12];
[~, ~, ks2s] = kstest2(x,y)
ks2s =
0.1000 (2)
因此,虽然x
和y
之间的最大绝对大小的区别是在较大的(2) KS统计量是相同的,因为不同样本的比例是相同的。
如果y
有一个额外的样品,例如,结果改变:
x = [1 2 3 4 5 6 7 8 9 10];
y = [1 2 3 4 5 6 7 8 9 10 11];
[h, p, ks2s] = kstest2(x,y)
ks2s =
0.0909
你应该提供一个可重复的例子。如果你想自己搜索下来,可以通过'ks.test'中的代码进行筛选。 – lmo