ks.test()

作者: LET149 | 来源:发表于2023-06-07 09:46 被阅读0次

    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 基于累计分布函数

    特点:

      1. ks.test是一种非参数检验方法,不需要事先知道数据服从哪种分布,具有一定的通用性
      1. 如果事先知道数据符合的分布,则首选用此种分布方式专用的检验方式,因为此时ks.test的检验精度没有其专用的检验方式高

    作用:

      1. 检验一个样本是否服从某一已知分布 (one-sample KS test)
      1. 检验两个样本是否服从相同分布(是否来自同一总体)(two-sample K-S test)

    统计量:Dn

    理论累积概率分布函数
    经验累积概率分布函数
    KS test 的统计量
    KS test 统计量的图示
      1. Fexp ( x ) = F ( x ) : 理论累积概率分布函数(Cumulative distribution function), 由已知的分布形式和相应的参数得到
      1. 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时,接受原假设也就是认为两组数据服从同一种分布

    相关文章

      网友评论

          本文标题:ks.test()

          本文链接:https://www.haomeiwen.com/subject/ocabvktx.html