Chi平方测试用Python

Ric*_*ard 14 python numpy scipy chi-squared

我想用Python进行卡方检验.我已经创建了代码来执行此操作,但我不知道我所做的是否正确,因为scipy docs非常稀疏.

背景优先:我有两组用户.我的零假设是,两组中的人是否更有可能使用桌面设备,移动设备或平板电脑没有显着差异.

这些是两组中观察到的频率:

[[u'desktop', 14452], [u'mobile', 4073], [u'tablet', 4287]]
[[u'desktop', 30864], [u'mobile', 11439], [u'tablet', 9887]]
Run Code Online (Sandbox Code Playgroud)

这是我的代码使用scipy.stats.chi2_contingency:

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

这给了我一个p值2.02258737401e-38,这显然是重要的.

我的问题是:这段代码看起来有效吗?特别是,我不确定我是否应该使用,scipy.stats.chi2_contingency或者scipy.stats.chisquare根据我的数据.

War*_*ser 5

您使用chi2_contingency正确。如果您不确定卡方检验的正确使用方式或如何解释其结果(即您的问题是关于统计检验而不是编码),请考虑在“ CrossValidated”站点上进行询问:https:// stats。 stackexchange.com/


小智 5

我不能过多评论该功能的使用。然而,手头的问题可能是统计性质的。您看到的非常小的 p 值很可能是因为您的数据包含大频率(大约一万)。当样本量太大时,任何差异都会变得显着——因此 p 值很小。您正在使用的测试对样本量非常敏感。请参阅此处了解更多详情。