0
我想查找变量与cramer V之间的关联,它可以像大小超过2X2的矩阵一样处理。但是,对于频率较低的矩阵来说,它不能很好地工作。对于下面的应变矩阵,我得到0.5的结果。我怎样才能解释相同的问题?如何在2x2矩阵上应用cramer V
1 2
a 2 0
b 0 2
这是我的代码:
def cramers_stat(confusion_matrix):
chi2 = ss.chi2_contingency(confusion_matrix)[0]
n = confusion_matrix.sum().sum()
return np.sqrt(chi2/(n*(min(confusion_matrix.shape)-1)))
result=cramers_stat(confusion_matrix)
print(result)
confusion_matrix是我的输入,在这种情况下,我上述矩阵。我理解为了获得好的结果,我需要一个高于5的矩阵频率,但是对于上述情况,我期望结果为1.