相关性与多重共线性

数据挖掘 机器学习 线性回归 相关性 共线性
2021-10-07 17:57:55

我被教导在使用任何算法之前检查相关矩阵。我有几个相同的问题:

  1. Pearson 相关仅适用于数值变量。

    如果我们必须检查连续变量和分类变量之间的相关性怎么办?

  2. 我读了一些答案,其中 Peter Flom 提到可能存在相关性不显着但两个变量可能是多重共线的情况?

  3. 删除变量是唯一的解决方案?

    我在一次采访中被问到如果我们要删除一个相关变量,那么这种多重共线性是怎么来的?

    因为pandas.corr()检查所有变量之间的相关性。

  4. 多重共线性与相关性有何不同?

3个回答

我会一一解答你的问题:

如果我们必须检查连续变量和分类变量之间的相关性怎么办?

一种选择是使用点双序列相关你可以在这里阅读更多当然,这不是唯一的选择,您可以在此处找到一系列很好的示例


删除变量是唯一的解决方案?

不,不是,您可以使用降维技术来“总结”多重共线性变量。这就是我通常用来控制多重共线性的方法,我非常喜欢这样来任意删除变量。最常见的技术是主成分分析,但列表真的无穷无尽。如果您喜欢神经网络,可以使用自动编码器。


多重共线性与相关性有何不同?

相关性衡量两个变量之间的关联。这种关联可能非常嘈杂,也可能不是。两个变量可以高度相关,但它们的散点图可以非常“分散”。

相反,多重共线性是一个更强的概念。当两个变量线性相关时就会发生这种情况,因此可以使用一个变量的变化来详细解释另一个变量的变化。这代表了回归的问题,因为变量的微小变化可能会完全破坏参数的估计。并非所有相关变量都会发生这种情况。

当然,两者之间也有一些联系。根据定义,高度多重共线性的两个变量也必须高度相关,但它们并不相同。最重要的是,多重共线性是模型可靠性的问题,而相关性则不是。

Leevo 的回答很好,让我指出一件事:完美的多重共线性意味着一个变量是另一个变量的线性组合说你有X1X2, 在哪里X2=γX1. 这会导致本文中讨论的各种问题

主要的收获(简单地说)是,X1X2基本上携带相同的信息(只是“缩放”γ如果是X1)。因此,两者都包含没有任何好处。事实上,将两者都包括在内是有问题的,因为多重共线性会“混淆”模型,因为没有独特的效果X1,X2,当联合考虑时,在某些结果上是的.

看下面的情况(R代码):

y = c(5,2,9,10)
x1 = c(2,4,6,8)                           ### = 2   * x2
x2 = c(1,2,3,4)                           ### = 0.5 * x1
cor(x1, x2, method = c("pearson"))

之间的相关性X1X2等于 1(当然是线性组合)。现在,当我尝试进行简单的线性 OLS 回归时:

lm(y~x1+x2)

结果是:

Coefficients:
(Intercept)           x1           x2  
        1.0          1.1           NA

第二项已被删除R(由于完美的多重共线性)。

我们可以分别对每个术语进行回归:

Call:
lm(formula = y ~ x1)

Coefficients:
(Intercept)           x1  
        1.0          1.1 

...和...

Call:
lm(formula = y ~ x2)

Coefficients:
(Intercept)           x2  
        1.0          2.2 

现在你可以看到系数 β2 简直就是 2β1 因为 X12X2. 所以没有什么可以学习的,包括两者,X1,X2 因为没有额外的信息。

如果两者之间的相关性基本上会发生相同的问题 X1,X2真的很高。在这篇文章中查看更多讨论因此,鉴于强相关性,应谨慎包括这两个变量。原因是在这种情况下,您的模型无法真正区分X1X2 在某些结果上 是的,因此您最终可能会得到较弱的预测(以及其他问题)。

Pearson 相关仅适用于数值变量。

答:没有

如果我们必须检查连续变量和分类变量之间的相关性怎么办?皮尔逊 r 系数。

我读了一些答案,其中 Peter Flom 提到可能存在相关性不显着但两个变量可能是多重共线的情况?

答:彼得是对的。

删除变量是唯一的解决方案?

不,这取决于您的问题和具体目标。