这是code
###偏最小二乘法
library(lars)
library(pls)
#偏最小二乘
data1<-read.csv("C:\\pls1.csv")
names(data1)
data2<-data1[,2:9]
data3<-data.frame(scale(data2))
library(pls)
set.seed(1) #求最优的成分个数
shuju.plsr <- plsr(y1~., ncomp=2,data=data3,validation="CV")
summary(shuju.plsr)
coef(shuju.plsr)
#下面使2个成分
shuju.plsr3 <- plsr(y1~.,ncomp = 2,data=data2,scale=T,validation="CV")
summary(shuju.plsr3)
coef(shuju.plsr3)
shuju.coef <- coef(shuju.plsr3)/apply(data2[,1:7],2,sd)#求原始变量的回归系数
shuju.int <- mean(data2$y1)-shuju.coef%*%apply(data2[,1:7],2,mean)#求截距
c(shuju.int,shuju.coef)
##上面两个过程算出来的结果不太一样,请问那个是正确的算法?
附件列表
pls.rar
大小:211.75 KB
马上下载
偏最小二乘法案例
本附件包括:
- 微信图片_20170503200743.jpg
- 微信图片_20170503200752.jpg
- 微信图片_20170503200757.jpg
- 微信图片_20170503200801.jpg
- pls1.csv
- pls2.R