📜  如何在Python中执行 Anderson-Darling 测试

📅  最后修改于: 2022-05-13 01:55:22.195000             🧑  作者: Mango

如何在Python中执行 Anderson-Darling 测试

Anderson-Darling test:它的全称是Anderson-Darling Goodness of Fit Test (AD-Test),用来衡量我们的数据与指定分布的拟合程度。大多数情况下,此测试用于确定数据是否服从正态分布。

安装 scipy 和 numpy 库的语法:

pip3 install scipy numpy

Scipy 是一个用于科学计算的Python库。它提供了 anderson()函数来进行 Anderson-Darling 测试。

安德森()函数:

句法:

参数:

示例 1:

Python3
# Python program to conduct Anderson-Darling Test
  
# Importing libraries
import numpy as np
from scipy.stats import anderson
  
# Creating data
np.random.seed(0)
data = np.random.normal(size=100)
  
# Conduct Anderson-Darling Test 
anderson(data)


Python3
# Python program to conduct Anderson-Darling Test
  
# Importing libraries
import numpy as np
from scipy.stats import anderson
  
# Creating data
np.random.seed(0)
data = np.random.randint(0, 20, size=100)
  
# Conduct Anderson-Darling Test
anderson(data)


输出:

输出

检验统计量为 0.18。可以将该值与每个显着性水平对应的每个临界值进行比较,以检查测试结果是否显着。

例如:

  • α = 0.01 的临界值等于 1.021。因为这个检验统计量 (0.18) 不大于这个临界值,所以不能说检验结果在 0.01 的显着性水平上是显着的。
  • α = 0.025 的临界值等于 0.858。因为这个检验统计量 (0.18) 不大于这个临界值,所以不能说检验结果在 0.025 的显着性水平上是显着的。

由于检验结果在任何显着性水平上都不显着,这意味着我们不能拒绝该检验的原假设。因此,我们没有足够的证据来声称给定的数据不是正态分布的。

示例 2:

现在让我们考虑对 0 到 20 之间的 100 个随机整数样本进行 Anderson-Darling 检验。

Python3

# Python program to conduct Anderson-Darling Test
  
# Importing libraries
import numpy as np
from scipy.stats import anderson
  
# Creating data
np.random.seed(0)
data = np.random.randint(0, 20, size=100)
  
# Conduct Anderson-Darling Test
anderson(data)

输出:

输出

检验统计量为 2.073。可以将该值与每个显着性水平对应的每个临界值进行比较,以检查测试结果是否显着。

例如:

  • α = 0.01 的临界值等于 1.021。因为这个检验统计量 (0.18) 不大于这个临界值,所以不能说检验结果在 0.01 的显着性水平上是显着的。
  • α = 0.025 的临界值等于 0.858。因为这个检验统计量 (0.18) 不大于这个临界值,所以不能说检验结果在 0.025 的显着性水平上是显着的。

由于检验结果在任何显着性水平上都不显着,这意味着我们不能拒绝该检验的原假设。因此,我们没有足够的证据来声称给定的数据不是正态分布的。