association#
- scipy.stats.contingency.association(observed, method='cramer', correction=False, lambda_=None)[source]#
计算两个标称变量之间的关联程度。
该函数提供了一个选项,可以从 2d 列联表中给出的数据计算两个标称变量之间三种关联度量之一:Tschuprow 的 T、Pearson 的列联系数和 Cramer 的 V。
- 参数:
- observed类数组
观测值的数组
- method{“cramer”, “tschuprow”, “pearson”} (default = “cramer”)
关联检验统计量。
- correctionbool, 可选
继承自 scipy.stats.contingency.chi2_contingency()
- lambda_float 或 str, 可选
继承自 scipy.stats.contingency.chi2_contingency()
- 返回:
- statisticfloat
检验统计量的值
注释
Cramer 的 V、Tschuprow 的 T 和 Pearson 的列联系数都衡量了两个标称或序数变量相关的程度,或者它们的关联水平。 这与相关性不同,尽管许多人经常错误地认为它们是等价的。 相关性衡量两个变量以何种方式相关,而关联性衡量变量的相关程度。 因此,关联性不包含自变量,而是对独立性的检验。 值为 1.0 表示完全关联,0.0 表示变量之间没有关联。
Cramer 的 V 和 Tschuprow 的 T 都是 phi 系数的扩展。 此外,由于 Cramer 的 V 和 Tschuprow 的 T 之间的密切关系,返回的值通常相似甚至相等。 随着数组形状偏离 2x2,它们可能会更加不同。
参考文献
[1]“Tschuprow’s T”, https://en.wikipedia.org/wiki/Tschuprow’s_T
[2]Tschuprow, A. A. (1939) Principles of the Mathematical Theory of Correlation; translated by M. Kantorowitsch. W. Hodge & Co.
[3]“Cramer’s V”, https://en.wikipedia.org/wiki/Cramer’s_V
[4]“Nominal Association: Phi and Cramer’s V”, http://www.people.vcu.edu/~pdattalo/702SuppRead/MeasAssoc/NominalAssoc.html
[5]Gingrich, Paul, “Association Between Variables”, 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]])
Pearson 的列联系数
>>> association(obs4x2, method="pearson") 0.18303298140595667
Cramer 的 V
>>> association(obs4x2, method="cramer") 0.18617813077483678
Tschuprow 的 T
>>> association(obs4x2, method="tschuprow") 0.14146478765062995