https://www.cnblogs.com/arkenstone/p/5496761.html
https://blog.csdn.net/ljzology/article/details/80407704
https://blog.csdn.net/simingjiao/article/details/88693650
https://zhuanlan.zhihu.com/p/292678346
用来检验一组数是否服从某种分布或者两组数的分布是否相同
KS test 基于累计分布函数
特点:
- ks.test是一种非参数检验方法,不需要事先知道数据服从哪种分布,具有一定的通用性
- 如果事先知道数据符合的分布,则首选用此种分布方式专用的检验方式,因为此时ks.test的检验精度没有其专用的检验方式高
作用:
- 检验一个样本是否服从某一已知分布 (one-sample KS test)
- 检验两个样本是否服从相同分布(是否来自同一总体)(two-sample K-S test)
统计量:Dn
理论累积概率分布函数
经验累积概率分布函数
KS test 的统计量
KS test 统计量的图示
- Fexp ( x ) = F ( x ) : 理论累积概率分布函数(Cumulative distribution function), 由已知的分布形式和相应的参数得到
- Fobs ( x ) : 经验累积概率分布函数(Empirical distribution function), 由样本计算而来;把样本中数字从小到大进行排列,变量x的经验累积概率等于小于等于x的变量的个数除以样本的总变量个数
1. 检验一组数是否符合某种分布 (one-sample KS test)
2. 检验两组数据是否符合相同的分布 (two-sample K-S test)
- 可以看成是单样本 KS test的变形
- ks.test(aa, bb)
> aa <- rnorm(30) '#aa服从标准正太分布
> bb <- rnorm(50) #bb服从标准正太分布
> cc <- ks.test(aa, bb) #用ks.test来检验aa和bb这两组数据是否服从相同的分布
> cc #对检验结果进行查看
Two-sample Kolmogorov-Smirnov test
data: aa and bb
D = 0.15333, p-value = 0.7195 #p-value大于0.05,aa和bb服从相同的分布
alternative hypothesis: two-sided
> cc$p.value #单独查看检验结果的p-value
[1] 0.7194843
- 当检验两组数据是否服从同一中分布时,H0(原假设)是两组数据服从同一分布
- 当p-value小于0.05时,有95%的可能性拒绝H0;当p-value小于0.01时,有99%的可能性拒绝H0
- 所以当我们选定p-value的阈值为0.05时,当p-value大于0.05时,接受原假设也就是认为两组数据服从同一种分布
网友评论