【问题标题】:Is there an Anderson-Darling implementation for python that returns p-value?是否有适用于 python 的 Anderson-Darling 实现返回 p 值?
【发布时间】:2018-11-21 11:46:59
【问题描述】:

我想找到最适合某些数据的分布。这通常是某种测量数据,例如力或扭矩。

理想情况下,我希望使用多个分布运行 Anderson-Darling,并选择具有最高 p 值的分布。这类似于 Minitab 中的“拟合优度”检验。我很难找到计算 p 值的 Anderson-Darling 的 python 实现。

我尝试过 scipy's stats.anderson(),但它只返回 AD 统计信息和具有相应显着性水平的临界值列表,而不是 p 值本身。

我也查看了statsmodels,但它似乎只支持正态分布。我需要比较几种分布(正态、威布尔、对数正态等)的拟合度。

在 python 中是否有一个 Anderson-Darling 的实现,它返回 p 值并支持非正态分布?

【问题讨论】:

    标签: python statistics p-value hypothesis-test goodness-of-fit


    【解决方案1】:

    您可以使用多个发行版,它只需要是可调用的。请看下面我是如何调用 gamma 的。

    from statsmodels.stats.diagnostic import anderson_statistic as ad_stat
    from scipy import stats
    
    result = ad_stat(df[['Total']], dist= stats.gamma)
    

    您可以调用 Scipy 中列出的任何发行版:https://docs.scipy.org/doc/scipy/reference/stats.html

    查看源代码了解更多信息:https://www.statsmodels.org/stable/_modules/statsmodels/stats/_adnorm.html

    【讨论】:

      【解决方案2】:

      您可以根据 OpenTURNS 库检查此 page。 基本上,如果 x 是 Python 列表或 Numpy 数组,

      import openturns as ot
      sample = ot.Sample(x)
      

      调用 Anderson Darling 方法 test_result = ot.NormalityTest.AndersonDarlingNormal(sample)

      调用test_result.getPValue()获取p_value

      【讨论】:

        【解决方案3】:

        我只会按拟合优度统计而不是按 p 值对分布进行排名。我们可以使用 Anderson-Darling、Kolmogorov-Smirnov 或类似的统计量来衡量不同分布的拟合程度。

        背景:

        Anderson-Darling 或 Kolmogorov-Smirnov 的 p 值取决于参数是否被估计。在这两种情况下,分布都不是标准分布。

        在某些情况下,我们可以将列表值制成表格或使用函数近似值。当没有估计参数并且分布是没有形状参数的简单位置尺度族时,就是这种情况。

        对于具有形状参数的分布,我们计算 p 值所需的检验统计量的分布取决于参数。也就是说,我们必须为每组参数计算不同的分布或列表 p 值,这是不可能的。 在这些情况下获得 p 值的唯一解决方案是通过引导程序或模拟特定参数的检验统计量。

        技术条件是检验统计量是否渐近关键,即检验统计量的渐近分布与具体参数无关。

        对分箱数据使用卡方检验需要更少的假设,即使在估计参数时我们也可以计算它。 (严格来说,只有当 MLE 使用分箱数据估计参数时,这才是正确的。)

        【讨论】:

        • 感谢您的回答。您建议使用检验统计量,因为它是适合度的度量。但是我注意到 Minitab 特别警告不要使用此统计数据来确定最佳拟合:“但是,当 AD 值接近时,请避免直接比较不同分布的 AD 值,因为 AD 统计数据是分布的不同分布的不同。为了更好地比较不同分布的拟合,请使用附加标准,例如概率图、p 值和您的过程知识。” 他们建议将 p 值作为更好的衡量标准适合
        • 那个 Minitab 评论对我来说没有多大意义,我不知道他们如何计算具有形状参数的分布的 p 值,除非他们使用模拟值或限制为没有形状参数的分布。 AD 和 KS 以及类似的 GOF 统计数据只是假设分布和经验分布之间的距离度量。检验统计量越小,分布越接近给定距离度量定义中的数据。
        • 使用概率图作为附加辅助总是有用的,因为它提供了分布可能适合或不适合的附加信息。如果我们在未估计参数的情况下使用 p 值,那么在估计参数的情况下它们将不正确。
        猜你喜欢
        • 2017-02-15
        • 1970-01-01
        • 2021-06-14
        • 2023-03-21
        • 2011-03-20
        • 2020-07-19
        • 2011-11-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多