《Python数据分析与数据化运营 第2版》读书笔记
一、是否需要降维的判断依据
- 数据维度:如果数据维度很高,或者数据维度不高但是存在共线性等情况,则可以考虑降维;
- 对模型的计算效率与建模时效性有要求:如果对时效性要求很高,降维能够显著提升时效性,考虑降维;
- 是否要保留完整数据特征:如果需要保留完整的数据特征,降维会有信息损失,不考虑降维
二、基于特征选择的降维
基于特征选择的降维指的是根据一定规则和经验,直接选取原有维度的一部分参与后续的计算和建模过程,用选择的维度代替所有维度,整个过程不产生新的维度。具体方法包括经验法、测算法、基于统计分析的方法和机器学习方法。
三、基于特征转换的降维
基于特征转换的降维是按照一定的数学变换方法,把给定的一组相关变量(特征)通过数学模型将高维空间的数据点映射到低维度空间中,然后利用映射后变量的特征来表示原有变量的总体特征。这种方式是一种产生新维度的过程,转换后的维度并非原有维度的本体,而是其综合多个维度转换或映射后的表达式。
常用的代表算法包括主成分分析(PCA)、因子分析(FactorAnalysis, FA)、线性判别分析(LDA,也叫Fisher线性判别FLD)、独立成分分析(ICA)、局部线性嵌入(LLE)、核主成分分析(Kernel PCA)等。
- 主成分分析(PCA)
主成分分析的基本方法是按照一定的数学变换方法,把给定的一组相关变量(维度)通过线性变换转成另一组不相关的变量,这些新的变量按照方差依次递减的顺序排列。在数学变换中保持变量的总方差不变,使第1变量具有最大的方差,称为第1主成分,第2变量的方差次大,并且和第1变量不相关,称为第2主成分。依次类推,I个变量就有I个主成分。
PCA主要适用的应用场景如下:
❑ 非监督式类型的数据集。它是一种非监督式的降维方法,因此适用于不带有标签的数据集;而对于带有标签的数据集则可以采用LDA。
❑ 根据方差自主控制特征数量。最大的主成分的数量≤特征的数量,这意味着,PCA也可以输出数量完全相同的特征,具体取决于选择特征中解释的方差比例。
❑ 更少的正则化处理。选择较多的主成分将导致较少的平滑,因为我们将能够保留更多的数据特征,从而减少正则化。
❑ 数据量较大的数据集。数据量大包括数据记录多和数据维度多两种情况,PCA对大型数据集的处理效率较高。
❑ 数据分布是位于相同平面上(非曲面),数据中存在线性结构。
- 因子分析(FA)
因子分析(Factor Analysis)是指研究从变量群中提取共性因子的统计技术,这里的共性因子指的是不同变量之间内在的隐藏因子。因子分析的过程其实是寻找共性因子和个性因子并得到最优解释的过程。
- 线性判别式分析(LDA)
判别分析(Discriminant Analysis)是一种分类方法,它通过一个已知类别的“训练样本”来建立判别准则,并通过预测变量来为未知类别的数据进行分类。线性判别式分析(LinearDiscriminant Analysis,简称为LDA)是其中一种,基本思想是将高维的模式样本投影到最佳鉴别矢量空间,以达到抽取分类信息和压缩特征空间维数的效果。投影后保证模式样本在新的子空间有最大的类间距离和最小的类内距离,即模式在该空间中有最佳的可分离性。
PCA与LDA相比有以下不同:
❑ 出发思想不同:PCA主要是从特征的协方差角度,去找到比较好的投影方式,即选择样本点投影具有最大方差的方向;而LDA则更多地考虑了分类标签信息,寻求投影后不同类别之间数据点距离更大化以及同一类别数据点距离最小化,即选择分类性能最好的方向。
❑ 学习模式不同:PCA属于无监督式学习,因此大多场景下只作为数据处理过程的一部分,需要与其他算法结合使用,例如与聚类、判别分析、回归分析等组合使用;LDA是一种监督式学习方法,本身除了可以降维外,还可以进行预测应用,因此既可以组合其他模型一起使用,也可以独立使用。
❑ 降维后可用维度数量不同:LDA降维后最多可生成C-1维子空间(分类标签数-1),因此LDA与原始维度数量无关,只有数据标签分类数量有关;而PCA最多有n维度可用,即最大可以选择全部可用维度。
-
独立成分分析(ICA)
传统的降维方法,包括PCA、LDA等都是以观测数据点呈高斯分布模型为基本假设前提的,在已经先验经验知道观测数据集为非高斯分布模型的前提下,PCA和LDA的降维效果并不好。而ICA将适用于非高斯分析数据集,它是主成分分析(PCA)和因子分析(Factor Analysis)的一种有效扩展。
独立成分分析(Independent Component Analysis,简称ICA)是一种利用统计原理进行计算的方法,它是一个线性变换,这个变换把数据或信号分离成统计独立的非高斯的信号源的线性组合。
独立成分分析的最重要的假设就是信号源统计独立,并且这个假设在大多数盲信号分离(blindsignal separation)的情况中符合实际情况;即使当该假设不满足时,仍然可以用独立成分分析来把观察信号统计独立化,从而进一步分析数据的特性。
四、基于特征组合的降维
基于特征的组合降维,实际上是将输入特征与目标预测变量做拟合的过程,它将输入特征经过运算,并得出能对目标变量做出很好解释(预测性)的复合特征,这些特征不是原有的单一特征,而是经过组合和变换后的新特征。从这一点来讲,原理类似于特征转换,更准确地来讲是类似于特征转换中的LDA(有监督式的机器学习)。
特征的组合方法有以下多种形式:
❑ 基于单一特征离散化后的组合:这种方式下先将连续型特征离散化,然后基于离散化后的特征组合成新的特征。常见的RFM模型就是其中一种,这种方式先将R、F、M分别离散化,然后做加权或直接组合,生成新的RFM等分。
❑ 基于单一特征的运算后的组合:这种方式下,对单一列基于不同条件下获得的数据记录做求和、均值、最大值、最小值、中位数、分位数、标准差、偏度、峰度等计算,从而获得新的特征。
❑ 基于多个特征的运算后的组合:这种方式下,将对多个单一特征直接做复合计算,而计算一般都是基于数值型特征的,常见方式包括加、减、乘、除、取余、对数、正弦、余弦等操作,从而形成新的特征。
❑ 基于模型的特征最优组合:这种方式下,特征间的组合将不再是简单的数学运算,而是基于输入特征与目标变量,在特定的优化函数的前提下做模型迭代计算,以达到满足模型最优的解。常见的方式包括:基于多项式的特征组合、基于GBDT的特征组合、基于基因工程的特征组合。