使用 scipy.stats.chi2_contingency 测试在二维或多维列联表上收到 0 p 值

问题描述

我正在使用 scipy.stats.chi2_contingency 对列联表进行卡方检验。该表是通过在数据帧上应用 crosstab 创建的。抱歉我无法提供数据框。

列联表

enter image description here

从列联表中创建观察

obs = np.array([contingency_table.iloc[0,:].tolist(),contingency_table.iloc[1,:].tolist()])

运行卡方检验 scipy.stats.chi2_contingency(obs,correction = True)

它返回测试统计量、p 值、自由度、预期频率

(6049.597409597534,0.0,3,array([[ 35064.39469823,48592.14618328,3104.26261306,49682.19650543],[170390.60530177,236126.85381672,15084.73738694,241423.80349457]]))

如您所见,p-value 为 0。根据 doc,如果列联表是一维表,p-value 将为 0。我的桌子是一张 2 x 4 的桌子。我也用

测试p值
results = scipy.stats.chi2_contingency(obs,correction = True)
results[1] == 0

返回值为True

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)