我正在随着时间的推移测量计算机系统的性能,我想了解随着时间的推移性能是否会下降或提高..
在做了一些研究之后,我选择了KS测试来进行这个比较,我想确认我对这个问题的双样本KS测试的理解和应用实际上是正确的还是我做的完全错误。
无论如何,我有一些时间序列数据,测量我在 11 月和 12 月的系统响应时间(以毫秒为单位)。以下是示例结果,为简洁起见总结:
Label: "December 2015"
Samples: 3082
Percentiles:
0% 10% 50% 25% 50% 75% 90% 99% 100%
25.0 275.0 550.0 400.0 550.0 825.0 1425.0 9242.5 12500.0
Label: "November 2015"
Samples: 3717
Percentiles:
0% 10% 50% 25% 50% 75% 90% 99% 100%
25 275 550 375 550 775 1425 10346 11225
我从直方图生成 ECDF 并使用以下方法绘制R
:
ggplot(data.frame, aes(x=value)) + stat_ecdf(aes(colour=label)) ...
结果图如下所示:
从目测来看,很明显,12 月的结果普遍好于 11 月,尤其是在前四分之一。
我使用不同的替代假设对以下数据进行了两个样本的 KS 检验:
ks.ts <- ks.test(cdf_November, cdf_December, alternative = "two.sided")
ks.lt <- ks.test(cdf_November, cdf_December, alternative = "less")
ks.gt <- ks.test(cdf_November, cdf_December, alternative = "greater")
这导致以下结果:
Two-sample Kolmogorov-Smirnov test
[1] "CDF(x) = November 2015"
[1] "CDF(y) = December 2015"
Hypothesis: two-sided (equal)
KS-statistic (D-value) = 0.0369063
p-value = 0.02030601
Hypothesis: the CDF of x lies below that of y
KS-statistic (D-value) = 0.01177649
p-value = 0.6266612
Hypothesis: the CDF of x lies above that of y
KS-statistic (D-value) = 0.0369063
p-value = 0.01015301
如果我理解了 KS 测试并正确解释了结果,这就是测试告诉我的关于我的数据的内容:
假设 #1:两侧(相等)
两个分布相同的概率为 2.03%(p 值 = 0.02030601)。
假设 #2:x 的 CDF 低于 y
CDF(11 月)比 CDF(12 月)差的概率为 62.6%(p 值 = 0.6266612)。
假设 #3:x 的 CDF 高于 y
CDF(11 月)优于 CDF(12 月)的概率为 1.01%(p 值 = 0.01015301)。
因此,我可以肯定地说,11 月比 12 月更糟。
我是否正确解释了结果,或者我完全误解了测试(可能还有测试的目的/应用)?
-- ab1