协会#
- 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,它们更有可能出现更大的差异。
参考文献
[1]“Tschuprow’s T”, https://en.wikipedia.org/wiki/Tschuprow’s_T
[2]Tschuprow, A. A. (1939) 《相关数学理论原理》;由M. Kantorowitsch翻译。W. Hodge & Co.
[3]“Cramer’s V”, https://en.wikipedia.org/wiki/Cramer’s_V
[4]“名义关联:Phi 和 Cramer’s V”, http://www.people.vcu.edu/~pdattalo/702SuppRead/MeasAssoc/NominalAssoc.html
[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