目录
主成分分析(Principle Component Analysis, PCA)方法
偏最小二乘法(Partial Least Squares, PLS)
概念理解
降维:
比如现在有100维的变量来表征一个东西,我们觉得太冗余复杂了,想降低到10维。但是我们没有确定的筛选依据,直接使用数学工具来实现降维,就好像丢进了一个黑箱,经过抽象、提炼,得到了新的10维特征,这新的10维特征可能失去了物理意义,我们也不知道它们具体是怎么来的,表征什么,但是确实是可以用它们表征这个东西,而且是经过了原先100维特征的信息的融合、取舍过程。它的过程是比较高级的。
特征选择:
选择出100维特征里面最重要的10个特征,这个筛选过程是有依据的。比如苹果有很多特征, 大小,形状,颜色,味道,生长季节,……。我们选择:颜色红、味道甜等几个非常明显的重要的特征出来就足以表示苹果了。当然,颜色和味道可能也有一定的耦合关系,生成地点、时间也有耦合关系,如果懒得管特征之间的耦合关系,直接丢进降维的黑箱中,也可以得到新的几个降维后的特征,但我们可能就说不出这个特征的含义了,只是一些数据信息而已了。
降维的方法
主成分分析(Principle Component Analysis, PCA)方法
推导过程详见:《主成分分析(PCA)的线性代数推导过程》。
主成分回归分析PLR = 主成分分析 + 多元线性回归分析,利用提取出来的主成分来做回归模型。
偏最小二乘法(Partial Least Squares, PLS)
解决了PCA中不足的地方。
• PCA方法提取出的前若干个主成分携带了原输入变量矩阵的大部分信息,消除了相互重叠部分的信息。但没有考虑主成分对输出变量的解释能力,方差贡献率很小但对输出变量有很强解释能力的主成分将会被忽略掉,这无疑会对校正模型的性能产生一定的影响。偏最小二乘法(PLS)可以很好地解决这个问题。
• PLS的基本思路是逐步回归,逐步分解输入变量矩阵和输出变量矩阵,并综合考虑提取的主成分对输入变量矩阵和输出变量矩阵的解释能力,直到满足性能要求为止。
设标准化的输入变量矩阵和输出变量矩阵分别为:
MATLAB实现
重点函数解读:
• princomp 提取主成分 高级的MATLAB版本使用pca替换了 请查阅matlab文档
COEFF = princomp(X) performs principal components analysis (PCA) on the n-by-p data mat