我想用 scipy 在 Python 中运行卡方检验。我已经创建了代码来执行此操作,但我不知道我所做的是否正确,因为 scipy 文档非常稀疏。
背景第一:我有两组用户。我的零假设是,两组中的人是否更有可能使用台式机、移动设备或平板电脑没有显着差异。
这些是在两组中观察到的频率:
[[u'desktop', 14452], [u'mobile', 4073], [u'tablet', 4287]]
[[u'desktop', 30864], [u'mobile', 11439], [u'tablet', 9887]]
这是我的代码使用scipy.stats.chi2_contingency
:
obs = np.array([14452, 4073, 4287], [30864, 11439, 9887])
chi2, p, dof, expected = stats.chi2_contingency(obs)
print p
这给了我一个 p 值2.02258737401e-38
,这显然很重要。
我的问题是:这段代码看起来有效吗?特别是,鉴于我拥有的数据,我不确定是否应该使用scipy.stats.chi2_contingency或scipy.stats.chisquare。