如何解决Python中的Kolmogorov-Smirnov拟合优度测试
我正在尝试为我的数据获得最佳分布。配件如下图所示完成,但是我需要测量以选择最佳的型号。我将拟合优度与卡方值进行了比较,并使用Kolmogorov-Smirnov(KS)检验来检验观察分布与拟合分布之间的显着差异。我搜索了一些可能的解决方案1,2,3,但没有得到答案。从下图的结果中:
-
如果
p-value
高于k-statistic
,是否意味着我们可以接受假设或数据与分布很吻合? -
或者,可以将
level of significance(a=0.005)
与p-value
进行比较并确定接受还是拒绝假设?如果p-value
低于a
,则很可能两个分布是不同的。 -
对于
Kolmogorov-Smirnov test
,对数据(-1,1)进行标准化是否必不可少?
我通过以下方式计算了P值:
for distribution in dist_names:
# Set up distribution and get fitted distribution parameters
dist = getattr(scipy.stats,distribution)
param = dist.fit(y_std)
p = scipy.stats.kstest(y_std,distribution,args=param)[1]
p = np.around(p,5)
p_values.append(p)
解决方法
- 否,您可以将K统计量与K检验临界值表中的临界值进行比较,也可以将p值与重要性水平进行比较(在您的情况下为0.005)。
- 对,在统计数据中,如果p值较小,我们将拒绝空值并接受替代值。
- 否,如果我们在进行KS-test之前标准化数据,则会丢失有关原始数据分布的信息。例如,如果数据来自几何分布,则归一化后,随着样本数量达到无穷大,数据将以正态(0,1)收敛。
- 是的,因为在这种情况下p值> a,我们无法拒绝空值并接受该值,因此输入数据的分布与exponnorm相同。
顺便说一下,这个问题应该属于Cross Validated,因为它或多或少与统计知识有关。希望这个答案对您有帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。