我有两种类型的数据列表,历史数据和模拟数据,我想将它们相互比较,看看它们是否具有相同的分布。我的代码如下:
import scipy.stats as stats
data_hist = [164, 157, 145, 113, 127, 192, 214, 193, 107, 95, 60, 55, 30, 19, 22, 22, 19, 20]
date_sim1 = [160, 174, 142, 121, 122, 192, 198, 179, 119, 107, 63, 50, 26, 17, 16, 22, 23, 23]
date_sim2 = [181, 130, 152, 114, 122, 198, 183, 192, 105, 100, 85, 42, 37, 26, 25, 30, 17, 15]
print(stats.chisquare(date_sim1, f_exp=data_hist))
print(stats.chisquare(date_sim2, f_exp=data_hist))
代码给出以下输出:
Power_divergenceResult(statistic=12.11387994054504, pvalue=0.79319278886052769)
Power_divergenceResult(statistic=34.413397609752003, pvalue=0.0074220617004927226)
我使用 Excel 中的 F 检验对相同的数据列表进行了比较,得到的 P 值分别为 0.939 和 0.849。
现在我的问题是我是否使用正确的卡方函数来计算 P 值以及如何解释它以知道是否应该拒绝原假设。为什么使用不同方法时P值会有很大差异?
这个问题很老了,但我一直在寻找同样的东西。之后我发现了这个:Link因此你应该使用chi2_contingency而不是chisquare。