association#
- scipy.stats.contingency.association(observed, method='cramer', correction=False, lambda_=None)[源代码]#
计算两个标称变量之间的关联程度。
该函数提供了一个选项,可以从给定在 2d 列联表中的数据中计算两个标称变量之间的三种关联度量之一:Tschuprow's T,Pearson's Contingency Coefficient 和 Cramer's V。
- 参数:
- observedarray-like
观察到的值数组
- method{“cramer”, “tschuprow”, “pearson”} (default = “cramer”)
关联检验统计量。
- correctionbool, 可选
继承自 scipy.stats.contingency.chi2_contingency()
- lambda_float 或 str,可选
继承自 scipy.stats.contingency.chi2_contingency()
- 返回:
- statisticfloat
检验统计量的值
注释
克拉默的 V、楚普罗夫的 T 和皮尔森的列联系数都是衡量两个名义变量或有序变量相关程度或关联水平。这与相关性不同,虽然很多人经常错误地将它们视为等效的。相关性测量两个变量之间的关联方式,关联度则测量变量的关联性程度。因此,关联不包含自变量,而是一个独立性检验。值 1.0 表示完美的关联度,0.0 表示变量没有关联度。
克拉默的 V 和楚普罗夫的 T 都是菲系数的拓展。此外,由于克拉默的 V 和楚普罗夫的 T 之间的密切关系,返回的值通常是相似的甚至相等的。它们可能会随着阵列形状与 2x2 的偏差而产生更大的差异。
引用
[1][2]楚普罗夫,A. A. (1939) 相关数学理论原理;由 M. Kantorowitsch 翻译。W. Hodge & Co.
[3][4]“名义关联:菲系数和克拉默的 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
楚普罗夫的 T
>>> association(obs4x2, method="tschuprow") 0.14146478765062995