程序三:投影寻踪回归分析

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

###########################################################################################################
###### #投影寻踪回归分析 Projection Pursuit Regression###
rm(list=ls(all=TRUE)) #删除R软件中所有对象
setwd('d:/qsardata') #设置工作目录,将经过预处理的数据放在该目录下,后续工作所产的文件都将保存在该目录下
getwd()
##########################################################
train.data<-read.csv(file=file.choose(),header=T) #读取训练集数据
traindata<-train.data[,-1] #将训练集数据的自变量与因变量提取到文件traindata中
dim(traindata);colnames(traindata)
trainactivity<-traindata$activity

test.data<-read.csv(file=file.choose(),header=T) #读取测试集数据
testdata<-test.data[,-1] #将测试数据的自变量与因变量提取到文件testdata中
testactivity<-testdata$activity
dim(testdata);colnames(testdata)
##########################################################
##########################################################
##########################################################

require(graphics)
ppr.model <- ppr(activity~ ., data = traindata, nterms = 4, max.terms = 10) #建立投影寻踪回归模型
ppr.model
summary(ppr.model) #查看投影寻踪回归模型结果

ppr.model$xnames
ppr.model$df

Predicted.Value<-ppr.model$fitted.values; Predicted.Value #根据投影寻踪模型得到的预测值
Predicted.Residual<-ppr.model$residuals; Predicted.Residual #查看预测值的残差(文献值-预测值)

trainactivity.and.Predicted<-cbind(trainactivity,Predicted.Value,Predicted.Residual)
trainactivity.and.Predicted


jpeg(filename="投影寻踪回归模型训练集结果.jpeg",units = "px", width=800, height=600,restoreConsole = TRUE,quality = 75) #输出图形命令
plot(Predicted.Value,trainactivity,xlab='投影寻踪回归模型训练集预测值',ylab='实验值',col="red",type = "p") #文献值与预测值作图
abline(lm(Predicted.Value~trainactivity),col="blue") #添加散点图的趋势线
dev.off() #关闭图形输出


r<-cor(trainactivity, Predicted.Value);r;r^2 #求文献值与预测值的相关系数
#相关系数的平方,决定系数,在后面的lm.sol线性回归分析中有

lm.sol<-lm(trainactivity~Predicted.Value) #对文献值和预测值进行回归分析
lm.sol
summary(lm.sol) #查看文献值和预测值回归分析结果
par(mfrow=c(2,2))
plot(lm.sol) #文献值和预测值回归分析诊断
opar<-par()

write.table(trainactivity.and.Predicted, file='投影寻踪回归模型训练集结果.csv', sep=',', s = TRUE, s =FALSE) #将文献值、预测值以及残差结果另存为csv文件


##########################################################
##########################################################
##########################################################
test.Predicted.Value<-predict(ppr.model,testdata) #根据投影寻踪模型得到的

预测值
testactivity.and.Predicted<-cbind(testactivity,test.Predicted.Value);testactivity.and.Predicted
write.table(testactivity.and.Predicted, file='投影寻踪回归模型测试集结果.csv', sep=',', s = TRUE, s =FALSE) #将文献值、预测值以及残差结果另存为csv文件

r<-cor(testactivity, test.Predicted.Value);r;r^2 #求文献值与预测值的相关系数
lm.sol.2<-lm(testactivity~test.Predicted.Value) #对文献值和预测值进行回归分析
lm.sol.2
summary(lm.sol.2) #查看文献值和预测值回归分析结果
par(mfrow=c(2,2))
plot(lm.sol.2) #文献值和预测值回归分析诊断
opar<-par()
##########################################################
##########################################################
##########################################################
jpeg(filename="投影寻踪回归模型测试集结果.jpeg",units = "px", width=800, height=600,restoreConsole = TRUE,quality = 75) #输出图形命令
plot(test.Predicted.Value,testactivity,xlab='投影寻踪回归模型测试集预测值',ylab='实验值',col="red",type = "p") #文献值与预测值作图
abline(lm(test.Predicted.Value~testactivity),col="blue") #添加散点图的趋势线
dev.off() #关闭图形输出






相关文档
最新文档