plsr matlab,matlab中的偏最小二乘回归(PLSR)和主成分回归(PCR)

pls可以选择通过交叉验证来估计均方预测误差(MSEP),在这种情况下使用10倍CV。

R

1

[X1,Y1,Xs,Ys,β,pctVar,PLSmsep]=plsregress(X,y,10,'CV',10);

对于PCR,crossval结合用于计算PCR的平方误差之和,可以再次使用10倍交叉验证来估计MSEP。

R

1

PCRmsep=sum(crossval(@pcrsse,X,y,'KFold',10),1)/n;

PLSR的MSEP曲线表明两个或三个成分好。另一方面,PCR需要四个成分才能获得相同的预测精度。

plsr matlab,matlab中的偏最小二乘回归(PLSR)和主成分回归(PCR)_第1张图片

事实上,PCR中的第二个成分会增加模型的预测误差,这表明该成分中包含的预测变量的组合与其没有很强的相关性y。再次,这是因为PCR构建成分来解释X,而不是y。

模型简约

因此,如果PCR需要四个成分来获得与具有三个成分的PLSR相同的预测精度,那么PLSR模型是否更加简约?这取决于您考虑的模型的哪个方面。

PLS权重是定义PLS分量的原始变量的线性组合,即,它们描述了PLSR中的每个分量依赖于原始变量的权重。

plsr matlab,matlab中的偏最小二乘回归(PLSR)和主成分回归(PCR)_第2张图片

类似地,PCA载荷描述了PCR中每个成分依赖于原始变量的强度。

plsr matlab,matlab中的偏最小二乘回归(PLSR)和主成分回归(PCR)_第3张图片

对于PLSR或PCR,可以通过检查每个成分最重要的变量来为每个成分提供有意义的解释。例如,利用这些光谱数据,可以根据汽油中存在的化合物解释强度峰值,然后观察特定成分的权重挑选出少量这些化合物。从这个角度来看,更少的成分更易于解释,并且由于PLSR通常需要更少的成分来充分预测因变量,因此会导致更简约的模型。

另一方面,PLSR和PCR都导致每个原始预测变量的一个回归系数加上截距。从这个意义上讲,两者都不是更简约,因为无论使用多少成分,两种模型都依赖于所有预测变量。更具体地,对于这些数据,两个模型都需要401个光谱强度值以进行预测。

然而,最终目标可能是将原始变量集减少到仍然能够准确预测因变量的较小子集。例如,可以使用PLS权重或PCA载荷来仅选择对每个成分贡献最大的那些变量。如前所示,来自PCR模型拟合的一些成分可主要用于描述预测变量的变化,并且可包括与因变量不强相关的变量的权重。因此,PCR会导致保留预测不必要的变量。

对于本例中使用的数据,PLSR和PCR所需的成分数量之间的差异不是很大,PLS权重和PCA载荷选择了相同的变量。其他数据可能并非如此。

你可能感兴趣的:(plsr,matlab)