python计算四格表卡方统计值及其矫正值
xxxspy
2017-11-15 08:43:09
Categories:
Tags:
python
scipy
卡方检验就是统计样本的实际观测值与理论推断值之间的偏离程度,实际观测值与理论推断值之间的偏离程度就决定卡方值的大小,卡方值越大,越不符合;卡方值越小,偏差越小,越趋于符合,若两个值完全相等时,卡方值就为0,表明理论值完全符合。
四格表的卡方计算公式:
卡方检验一般要求交叉表中的单元格内的数值或者期望值大于5, 当这个条件不满足的情况下, 需要对其进行校正, 一般用Yates’s校正公式计算卡方值. 计算公式是:
Python中我们用scipy模块scipy.stats.chi2_contingency
来计算卡方及其P值:
1 2 3 4 5 6 7 8 9 10
| from scipy.stats import chi2_contingency
chi2_contingency([[44, 4], [32, 10]],False)
(4.0843179377013969, 0.043282916905174974, 1, array([[ 40.53333333, 7.46666667], [ 35.46666667, 6.53333333]]))
chi2_contingency([[44, 4], [32, 10]],True) (2.9911133861439323, 0.083722586239569685, 1, array([[ 40.53333333, 7.46666667], [ 35.46666667, 6.53333333]]))
|
为了方便大家计算, 我在这里用JavaScript开发了一个卡方计算器, 可以在线直接计算.