Python中的卡方检验

2024-06-26 02:06:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在Python中运行一个卡方检验。我已经创建了这样做的代码,但是我不知道我所做的是否正确,因为scipy文档非常稀疏。

背景第一:我有两组用户。我的假设是,两组中的人使用台式机、移动设备或平板电脑的可能性没有显著差异。

这是两组观察到的频率:

[[u'desktop', 14452], [u'mobile', 4073], [u'tablet', 4287]]
[[u'desktop', 30864], [u'mobile', 11439], [u'tablet', 9887]]

下面是我使用^{}的代码:

obs = np.array([[14452, 4073, 4287], [30864, 11439, 9887]])
chi2, p, dof, expected = stats.chi2_contingency(obs)
print p

这给了我一个p值2.02258737401e-38,这显然是有意义的。

我的问题是:这个代码看起来有效吗?尤其是,我不确定是否应该使用^{}^{},因为我有数据。


Tags: 代码用户文档scipy差异mobile可能性背景
2条回答

您正确地使用了chi2_contingency。如果您对卡方检验的正确使用或如何解释其结果感到不确定(即您的问题是关于统计检验而不是编码),请考虑在“交叉验证”网站上询问它:https://stats.stackexchange.com/

我不能对函数的使用发表太多评论。然而,目前的问题可能是统计性质的。你看到的很小的p值很可能是你的数据包含了大量的频率(大约一万次)的结果。当样本量过大时,任何差异都将变得显著,因此p值较小。您使用的测试对样本量非常敏感。有关详细信息,请参见here

相关问题 更多 >