w<-read.csv("C:\\Users\\Administrator\\Desktop\\mg.csv",header=T)
#样本的个数为1385,5折交叉验证
n=1385
zz1=1:n
zz2=rep(1:5,ceiling(1385/5))[1:n]
set.seed(100)
zz2=sample(zz2,n) #有放回抽样
NMSE=rep(0,5)
NMSE0=NMSE
for(i in 1:5){
m=zz1[zz2==i]
a<-lm(y~.,w[-m,]) #线性回归模型
y0<-predict(a,w[-m,]) #对训练集集预测
y1=predict(a,w[m,]) #对测试集预测
NMSE0[i]=mean((w$y[-m]-y0)^2)/mean((w$y[-m]-mean(w$y[-m]))^2)
NMSE[i]=mean((w$y[m]-y1)^2)/mean((w$y[m]-mean(w$y[m]))^2)
}
NMSE0=mean(NMSE0) #训练集的标准化均方误差
NMSE=mean(NMSE)
#样本的个数为1385,5折交叉验证
n=1385
zz1=1:n
zz2=rep(1:5,ceiling(1385/5))[1:n]
set.seed(100)
zz2=sample(zz2,n) #有放回抽样
NMSE=rep(0,5)
NMSE0=NMSE
for(i in 1:5){
m=zz1[zz2==i]
a<-lm(y~.,w[-m,]) #线性回归模型
y0<-predict(a,w[-m,]) #对训练集集预测
y1=predict(a,w[m,]) #对测试集预测
NMSE0[i]=mean((w$y[-m]-y0)^2)/mean((w$y[-m]-mean(w$y[-m]))^2)
NMSE[i]=mean((w$y[m]-y1)^2)/mean((w$y[m]-mean(w$y[m]))^2)
}
NMSE0=mean(NMSE0) #训练集的标准化均方误差
NMSE=mean(NMSE)