如何获得两个分类变量与一个分类变量和连续变量之间的相关性?

数据挖掘 r 统计数据 相关性
2022-03-02 12:48:47

我正在建立一个回归模型,我需要计算以下内容以检查相关性

  1. 2个多级分类变量之间的相关性
  2. 多级分类变量与连续变量之间的相关性
  3. 多级分类变量的 VIF(方差膨胀因子)

我认为在上述情况下使用 Pearson 相关系数是错误的,因为 Pearson 仅适用于 2 个连续变量。

请回答以下问题

  1. 哪种相关系数最适合上述情况?
  2. VIF 计算仅适用于连续数据,那么有什么替代方法?
  3. 在使用您建议的相关系数之前,我需要检查哪些假设?
  4. 如何在 SAS & R 中实现它们?
1个回答

两个分类变量

检查两个分类变量是否独立可以使用卡方独立性检验来完成。

这是一个典型的卡方检验:如果我们假设两个变量是独立的,那么这些变量的列联表的值应该是均匀分布的。然后我们检查实际值与统一的距离有多远。

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

例子

假设我们有两个变量

  • 性别:男性和女性
  • 城市:布卢瓦和图尔

我们观察到以下数据:

观察值

性别和城市是独立的吗?让我们执行一个卡方检验。零假设:它们是独立的,替代假设是它们以某种方式相关。

在零假设下,我们假设均匀分布。所以我们的期望值如下

期望值

所以我们运行卡方检验,这里得到的 p 值可以看作是这两个变量之间相关性的度量。

为了计算 Crammer 的 V,我们首先找到归一化因子 chi-squared-max,它通常是样本的大小,将卡方除以它并取平方根

填鸭式 v

R

tbl = matrix(data=c(55, 45, 20, 30), nrow=2, ncol=2, byrow=T)
dimnames(tbl) = list(City=c('B', 'T'), Gender=c('M', 'F'))

chi2 = chisq.test(tbl, correct=F)
c(chi2$statistic, chi2$p.value)

这里的 p 值为 0.08 - 非常小,但仍不足以拒绝独立性假设。所以我们可以说这里的“相关性”是 0.08

我们还计算 V:

sqrt(chi2$statistic / sum(tbl))

并得到 0.14(v 越小,相关性越低)

考虑另一个数据集

    Gender
City  M  F
   B 51 49
   T 24 26

为此,它将给出以下内容

tbl = matrix(data=c(51, 49, 24, 26), nrow=2, ncol=2, byrow=T)
dimnames(tbl) = list(City=c('B', 'T'), Gender=c('M', 'F'))

chi2 = chisq.test(tbl, correct=F)
c(chi2$statistic, chi2$p.value)

sqrt(chi2$statistic / sum(tbl))

p 值为 0.72,更接近 1,v 为 0.03 - 非常接近 0

分类变量与数值变量

对于这种类型,我们通常执行单向方差分析测试:我们计算组内方差和组内方差,然后进行比较。

例子

我们想研究从甜甜圈中吸收的脂肪与用于制作甜甜圈的脂肪类型之间的关系(示例取自此处

甜甜圈

变量之间是否存在依赖关系?为此,我们进行 ANOVA 测试,发现 p 值仅为 0.007 - 这些变量之间没有相关性。

R

t1 = c(164, 172, 168, 177, 156, 195)
t2 = c(178, 191, 197, 182, 185, 177)
t3 = c(175, 193, 178, 171, 163, 176)
t4 = c(155, 166, 149, 164, 170, 168)

val = c(t1, t2, t3, t4)
fac = gl(n=4, k=6, labels=c('type1', 'type2', 'type3', 'type4'))

aov1 = aov(val ~ fac)
summary(aov1)

输出是

            Df Sum Sq Mean Sq F value  Pr(>F)   
fac          3   1636   545.5   5.406 0.00688 **
Residuals   20   2018   100.9                   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

因此,我们也可以在这里将 p 值作为相关性的度量。

参考