偏最小二乘回归(partial least squares regression, 也称PLS)是一个 与主成分分析回归(principal components regression)有关系的统计方法。不是找到自变量和因变量之间的最大方差的超平面,而是找到一个能将预测变量和可观测变量投影到新空间的线性回归模型 (wikipedia, 2020)
先从Penalised Loss说起
Penalised Loss = Original loss + Penalty
Original loss = MSE
Panelty = * ////
lamda变大–>panelty变大–> penalised loss变大–>Original loss变小–>容易overfit
经典的penalize loss图
这图的目的是求出使Penalty loss最小的beta
左边的是lasso penalty= 所以中间图像为方形
右边的是ridge penalty= 所以中间图像为圆形
中间实心区域为指定时的penalty,面积越大,penalty越小。
红色圈为MSE,中间的点为MSE最小时,的值,同一个圈上MSE值相同。
calibration即为调参,指在该下的。
由此,最优penalize loss时的取值即为红色圈与蓝色区域相交的部分。因为这是constrianed penalize,所以不能超过蓝色区域。
此图为二维,用于确定只有两个时的penalize loss。如果有多个,图可以为高维。
PLS和linear regression对比
两者penality loss公式相同,但是的function不同,output不同。
linear regression:
而PLS的output是一个matrix
PLS: find a coefficient matrix for to get best predict
X * = Y
sPLS和sgPLS对比
penalize loss= original loss =
calibration
变大,选的人多
变小,选的人少
比如lasso 是值在0.01-0.99都试一遍,对于每个都算coefficient
omics data就直接算include多少个x
在R中,只关注新增一个人时loss的值
变大,penalty变大,选的人变少,容易overfit。决定要多大penalty
假设有两组人
组1: A B C
组2: D E F
sgPLS =
sPLS =
这张是calibrate后的splsda的图。如图,最小的misclassification最优选取数应为19。
这张是calibrate后的sgPLSDA的图。如图,最小misclassification应为选两个组,sparsity parameter是0.9的时候。
在实际操作中,即使sgPLS选出的最优组合是同一组的AB,但如果你知道最优应来自两个组,也可以选择来自不同的结果AE
参考阅读:
- Ridge and Lasso Regression: L1 and L2 Regularization。 https://towardsdatascience.com/ridge-and-lasso-regression-a-complete-guide-with-python-scikit-learn-e20e34bcbf0b
- Regularization: Ridge, Lasso and Elastic Net. https://www.datacamp.com/community/tutorials/tutorial-ridge-lasso-elastic-net