scipy.stats.contingency.

协会#

scipy.stats.contingency.association(observed, method='cramer', correction=False, lambda_=None)[源代码][源代码]#

计算两个名义变量之间的关联程度。

该函数提供了从2维列联表中的数据计算两个名义变量之间三种关联度量之一的选项:Tschuprow’s T、Pearson的列联系数和Cramer’s V。

参数:
观察到的类似数组

观测值的数组

方法{“cramer”, “tschuprow”, “pearson”}(默认 = “cramer”)

关联测试统计量。

修正bool, 可选

继承自 scipy.stats.contingency.chi2_contingency()

lambda_浮点数或字符串,可选

继承自 scipy.stats.contingency.chi2_contingency()

返回:
统计浮动

测试统计量的值

注释

Cramer’s V、Tschuprow’s T 和 Pearson’s 列联系数,都测量两个名义或有序变量之间的相关程度,或它们的关联水平。这与相关性不同,尽管许多人经常错误地认为它们是等价的。相关性测量两个变量以何种方式相关,而关联性测量变量之间的相关程度。因此,关联性并不包含独立变量,而是一种独立性检验。值为 1.0 表示完全关联,0.0 表示变量之间没有关联。

Cramer’s V 和 Tschuprow’s T 都是 phi 系数的扩展。此外,由于 Cramer’s V 和 Tschuprow’s T 之间的密切关系,返回的值通常可能相似甚至相等。随着数组形状偏离 2x2,它们更有可能出现更大的差异。

参考文献

[2]

Tschuprow, A. A. (1939) 《相关数学理论原理》;由M. Kantorowitsch翻译。W. Hodge & Co.

[5]

金里奇, 保罗, “变量之间的关系”, http://uregina.ca/~gingrich/ch11a.pdf

示例

一个4x2列联表的例子:

>>> import numpy as np
>>> from scipy.stats.contingency import association
>>> obs4x2 = np.array([[100, 150], [203, 322], [420, 700], [320, 210]])

皮尔逊的列联系数

>>> association(obs4x2, method="pearson")
0.18303298140595667

克莱姆V系数

>>> association(obs4x2, method="cramer")
0.18617813077483678

Tschuprow 的 T

>>> association(obs4x2, method="tschuprow")
0.14146478765062995