scipy.stats.

anderson#

scipy.stats.anderson(x, dist='norm')[source]#

针对来自特定分布的数据执行的 Anderson-Darling 检验。

Anderson-Darling 检验检验了以下零假设:一个样本是从服从特定分布的总体中抽取的。对于 Anderson-Darling 检验,临界值取决于针对哪个分布进行了检验。此函数可适用于正态、指数、逻辑、威布尔最小值或 Gumbel(极值类型 I)分布。

参数:
xarray_like

样本数据的数组。

dist{‘norm’, ‘expon’, ‘logistic’, ‘gumbel’, ‘gumbel_l’, ‘gumbel_r’, ‘extreme1’, ‘weibull_min’}, 可选

要针对其进行检验的分布类型。默认值为‘norm’。名称‘extreme1’、‘gumbel_l’和‘gumbel’是同分布的同义词。

返回:
resultAndersonResult

一个带有以下属性的对象

statisticfloat

Anderson-Darling 检验统计量。

critical_valueslist

此分布的临界值。

significance_levellist

对应于相应临界值的显著性水平,以百分比表示。该函数返回一组不同的显著性水平的临界值,具体取决于参与检验的分布。

数据拟合分布的结果对象FitResult

含有数据分布拟合结果的对象。

另请参见

kstest

拟合优度检验中的科尔莫哥洛夫-斯米尔诺夫检验。

注释

给出的临界值为以下显著性水平

正态/指数

15%, 10%, 5%, 2.5%, 1%

逻辑斯蒂

25%, 10%, 5%, 2.5%, 1%, 0.5%

gumbel_l / gumbel_r

25%, 10%, 5%, 2.5%, 1%

weibull_min

50%, 25%, 15%, 10%, 5%, 2.5%, 1%, 0.5%

如果返回的统计数据大于这些临界值,那么对于相应的显著性水平,可以拒绝数据来自所选分布的原假设。所返回的统计量在参考文献中称为“A2”。

对于weibull_min已知最大似然估计具有挑战性。如果检验成功返回,那么已经验证了最大似然估计的一阶条件,并且临界值与显著性水平相当吻合,前提是样本足够大(>10个观测值[7])。然而,对于某些数据 - 尤其是没有左尾的数据 - anderson可能会导致错误消息。在这种情况下,请考虑使用scipy.stats.monte_carlo_test执行自定义拟合优度检验。

参考文献

[2]

Stephens,M. A.(1974)。拟合优度和一些比较的 EDF 统计数据,美国统计协会杂志,第 69 卷,第 730-737 页。

[3]

Stephens,M. A.(1976)。具有未知参数的拟合优度统计数据的渐近结果,《统计年报》,第 4 卷,第 357-369 页。

[4]

Stephens,M. A.(1977)。极值分布的拟合优度,《生物测量学》,第 64 卷,第 583-588 页。

[5]

Stephens,M. A.(1977)。拟合优度与指数分布检验特别相关,《技术报告 262》,斯坦福大学统计系,斯坦福,加利福尼亚州。

[6]

Stephens,M. A.(1979)。基于经验分布函数的逻辑斯蒂分布拟合检验,《生物测量学》,第 66 卷,第 591-595 页。

[7]

Richard A. Lockhart 和 Michael A. Stephens,“三参数 Weibull 分布的拟合估计和检验”,皇家统计协会杂志。系列 B(方法论)第 56 卷,第 3 期(1994 年),第 491-500 页,表 0。

示例

检验空假设,即某个随机样本来自正态分布(具有未指定均值和标准差)。

>>> import numpy as np
>>> from scipy.stats import anderson
>>> rng = np.random.default_rng()
>>> data = rng.random(size=35)
>>> res = anderson(data)
>>> res.statistic
0.8398018749744764
>>> res.critical_values
array([0.527, 0.6  , 0.719, 0.839, 0.998])
>>> res.significance_level
array([15. , 10. ,  5. ,  2.5,  1. ])

统计值(勉强)超过与其 2.5% 的显着性水平相关的临界值,因此在 2.5% 的显着性水平下可以拒绝原假设,但在 1% 的显着性水平下却不能。