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% 的显着性水平下却不能。