我可以使用哪些措施来查找分类特征和二元标签之间的相关性?

数据挖掘 特征选择 相关性
2021-10-06 03:26:54

为了分析数值特征,我们有相关性。我们必须采取哪些措施来分析分类特征与目标值的相关性?如果没有直接的措施,我们怎么能做到这一点?

卡方检验是已知的,但我找不到分类值的任何实现。另一种方法是将编码标记为数值,但这会将某些优先级分配给更高值的标签。

1个回答

检查两个分类变量是否独立可以通过卡方独立性检验来完成,我们对此进行假设检验。假设 A 和 B 是两个分类变量,那么我们的假设是:

H0:A和B是独立的

HA:A 和 B 不是独立的

我们创建一个列联,计算两个变量的结果组合,如果原假设(H0)是正确的,那么这些变量的列联表的值应该均匀分布。然后我们检查实际值与统一的距离有多远。

例如 假设我们在数据集中有两个变量

  • 肥胖:肥胖,不肥胖
  • 婚姻状况:已婚、同居、约会

我们观察以下数据: 单元格 (i,j) 的 Oij 是给定数据中观察到的计数

             |    dating   |   married    |  cohabiting  |  Total       |
  -----------|------------:|:------------:|:------------:|:------------:|
  Obese      |      81     |     147      |   103        |   331        | 
  Not obese  |      359    |     277      |   326        |   962        |
  Total      |      440    |     424      |   429        |   1293       |  

预期计数计算,即如果 H0 为真,则预期计数。

单元格 (i,j) 的 Eij = 第 j 行总计 * 第 i 列总计 / 表格总计

             |    dating   |   married    |  cohabiting  |
  -----------|------------:|:------------:|:------------:|
  Obese      |      113    |     109      |   110        | 
  Not obese  |      327    |     316      |   319        |

X2-statistics 计算统计

假设独立,我们期望单元格中的值均匀分布,由于采样变异性具有小的偏差,因此我们计算 H0 下的期望值并检查观察值与它们的距离。

我们为此使用标准化的平方差,并计算在 H0 下遵循 χ2 分布且 df=(n−1)⋅(m−1) 的卡方统计量,其中 n 和 m 分别是第一个和第二个变量中的类别数.

χ2=ij(OijEij)2Eij

χ2 值为 30.829

我们可以使用 R 找到 p 值

tbl = matrix(data=c(81, 147, 103, 359, 277, 326), nrow=2, ncol=3, byrow=T)
dimnames(tbl) = list(Obesity=c('Obese', 'Not obese'), Marital_status=c('Dating', 'Married','Cohabiting'))
chi_res = chisq.test(tbl)
chi_res
        Pearson's Chi-squared test
data:  tbl
X-squared = 30.829, df = 2, p-value = 2.021e-07

由于 p 值 < 0.05,我们拒绝原假设,我们可以得出结论,肥胖和婚姻状况是相互依赖的。

还存在一个Crammer's V,它是从该测试得出的相关性度量。

将值放入公式中,R 代码

sqrt(chisq.test(tbl)$statistic / (sum(tbl) * min(dim(tbl) - 1 )))

0.1544

所以我们可以说肥胖与婚姻状况之间存在弱正相关。

我希望我的解释很清楚。