R中的一个样本Kolmgorov-Smirnov测试中的“不应该存在关系”

机器算法验证 kolmogorov-smirnov 测试 领带
2022-01-28 21:51:15

我将使用 Kolmogorov-Smirnov 测试来测试 R 中 MYDATA 的正态性。这是我所做的一个示例

 ks.test(MYDATA,"pnorm",mean(MYDATA),sd(MYDATA))

这是 R 给我的结果:

 data:  MYDATA
 D = 0.13527, p-value = 0.1721
 alternative hypothesis: two-sided

 Warning message:
 In ks.test(MYDATA, "pnorm", mean(MYDATA), sd(MYDATA)) :
    ties should not be present for the Kolmogorov-Smirnov test

我认为有一个问题,这个警告中的“关系”是什么意思?

2个回答

你在这里有两个问题:

KS 测试用于连续分布,因此 MYDATA 不应包含任何关系(重复值)。

KS 检验的基础理论不允许您像您所做的那样从数据中估计分布参数。ks.test 的帮助解释了这一点。

正如@mdewey 所解释的,在从数据中估计参数时,KS 测试不适合。您可以使用以下代码,该代码依赖于 Anderson-Darling 正态性检验,并且不需要您提供均值和标准差。该测试在准确性上比 Lilliefors 测试要强。

install.packages("nortest")
library(nortest)
ad.test(MYDATA)