偏最小二乘一般针对于下面两个问题:1)自变量的数目较多,但是观测的样本并不是很多;2)回归方程建立后主要用于预测。
代码实现如下:
data8.2<-read.csv("C:/Users/Administrator/Desktop/data8.2.csv",head=TRUE)
datas<-data.frame(scale(data8.2))
library(pls)
pls1<-plsr(y~.,data=datas,validation="LOO",jackknife=TRUE,method="widekernelpls")
summary(pls1,what="all")
其中validation="LOO"表示使用留一交叉验证设计算法RMSEP;jackknife=TRUE表示使用jackknife方法估计回归系数方差(为后面的显著性实验做准备)。
输出结果为:
上述为使用了所有主成分进行回归得到的结果,从回归结果中可以看到,主成分个数为3个时,模型在经留一交叉验证法后的得到的RMSEP总和较小,且随着成分个数的增加,RMSEP值为出现明显减少,同时3个主成分对各变量的累积共享率均高于99%,因此将回归的主成分个数设定为m=3。
下面给出主成分为3时的回归方程实现代码:
pls1<-plsr(y~.,data=datas,ncomp=3,validation="LOO",jackknife=TRUE)
coef(pls1)
输出结果为:
由以上结果就可以得到标准化后的数据y∗对所有自变量的回归方程。将回归方程中的变量还原为原始数变量便得到最终的回归方程。
|
请发表评论