在Python中比较分布与卡方

问题描述 投票:0回答:1

我有两种类型的数据列表,历史数据和模拟数据,我想将它们相互比较,看看它们是否具有相同的分布。我的代码如下:

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值会有很大差异?

python statistics chi-squared
1个回答
0
投票

这个问题很老了,但我一直在寻找同样的东西。之后我发现了这个:Link因此你应该使用chi2_contingency而不是chisquare。

© www.soinside.com 2019 - 2024. All rights reserved.