scipy.stats.

安德森#

scipy.stats.anderson(x, dist='norm')[源代码][源代码]#

Anderson-Darling 检验用于来自特定分布的数据。

Anderson-Darling 检验测试零假设,即样本来自遵循特定分布的总体。对于 Anderson-Darling 检验,临界值取决于正在测试的分布类型。此函数适用于正态分布、指数分布、逻辑分布、weibull_min 分布或 Gumbel(极值类型 I)分布。

参数:
xarray_like

示例数据的数组。

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

要测试的分布类型。默认值是 ‘norm’。名称 ‘extreme1’、’gumbel_l’ 和 ‘gumbel’ 是同一分布的同义词。

返回:
结果Anderson结果

一个具有以下属性的对象:

统计浮动

安德森-达林检验统计量。

临界值列表

该分布的关键值。

显著性水平列表

相应临界值的显著性水平(以百分比表示)。该函数根据所测试的分布,返回不同显著性水平的临界值。

fit_resultFitResult

包含将分布拟合到数据结果的对象。

参见

kstest

Kolmogorov-Smirnov 拟合优度检验。

注释

提供的临界值适用于以下显著性水平:

normal/exponential

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). 未知参数的拟合优度统计量的渐近结果, Annals of Statistics, Vol. 4, pp. 357-369.

[4]

Stephens, M. A. (1977). 极值分布的拟合优度, Biometrika, 第64卷, 第583-588页.

[5]

Stephens, M. A. (1977). 拟合优度,特别参考指数性的检验,技术报告编号 262,统计系,斯坦福大学,斯坦福,加利福尼亚州。

[6]

Stephens, M. A. (1979). 基于经验分布函数的逻辑分布拟合检验, Biometrika, 第66卷, 第591-595页.

[7]

Richard A. Lockhart 和 Michael A. Stephens 的 “Estimation and Tests of Fit for the Three-Parameter Weibull Distribution” 发表于《Journal of the Royal Statistical Society.Series B(Methodological)》第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%的显著性水平上拒绝。