偏最小二乘回归(partial least squares regression, 也称PLS)是一个 与主成分分析回归(principal components regression)有关系的统计方法。不是找到自变量和因变量之间的最大方差的超平面,而是找到一个能将预测变量和可观测变量投影到新空间的线性回归模型 (wikipedia, 2020)
先从Penalised Loss说起
Penalised Loss = Original loss + Penalty
Original loss = MSE
Panelty = λ\lambdaλ * //β\betaβ//
lamda变大–>panelty变大–> penalised loss变大–>Original loss变小–>容易overfit
经典的penalize loss图

这图的目的是求出使Penalty loss最小的beta
左边的是lasso penalty= //β1//+//β2////\beta_1// + //\beta_2////β1//+//β2// 所以中间图像为方形
右边的是ridge penalty= //β1//2+//β2//2//\beta_1//^2+ //\beta_2//^2//β1//2+//β2//2 所以中间图像为圆形
中间实心区域为指定λ\lambdaλ时的penalty,面积越大,penalty越小。
红色圈为MSE,中间的点为MSE最小时β1\beta_1β1,β2\beta_2β2的值,同一个圈上MSE值相同。
calibration即为调参,指在该λ\lambdaλ下的opt(MSE)_{opt}(MSE)opt(MSE)。
由此,最优penalize loss时β\betaβ的取值即为红色圈与蓝色区域相交的部分。因为这是constrianed penalize,所以不能超过蓝色区域。
此图为二维,用于确定只有两个β\betaβ时的penalize loss。如果有多个β\betaβ,图可以为高维。
PLS和linear regression对比
两者penality loss公式相同,但是y^=f(xˉ)\hat{y}=f(\bar{x})y^=f(xˉ)的function不同,output不同。
linear regression:
xˉ=[123]\bar x = \begin{bmatrix}1&2&3 \end{bmatrix}xˉ=[123]
β=[012]\beta =\begin{bmatrix} 0\\1\\2 \end{bmatrix}β=⎣⎡012⎦⎤
y^=[123]∗[012]=2+6=8\hat{y} = \begin{bmatrix}1&2&3 \end{bmatrix} *\begin{bmatrix} 0\\1\\2 \end{bmatrix} = 2+6 = 8y^=[123]∗⎣⎡012⎦⎤=2+6=8
而PLS的output是一个matrix
xˉ=[2584123−26]3∗3\bar x = \begin{bmatrix} 2&5&8\\4&1&2\\3&-2&6\end{bmatrix} _{3*3}xˉ=⎣⎡24351−2826⎦⎤3∗3
yˉ=[510(−2)962]3∗2\bar y = \begin{bmatrix} 5&10\\(-2)&9\\6&2 \end{bmatrix} _{3*2}yˉ=⎣⎡5(−2)61092⎦⎤3∗2
PLS: find a coefficient matrix for xˉ\bar xxˉ to get best predict yˉ\bar yyˉ
X * β\betaβ = Y
β=[(−2)34301]3∗2\beta = \begin{bmatrix} (-2)&3\\4&3\\0&1 \end{bmatrix} _{3*2}β=⎣⎡(−2)40331⎦⎤3∗2
sPLS和sgPLS对比
penalize loss= original loss = λ∗(0.32+0.32+0.42)\lambda * (0.3^2 + 0.3^2+0.4^2)λ∗(0.32+0.32+0.42)
λ\lambdaλ calibration
λ\lambdaλ变大,选的人多
λ\lambdaλ变小,选的人少
比如lasso 是λ\lambdaλ值在0.01-0.99都试一遍,对于每个λ\lambdaλ都算coefficient
omics data就直接算include多少个x
在R中,只关注新增一个人时loss的值
λ\lambdaλ变大,penalty变大,选的人变少,容易overfit。λ\lambdaλ决定要多大penalty
假设有两组人
组1: A B C
组2: D E F
sgPLS = OrignialLinear+λ//β//Orignial Linear + \lambda//\beta//OrignialLinear+λ//β//
sPLS = OrignialLinear+λ1//β//+λ2//组数//Orignial Linear + \lambda1//\beta// + \lambda2//组数//OrignialLinear+λ1//β//+λ2//组数//

这张是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
本文深入探讨了sPLS和sgPLS方法,对比了它们与经典penalised loss、PLS及线性回归的关系。在大数据背景下,通过λ校准来调整模型复杂度,防止过拟合。sPLS和sgPLS的差异在于sparsity参数的处理,影响特征选择的数量。通过对不同λ值的分析,展示了如何在实际操作中确定最佳模型参数。

5802

被折叠的 条评论
为什么被折叠?



