gpt4 book ai didi

python - Anderson darling test 在 Python 中给了我无穷大的分数

转载 作者:行者123 更新时间:2023-11-28 17:24:30 27 4
gpt4 key购买 nike

我正在检查我的数据分布的正态性。这里。我正在对其运行安德森测试,输出为无穷大。我如何解释结果以及如何将这种类型的分布转换为正态分布?

check_list= ["norm","logistic"]
for typelike in check_list:
print typelike
x=mydata
print sp.stats.anderson(x, dist=typelike)

我得到以下输出

规范

AndersonResult(statistic=inf,
critical_values=array([ 0.576, 0.656, 0.787, 0.918, 1.092]),
significance_level=array([ 15. , 10. , 5. , 2.5, 1. ]))

物流

AndersonResult(statistic=2504915.1041950081,
critical_values=array([ 0.426, 0.563, 0.66 , 0.769, 0.906, 1.01 ]),
significance_level=array([ 25. , 10. , 5. , 2.5, 1. , 0.5]))

最佳答案

我以前遇到过类似的问题。不幸的是,SciPy 内部浮点计算的数值精度是有限的。如果您距离正态分布的中心有几个 sigma,则 CDF 中的某些点会产生精确的 1(或 0)。然后,Anderson-Darling 检验的数学公式中的对数产生无穷大的值。

如果您只对一些特定的分布感兴趣,一个可能的解决方案是使用封闭形式或高精度 CDF 表示以及用于 Python 的高精度数学库(例如 mpmath)。特别是对于正态分布,使用误差函数 (erf/erfc),这应该提供准确的值。 Anderson-Darling 测试的自定义实现仅包含几行代码。

作为替代方案,如果可能,Cramér-von-Mises-Test,它不包含对数。

关于python - Anderson darling test 在 Python 中给了我无穷大的分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39902145/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com