【问题标题】:Computing Anderson-Darling test statistics for continuous distributions in R计算 R 中连续分布的 Anderson-Darling 检验统计量
【发布时间】:2015-09-16 23:45:45
【问题描述】:

首先,我不确定这是属于 CrossValidated 还是 StackOverflow。如果我在错误的网站上发布了这个问题,我很抱歉。

我正在使用 R 将几个数据集与一个观测数据集进行比较。每个数据集都有大约 1000 万个连续浮点值(每个数据集的数据向量的长度并不完全相同)。

我通常使用标准stats 包中的ks.test() 函数计算Kolmogorov-Smirnov 统计量,但现在我对分布的极值特别感兴趣。据我所知,KS 几乎隐藏了这些。 Kullback-Leibler 也是如此(如果我错了,请随时纠正我)。

另一方面,Anderson-Darling 检验被加权以考虑分布的极端情况。但是,我还没有找到一个简单的 AD 测试实现,它只处理两个向量作为输入(就像 stats::ks.test() 通过发出 ks.test(obs.data, mod.data) 所做的那样,其中两个输入都是简单的向量),而且我也没有'已经能够理解如何使我的数据适应我尝试过的功能。

我查看了以下函数:

  • cvm.test() 来自 dgof 包,带有选项 type="A2":需要将分布作为第二个输入,而不是向量
  • ad.test() 来自包 truncgof:需要分发作为第二个输入
  • ad.test() 来自包goftest:如上
  • ad.test() 来自包ADGofTest:如上
  • ad.test() 来自 kSamples 包:在这种情况下,我不清楚输出代表什么,以及如何对其进行标准化,因为它似乎在很大程度上取决于样本数量
  • ad.test() 来自包 nortest:仅测试正常性
  • ADbootstrap.test() 来自 homtest 包:这似乎与标准 AD 测试完全不同

简而言之,以上都不能像标准 ks.test() 函数或 KLdiv 包中的 Kullbach-Leibler 函数 KLdiv 一样简单地使用 flexmix(它接受密度值矩阵)。

如何使用 R 计算两个分布之间的 AD 统计量,这些分布仅作为两个连续数据向量提供?

【问题讨论】:

    标签: r comparison distribution


    【解决方案1】:

    我不是统计学方面的专家,而且我最近正在学习 AD 测试,并且和你有同样的问题。看了一些文章后,我有点知道ad.test()kSamples的结果如何解释了。

    原来的AD测试是为了检验一个数字样本是否属于某个分布。因此,为了比较两个(或更多)样本,我们应该使用以 k-sample 方式进行测试的函数,而不是原来的方式。

    如果你从kSamples包中输入两个向量到ad.test()

    library(kSamples)
    x <- ad.test(c(1,2,3,4,5), c(11,22,33,44,55))
    

    结果给你一个矩阵:

    print(x)
    
    Anderson-Darling k-sample test.
    
    Number of samples:  2
    Sample sizes:  5, 5
    Number of ties: 0
    
    Mean of  Anderson-Darling  Criterion: 1
    Standard deviation of  Anderson-Darling  Criterion: 0.63786
    
    T.AD = ( Anderson-Darling  Criterion - mean)/sigma
    
    Null Hypothesis: All samples come from a common population.
    
                  AD  T.AD  asympt. P-value
    version 1: 3.913 4.566          0.00517
    version 2: 4.010 4.726          0.00452
    

    或者,

    x$ad
    
                   AD   T.AD  asympt. P-value
    version 1: 3.9127 4.5664        0.0051703
    version 2: 4.0100 4.7260        0.0045199
    

    AD 是 Anderson-Darling 统计量,由相应的方程计算得出。 (ref article),T.AD 由 (AD-(k-1))/sigma 计算,其中 (k-1) 表示零假设下 AD 统计量的限制分布是 (k-1) 倍卷积单样本 AD 统计量的渐近分布; sigma 是 AD 统计量的标准差。然后渐近。 P 值将是我们正在寻找的“p 值”。至于行,版本 1 表示连续总体中的 k 样本 AD 测试,版本 2 表示具有离散父总体的它。所以我猜,如果你的数据是连续的,你应该取第一行的 p 值,如果是离散的,那么取第二行。

    【讨论】:

      猜你喜欢
      • 2017-06-05
      • 1970-01-01
      • 2021-12-29
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-17
      相关资源
      最近更新 更多