如何利用MATLAB的PLS回归功能,利用PLS回归分析提取主成分?

偏最小二乘回归。

[XLOADINGS,yloadings]= pls regresses(x,y,NCOMP)的计算量最少。

使用NCOMP PLS组件或y对y的潜在平方回归。

因子,并返回预测值和响应载荷。x是N乘P

预测变量矩阵,行对应观测值,

列到变量。y是N×M响应矩阵。XLOADINGS是一个

预测器加载的p乘NCOMP矩阵,其中每一行都是XLOADINGS。

包含定义PLS组件线性组合的系数。

接近原始预测变量。YLOADINGS是一个

M-by-NCOMP响应YLOADINGS矩阵,其中每一行YLOADINGS。

包含定义PLS组件线性组合的系数。

接近原始响应变量。

[XLOADINGS,yloadings,xs cores]= pls regresses(X,y,NCOMP)返回。

预测得分,即PLS成分的线性组合。

X. XSCORES中的变量是一个带有行的N乘NCOMP正交矩阵。

对应于观察,列对应于组件。

[XLOADINGS,YLOADINGS,XSCORES,YSCORES] = plsregress(X,Y,NCOMP)

返回响应得分,即线性组合。

PLS组件XSCORES具有最大的协方差响应。

YSCORES是一个N乘NCOMP矩阵,其行对应于观察值,

列到组件。YSCORES既不是正交的,也不是标准化的。

Plsregress使用SIMPLS算法,首先以X和Y为中心。

减去一列意味着在中间得到变量X0和Y0。

但是,它不会重新调整列的大小。至少执行

使用标准化变量进行平方回归,使用ZSCORE标准化x。

y呢

如果省略NCOMP,其默认值为MIN(SIZE(X,1)-1,SIZE(X,2))。

分数、载荷和中心变量X0之间的关系

你是

XLOADINGS =(xs cores \ X0)' = X0 ' * xs cores,

y loadings =(xs cores \ Y0)' = Y0 ' * xs cores,

也就是说,XLOADINGS和yloadings是回归系数X0和X0。

XSCORES上Y0和XSCORES * xloadings '和xs cores * yloadings '是PLS。

近似X0和Y0。Plsregress最初计算的YSCORES为

ys cores = Y0 * YLOADINGS = Y0 * Y0 ' * xs cores,

然而,传统上,plsregress然后正交化每一列

关于上一期XSCORES专栏的YSCORES,像这样

XSCORES的* YSCORES是下面的三角形。

[XL,YL,XS,YS,BETA]= pls gress(X(X,y,NCOMP,...)返回pls回归。

系数β。贝塔是一个有截距的(P+1)乘M矩阵。

第一行中的项,即Y = [ONES(N,1) x] * beta+yresidual,以及

Y0 = X0 * BETA(2:END,)+ Yresiduals .

[XL,YL,XS,YS,BETA,pct var]= pls gress(X,y,NCOMP)得出2乘NCOMP。

矩阵PCTVAR包含由该方法解释的方差百分比。

模型。PCTVAR的第一行包含差异百分比。

每个PLS组件在X中解释,第二行包含

用y解释的差异百分比。

[XL,YL,XS,YS,BETA,PCTVAR,MSE]= pls regresses(X,y,NCOMP)返回。

2乘-(NCOMP+1)矩阵MSE包含估计的均方误差。

含0: ncomp成分的PLS模型。MSE的第一行包含平均值。

x和第二行中预测变量的平方误差

包含y中响应变量的均方误差。

[XL,YL,XS,YS,BETA,PCTVAR,MSE] = plsregress(...,' PARAM1 ',val1,...)允许。

您可以指定要控制的可选参数名称/值对。

计算MSE。这些参数是:

用于计算MSE的“CV”方法。当“CV”为正时

整数k,plsregress使用k重交叉验证。组

CV '到交叉验证分区,使用创建

CVPARTITION,使用其他形式的交叉验证。什么时候?

“CV”是“替换”,plsregress同时使用X和y。

拟合模型并估计均方误差,

没有交叉验证。默认为“替换”。

“MCReps”是一个正整数,表示蒙特卡洛的次数。

重复交叉验证。默认值是1。

如果“CV”是“替换”,“MCReps”必须是1。

“选项”指定如何控制pls进度的结构。

执行交叉验证计算。这个论点可以

通过调用STATSET创建。Plsregress使用以下内容

结构字段:

'使用平行线'

'使用子流'

“流动”

有关这些字段的信息,请参见PARALLELSTATS。

注意:如果提供,“流”的长度必须是1。