如果几乎总是减少解释的变化,为什么要使用降维?

机器算法验证 机器学习 多重共线性
2022-02-03 04:28:17

假设我的回归模型中有个协变量,它们解释了目标集 95% 的变化,即如果这些协变量之间存在多重共线性,则执行 PCA 以降低维数。如果主成分可以解释,比如 80% 的变化(而不是 95%),那么我的模型的准确性就会受到一些损失。Nr2=0.95

实际上,如果 PCA 以准确性为代价解决了多重共线性问题,除了它可以加速模型训练并将共线性协变量减少为统计上独立且稳健的变量之外,它还有什么好处?

4个回答

您的问题隐含地假设减少解释的变化必然是一件坏事。回想一下,定义为: 其中是残差平方和,是总平方和。您可以通过拟合一条穿过所有(训练)点的线轻松获得(即 )(尽管这通常需要更灵活的模型而不是简单的线性模型回归,正如 Eric 所指出的),这是过拟合的一个完美例子R2

R2=1SSresSStot
SSres=i(yiy^)2SStot=i(yiy¯)2R2=1SSres=0. 因此,减少解释的变化并不一定是坏事,因为它可以在看不见的(测试)数据上带来更好的性能。如果有理由相信数据集具有内在的低维结构,PCA 可能是一种很好的预处理技术。

在您的问题中,有一个关于回归量是线性的隐含假设。
如果它是线性的,则您的断言是正确的。

但是对于非线性回归器,您可能会将降维步骤视为特征提取。
在这种情况下,它对于获得良好的结果具有非常重要的作用。
它可能会减少噪音,它可能有助于学习,等等......

如果主成分可以解释,比如说 80% 的变化(而不是 95%),那么我的模型的准确性就会受到一些损失。

执行 PCA 不会降低模型的准确性。当你使用所有的主要成分时,也应该解释 95%。正是降维减少了解释的变化。

所以这是一个模型选择和寻找具有较少参数的模型的问题。PCA 的作用是通过重新定义参数空间来进行模型选择,以便找到能够解释大量变化的少量组件。

数据缩减(无监督学习)并不总是因为希望获得出色的性能而使用,而是出于必要。当一个人有“太多的变量太少的观察”问题时,主要的替代方法是惩罚最大似然估计(岭回归、套索、弹性网等)或数据缩减。作为附带好处的数据缩减可以很好地处理共线性,可以更易于解释,并且可以在任何预测环境中工作。恕我直言,数据缩减比变量选择更受欢迎,因为在大多数问题中,变量选择会产生过于随机/不稳定的结果。数据缩减的精神是:估计可用样本量可以支持的模型复杂性。

当使用变量聚类或稀疏主成分时,一个代表带有分数的变量组。有时可以删除整个组。这个过程不会被共线性扭曲。