在数据科学领域,随着数据维度的增加,数据集的复杂性迅速增加,这不仅增加了计算时间,影响了模型关系的探索,模型评分,还增加了数据集的冗余。为了解决这些问题,变量聚类算法应运而生。该算法旨在在聚类内部找到尽可能相关的变量组,而在不同聚类之间尽可能不相关。本文将通过三个步骤来理解变量聚类:主成分分析(PCA)、特征值和公共性、1-R平方比率。最后,将使用SAS和Python在高维数据空间中实现变量聚类。
主成分分析是算法的核心。假设有10个变量,它们之间的相关性如下所示。将为第一个主成分或因子创建一个系数。主成分是预测变量的加权线性组合,计算方法如下:
第一主成分 = 列总和 / sqrt(行总和)
接下来,通过将表7的值转换为表2(R)的值来获得残差系数矩阵(R1)。然后,将在该残差矩阵上执行相同的计算以获得第二个PC2。相同的过程将适用于所有因子/PCs。由于有10个变量,因此将计算10个PCs。到目前为止,得到了PCs的系数,如下表所示:
表12表示因子载荷,即每个PCs和变量之间的相关性。如果简单地平方这些值,将得到R2,如下所示:
可以使用表13来计算不同的度量。特征值:每个PC解释所有变量的方差(每个PC的列总和)。公共性:所有PC解释单个变量的方差(行总和)。它总是总和为1,因为100%的方差由所有PC解释单个变量。理想情况下,前几个PC(例如,本例中的前两个PC)将被保留,因为它们解释了数据中大部分的变化。这个减少的PC集合将被用来创建分数,这些分数将被用来代替原始的10个变量。
问题是应该从每个聚类中选择哪个变量?应该选择与自己的聚类有最高相关性且与其他聚类有低相关性的变量。因此,具有最低1-R2比率的变量可以作为聚类的一个很好的代表,该变量将被使用,而该聚类中的其他变量将被丢弃。这就是如何实现降维。