【问题标题】:Create CDF for Anderson Darling test for Octave forge Statistics package function为 Octave forge Statistics 包功能的 Anderson Darling 测试创建 CDF
【发布时间】:2010-02-01 22:21:23
【问题描述】:

我正在使用 Octave,我想使用 Octave forge Statistics 包中的 anderson_darling_test 来测试两个数据向量是否来自同一个统计分布。此外,参考分布不太可能是“正常的”。此参考分布将是已知分布,并取自上述函数的帮助“'如果您从已知分布中选择,请将您的值转换为分布的 CDF 值并使用“统一”。 "

因此,我的问题是:如何将我的数据值转换为参考分布的 CDF 值?

该问题的一些背景信息:我有一个原始数据值向量,我从中提取循环分量(这将是参考分布);然后,我希望将此循环分量与原始数据本身进行比较,以查看原始数据是否本质上是循环的。如果可以拒绝两者相同的原假设,那么我将知道原始数据中的大部分移动不是由于循环影响而是由于趋势或噪声造成的。

【问题讨论】:

    标签: statistics octave


    【解决方案1】:

    如果您的数据具有特定分布,例如beta(3,3) 那么

    p = betacdf(x, 3, 3)
    

    根据 CDF 的定义是统一的。如果要将其转换为法线,只需调用逆 CDF 函数即可

    x=norminv(p,0,1)
    

    在制服上p。转换后,使用您最喜欢的测试。我不确定我是否理解您的数据,但您可以考虑改用 Kolmogorov-Smirnov test,这是分布平等的非参数测试。

    【讨论】:

      【解决方案2】:

      您的方法在多个方面存在误导。几点:

      • 在 Octave forge 中实施的 Anderson-Darling 测试是单样本测试:它需要 一个 数据向量和参考分布。分布应该是已知的——而不是来自数据。虽然您正确引用了有关使用 CDF 的帮助文件和未内置分发的“统一”选项,但您忽略了同一帮助文件的下一句:

      如果分布参数是根据数据本身估计的,则不要使用“均匀”,因为这会使 A^2 统计量急剧偏向较小的值。

      所以,不要这样做。

      • 即使您找到或编写了一个函数来实现正确的两样本 Anderson-Darling 或 Kolmogorov-Smirnov 检验,您仍然会遇到一些问题:

        1. 您的样本(数据和从数据估计的循环部分)不是独立的,这些测试假定独立。

        2. 根据您的描述,我假设其中涉及某种时间预测器。因此,即使分布会重合,这并不意味着它们在相同的时间点重合,因为比较分布会随着时间的推移而崩溃。

        3. 预计周期趋势 + 误差的分布与单独的周期趋势分布不同。假设趋势是 sin(t)。那么它永远不会超过 1。现在添加一个标准差为 0.1 的正态分布随机误差项(小,因此趋势占主导地位)。显然,您可以获得远高于 1 的值。

      我们没有足够的信息来找出正确的做法,而且这也不是一个真正的编程问题。查找时间序列理论——分离循环成分是那里的一个主要话题。但是许多合理的分析可能会基于残差:(观察值 - 从循环分量预测)。您仍然需要注意自相关和其他复杂性,但至少这是朝着正确方向迈出的一步。

      【讨论】:

        猜你喜欢
        • 2020-07-19
        • 2021-06-14
        • 1970-01-01
        • 2017-02-15
        • 2018-11-21
        • 2015-09-16
        • 1970-01-01
        • 2019-06-01
        • 1970-01-01
        相关资源
        最近更新 更多