偏最小二乘法回归建模案例Word下载.doc

上传人:b****9 文档编号:13008060 上传时间:2022-10-02 格式:DOC 页数:21 大小:1.53MB
下载 相关 举报
偏最小二乘法回归建模案例Word下载.doc_第1页
第1页 / 共21页
偏最小二乘法回归建模案例Word下载.doc_第2页
第2页 / 共21页
偏最小二乘法回归建模案例Word下载.doc_第3页
第3页 / 共21页
偏最小二乘法回归建模案例Word下载.doc_第4页
第4页 / 共21页
偏最小二乘法回归建模案例Word下载.doc_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

偏最小二乘法回归建模案例Word下载.doc

《偏最小二乘法回归建模案例Word下载.doc》由会员分享,可在线阅读,更多相关《偏最小二乘法回归建模案例Word下载.doc(21页珍藏版)》请在冰豆网上搜索。

偏最小二乘法回归建模案例Word下载.doc

摘要

在实际问题中,经常遇到需要研究两组多重相关变量间的相互依赖关系,并研究用一组变量(常称为自变量或预测变量)去预测另一组变量(常称为因变量或响应变量),除了最小二乘准则下的经典多元线性回归分析(MLR),提取自变量组主成分的主成分回归分析(PCR)等方法外,还有近年发展起来的偏最小二乘(PLS)回归方法。

 

偏最小二乘回归提供一种多对多线性回归建模的方法,特别当两组变量的个数很多,且都存在多重相关性,而观测数据的数量(样本量)又较少时,用偏最小二乘回归建立的模型具有传统的经典回归分析等方法所没有的优点。

偏最小二乘回归分析在建模过程中集中了主成分分析,典型相关分析和线性回归分析方法的特点,因此在分析结果中,除了可以提供一个更为合理的回归模型外,还可以同时完成一些类似于主成分分析和典型相关分析的研究内容,提供更丰富、深入的一些信息。

本文介绍偏最小二乘回归分析的建模方法;

通过例子从预测角度对所建立的回归模型进行比较。

关键词:

主元分析、主元回归、回归建模

偏最小二乘回归原理 

考虑p个变量与m个自变量的建模问题。

偏最小二乘回归的基本作法是首先在自变量集中提出第一成分t₁(t₁是的线性组合,且尽可能多地提取原自变量集中的变异信息);

同时在因变量集中也提取第一成分u₁,并要求t₁与u₁相关程度达到最大。

然后建立因变量与t₁的回归,如果回归方程已达到满意的精度,则算法中止。

否则继续第二对成分的提取,直到能达到满意的精度为止。

若最终对自变量集提取r个成分,偏最小二乘回归将通过建立与的回归式,然后再表示为与原自变量的回归方程式,即偏最小二乘回归方程式。

为了方便起见,不妨假定p个因变量与m个自变量均为标准化变量。

因变量组和自变量组的n次标准化观测数据阵分别记为:

偏最小二乘回归分析建模的具体步骤如下:

(1)分别提取两变量组的第一对成分,并使之相关性达最大。

(2)假设从两组变量分别提出第一对t₁和u₁,t₁是自变量集,的线性组合:

u₁是因变量集的线性组合:

为了回归分析的需要,要求:

①t1和u1各自尽可能多地提取所在变量组的变异信息;

②t1和u1的相关程度达到最大。

由两组变量集的标准化观测数据阵和,可以计算第一对成分的得分向量,记

为和:

第一对成分和的协方差可用第一对成分的得分向量和的内积来计算。

故而以上两个要求可化为数学上的条件极值问题:

利用Lagrange乘数法,问题化为求单位向量和,使最大。

问题的求解只须通过计算矩阵的特征值和特征向量,且M的最大特征值为,相应的单位特征向量就是所求的解,而可由计算得到。

(3)建立,对的回归及,对的回归。

假定回归模型为:

其中分别是多对一的回归模型中的参数向量,和是残差阵。

回归系数向量的最小二乘估计为:

称为模型效应负荷量。

(4)用残差阵和代替和重复以上步骤。

记则残差阵。

如果残差阵中元素的绝对值近似为0,则认为用第一个成分建立的回归式精度已满足需要了,可以停止抽取成分。

否则用残差阵和代替和重复以上步骤即得:

分别为第二对成分的权数。

而为第二对成分的得分向量。

分别为X,Y的第二对成分的负荷量。

这时有

(5)设n×

m数据阵的秩为r<

=min(n-1,m),则存在r个成分,使得:

把代入,即得p个因变量的偏最小二乘回归方程式:

(6)交叉有效性检验。

一般情况下,偏最小二乘法并不需要选用存在的r个成分来建立回归

式,而像主成分分析一样,只选用前l个成分(l≤r),即可得到预测能力较好的回归模型。

对于建模所需提取的主成分个数l,可以通过交叉有效性检验来确定。

每次舍去第i个观测,用余下的n-1个观测值按偏最小二乘回归

方法建模,并考虑抽取h个成分后拟合的回归式,然后把舍去的第i个观测点代入所拟合的回归方程式,得到在第i个观测点代入所拟合的预测值。

对i=1,2,…n重复以上的验证,即得抽取h个成分时第j个因变量的预测误差平方和为:

的预测误差平方和为:

另外,再采用所有的样本点,拟合含h个成分的回归方程。

这时,记第i个样本点的预测值为,则可以定义的误差平方和为:

定义Y的误差平方和为:

当达到最小值时,对应的h即为所求的成分个数。

通常,总有大于,而则小于。

因此,在提取成分时,总希望比值,越小越好;

一般可设定限制值为0.05,即当时,增加成分有利于模型精度的提高。

或者反过来说,当时,就认为增加新的成分,对减少方程的预测误差无明显的改善作用。

为此,定义交叉有效性为这样,在建模的每一步计算结束前,均进行交叉有效性检验,如果在第h步有则模型达到精度要求,可停止提取成分;

若表示第h步提取的成分的边际贡献显著,应继续第h+1步计算。

一种更简洁的计算方法 

上面介绍的算法原则和推导过程的思路在目前的文献中是最为常见的。

然而,还有一种更为简洁的计算方法,即直接在矩阵中提取成分(r≤m)。

要求能尽可能多地携带X中的信息,同时,对因变量系统有最大的解释能力。

注意,无需在中提取成分得分,这可以使计算过程大为简化,并且对算法结论的解释也更为方便。

偏最小二乘法的简记算法的步骤如下:

(1)求矩阵最大特征值所对应的特征向量求得成分计算成分得分向量和残差矩阵其中。

(2)求矩阵最大特征值所对应的特征向量求得成分计算成分得分向量,和残差矩阵其中。

.

(r)至第r步,求矩阵最大特征值所对应的特征向量,求得成分计算成分得分向量。

如果根据交叉有效性,确定共抽取r个成分可以得到一个满意的预测模型,则求在,上的普通最小二乘回归方程为:

把,代入,即得p个因变量的偏最小二乘回归方程式:

这里的满足。

案例分析

本节采用辽宁省给出的关于经济与教育投入历年的数据进行偏最小二乘回归建模。

在这个数据系统中被测的样本点,是辽宁省22年的不同教育程度的投资与产业的产出。

被测变量分为两组。

第一组是自变量包括:

L1、L2、L3、L4、K、第二组是因变量包括Y1、Y2、Y3。

原始数据见下表1。

表2给出了这8个变量的简单相关系数矩阵。

从相关系数矩阵可以看出,自变量与自变量、自变量与因变量、因变量与因变量之间的关系如下:

表2相关系数矩阵

利用如下的MATLAB程序:

%第一步:

将样本数据标准化,并求出相关系数矩阵

loadjy.txt

mu=mean(jy);

%求平均值

sig=std(jy);

%求标准差

rr=corrcoef(jy);

%求相关系数矩阵

data=zscore(jy);

%数据标准化

n=5;

%n是自变量个数

m=3;

%m是因变量个数

x0=jy(:

1:

n);

%取自变量数据

y0=jy(:

n+1:

end);

%取因变量数据

e0=data(:

%取数据标准化的x自变量数值

f0=data(:

%取数据标准化的y因变量数值

num=size(e0,1);

%求样本点的个数(也就是说测量的样本多少,本例测量了22年的样本)(size(A,n)如果在size函数的输入参数中再添加一项n,并用1或2为n赋值,则 

size将返回矩阵的行数或列数。

其中r=size(A,1)该语句返回的是矩阵A的行数, 

c=size(A,2) 

该语句返回的是矩阵A的列数 

chg=eye(n);

%w到w*变换矩阵的初始化-----eye(n)生成n×

n的单位阵

%第二步根据标准化后原始数据矩阵e0和f0计算e0’f0f0’e0的最大特征矩阵所对应的特征向量并计算主元成分ti

%以下计算w,w*和t的主元向量(又称得分向量)

fori=1:

n

matrix=e0'

*f0*f0'

*e0;

%根据原始标准化数据矩阵e0,f0,计算w,tp(48)(因变量残差Fi可以不用求p(49)而e0下面循环体依次改变,依次求利用下面循环求wi)

[vec,val]=eig(matrix);

%求matrix=e0'

*e0的全部特征值val全部特征向量vec---( 

[V,D]=eig(A):

求矩阵A的全部特征值,构成对角阵D,并求A的特征向量构成V的全部列向量)

val=diag(val);

%提出对角线元素X 

diag(v,k) 

当v是一个含有n个元素的向量时,返回一个n+abs(k)阶方阵X,向量v在矩阵X中的第k个对角线上,k=0表示主对角线,k>

0表示在主对角线上方,k<

0表示在主对角线下方。

(在这对角线元素就是特征值λi)

[val,ind]=sort(val,'

descend'

);

%降序排列ind表示据单下标换算出全下标

w(:

i)=vec(:

ind

(1));

%提出最大值对应的特征向量

w_star(:

i)=chg*w(:

i);

%计算w*的取值(w*是最大特征值对应的特征向量w*)

t(:

i)=e0*w(:

%计算成分t的主元向量(T=E0*W*)p(48)(e0不是固定的在循环体内的)

%第三步建立回归模型,并估计主成分系数pi

pi=e0'

*t(:

i)/(t(:

i)'

i));

%计算第i个主成分系数向量pi=pi_i=E0'

*ti/(ti'

*ti)P(46)-(5-12)

chg=chg*(eye(n)-w(:

i)*pi'

%计算w到w*的变换矩阵(w*为用为缩减的自变量数据矩阵X去求新的主元成分ti的对应的权值向量而wi为用为缩减的自变量数据矩阵X的残差矩阵Ei-1去求得ti对应的权值向量eye(n)=I,I为单位向量)(下次循环用的)p(69)p(51)

%计算数据残差Ei(作为初始矩阵计算下一个成分ti)

e=e0-t(:

;

%计算残差矩阵

e0=e;

%将残差矩阵付给e0,再依次计算下一个主成分(循环计算出所有主成分)

%第四步PLS确定主元r个数采用交叉检验法确定,一般r<

m;

%以下计算ss(i)的值即残差的平方和(全部样本的)

%计算回归系数bi(因变量与主成分之间的系数)beta=[t(:

i),ones(num,1)]\f0;

%求回归方程的系数(全部样本的因变量与主成分之间的系数不是自变量),数据标准化,没有常数项e=ones(8,1)表示将一个8行1列且元素全为1的矩阵赋值给e

beta(end,:

)=[];

%删除回归分析的常数项

cancha=f0-t(:

i)*beta;

%求矩阵残差矩阵%(e(k)=y(k)-b*t)

ss(i)=sum(sum(cancha.^2));

%求误差平方和

%以下求press(i)因变量残差(去掉第j个样本后的预测误差)

forj=1:

num

t1=t(:

i);

f1=f0;

she_t=t1(j,:

she_f=f1(j,:

%把舍去的第j个样本点保存起来

t1(j,:

f1(j,:

%删除第j个观测值

beta1=[t1,o

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1