为了分析数值特征,我们有相关性。我们必须采取哪些措施来分析分类特征与目标值的相关性?如果没有直接的措施,我们怎么能做到这一点?
卡方检验是已知的,但我找不到分类值的任何实现。另一种方法是将编码标记为数值,但这会将某些优先级分配给更高值的标签。
为了分析数值特征,我们有相关性。我们必须采取哪些措施来分析分类特征与目标值的相关性?如果没有直接的措施,我们怎么能做到这一点?
卡方检验是已知的,但我找不到分类值的任何实现。另一种方法是将编码标记为数值,但这会将某些优先级分配给更高值的标签。
检查两个分类变量是否独立可以通过卡方独立性检验来完成,我们对此进行假设检验。假设 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 值为 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
所以我们可以说肥胖与婚姻状况之间存在弱正相关。
我希望我的解释很清楚。