浅谈sPLS和sgPLS

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

偏最小二乘回归(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)optMSE
由此,最优penalize loss时β\betaβ的取值即为红色圈与蓝色区域相交的部分。因为这是constrianed penalize,所以不能超过蓝色区域。
此图为二维,用于确定只有两个β\betaβ时的penalize loss。如果有多个β\betaβ,图可以为高维。

PLS和linear regression对比

两者penality loss公式相同,但是y^=f(xˉ)\hat{y}=f(\bar{x})y^=fxˉ)的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ˉ=24351282633
yˉ=[510(−2)962]3∗2\bar y = \begin{bmatrix} 5&10\\(-2)&9\\6&2 \end{bmatrix} _{3*2}yˉ=5(2)6109232
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)4033132

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////
sPLS
这张是calibrate后的splsda的图。如图,最小的misclassification最优选取数应为19。

在这里插入图片描述
这张是calibrate后的sgPLSDA的图。如图,最小misclassification应为选两个组,sparsity parameter是0.9的时候。

在实际操作中,即使sgPLS选出的最优组合是同一组的AB,但如果你知道最优应来自两个组,也可以选择来自不同的结果AE

参考阅读:

  1. Ridge and Lasso Regression: L1 and L2 Regularization。 https://towardsdatascience.com/ridge-and-lasso-regression-a-complete-guide-with-python-scikit-learn-e20e34bcbf0b
  2. Regularization: Ridge, Lasso and Elastic Net. https://www.datacamp.com/community/tutorials/tutorial-ridge-lasso-elastic-net
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值