我被教导在使用任何算法之前检查相关矩阵。我有几个相同的问题:
Pearson 相关仅适用于数值变量。
如果我们必须检查连续变量和分类变量之间的相关性怎么办?
我读了一些答案,其中 Peter Flom 提到可能存在相关性不显着但两个变量可能是多重共线的情况?
删除变量是唯一的解决方案?
我在一次采访中被问到如果我们要删除一个相关变量,那么这种多重共线性是怎么来的?
因为
pandas.corr()
检查所有变量之间的相关性。多重共线性与相关性有何不同?
我被教导在使用任何算法之前检查相关矩阵。我有几个相同的问题:
Pearson 相关仅适用于数值变量。
如果我们必须检查连续变量和分类变量之间的相关性怎么办?
我读了一些答案,其中 Peter Flom 提到可能存在相关性不显着但两个变量可能是多重共线的情况?
删除变量是唯一的解决方案?
我在一次采访中被问到如果我们要删除一个相关变量,那么这种多重共线性是怎么来的?
因为pandas.corr()
检查所有变量之间的相关性。
多重共线性与相关性有何不同?
我会一一解答你的问题:
如果我们必须检查连续变量和分类变量之间的相关性怎么办?
一种选择是使用点双序列相关。你可以在这里阅读更多。当然,这不是唯一的选择,您可以在此处找到一系列很好的示例。
删除变量是唯一的解决方案?
不,不是,您可以使用降维技术来“总结”多重共线性变量。这就是我通常用来控制多重共线性的方法,我非常喜欢这样来任意删除变量。最常见的技术是主成分分析,但列表真的无穷无尽。如果您喜欢神经网络,可以使用自动编码器。
多重共线性与相关性有何不同?
相关性衡量两个变量之间的关联。这种关联可能非常嘈杂,也可能不是。两个变量可以高度相关,但它们的散点图可以非常“分散”。
相反,多重共线性是一个更强的概念。当两个变量线性相关时就会发生这种情况,因此可以使用一个变量的变化来详细解释另一个变量的变化。这代表了回归的问题,因为变量的微小变化可能会完全破坏参数的估计。并非所有相关变量都会发生这种情况。
当然,两者之间也有一些联系。根据定义,高度多重共线性的两个变量也必须高度相关,但它们并不相同。最重要的是,多重共线性是模型可靠性的问题,而相关性则不是。
Leevo 的回答很好,让我指出一件事:完美的多重共线性意味着一个变量是另一个变量的线性组合。说你有和, 在哪里. 这会导致本文中讨论的各种问题。
主要的收获(简单地说)是,和基本上携带相同的信息(只是“缩放”如果是)。因此,两者都包含没有任何好处。事实上,将两者都包括在内是有问题的,因为多重共线性会“混淆”模型,因为没有独特的效果,当联合考虑时,在某些结果上.
看下面的情况(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"))
之间的相关性和等于 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
现在你可以看到系数 简直就是 因为 是 . 所以没有什么可以学习的,包括两者, 因为没有额外的信息。
如果两者之间的相关性基本上会发生相同的问题 真的很高。在这篇文章中查看更多讨论。因此,鉴于强相关性,应谨慎包括这两个变量。原因是在这种情况下,您的模型无法真正区分和 在某些结果上 ,因此您最终可能会得到较弱的预测(以及其他问题)。
Pearson 相关仅适用于数值变量。
答:没有
如果我们必须检查连续变量和分类变量之间的相关性怎么办?皮尔逊 r 系数。
我读了一些答案,其中 Peter Flom 提到可能存在相关性不显着但两个变量可能是多重共线的情况?
答:彼得是对的。
删除变量是唯一的解决方案?
不,这取决于您的问题和具体目标。