假设我有一些我凭经验得到的数据:
from scipy import stats
size = 10000
x = 10 * stats.expon.rvs(size=size) + 0.2 * np.random.uniform(size=size)
它呈指数分布(有一些噪音),我想用卡方拟合优度(GoF)测试验证这一点.使用Python中的标准科学库(例如scipy或statsmodels)以最少的手动步骤和假设进行此操作的最简单方法是什么?
我可以使用以下模型:
param = stats.expon.fit(x)
plt.hist(x, normed=True, color='white', hatch='/')
plt.plot(grid, distr.pdf(np.linspace(0, 100, 10000), *param))
>>> stats.kstest(x, lambda x : stats.expon.cdf(x, *param))
(0.0061000000000000004, 0.85077099515985011)
但是,我找不到计算卡方检验的好方法.
在statsmodel中有一个卡方的GoF函数,但它假定为离散分布(并且指数分布是连续的).
该官员scipy.stats教程只涵盖的情况下,自定义分布和概率与许多表达式(npoints,npointsh,N键合,normbound)摆弄建成,所以它不是很清楚,我该怎么办呢其他分布.该卡方例子假设与预期值和已经获得的自由度.
此外,我不是在寻找一种"手动"执行测试的方法,如此处已经讨论过的,但是我想知道如何应用其中一个可用的库函数.
如果觉得《python卡方拟合优度检验_如何使用Python中的科学库执行卡方拟合优度检验?》对你有帮助,请点赞、收藏,并留下你的观点哦!