setwd("C:/Users/IBM/Desktop/研一课程/2.2回归分析/回归作业") #设定当前的工作目录
shuju=read.table("shuju.txt",header=T)
shuju #读取数据
#采用AIC原则自动选择模型-前进法
shuju.reg1<- lm(y~.,data=shuju[,-1])
shuju.regforward2 <- step(shuju.reg1,direction="forward")#按照AIC原则自动选择模型
summary(shuju.regforward2)
#采用AIC原则自动选择模型-后退法
shuju.reg2<- lm(y~.,data=shuju[,-1])
shuju.regbackward2 <- step(shuju.reg2,direction="backward")#按照AIC原则自动选择模型
summary(shuju.regbackward2)
#采用AIC原则自动选择模型-逐步回归法
shuju.reg3<- lm(y~.,data=shuju[,-1])
shuju.regboth <- step(shuju.reg3,direction="both")#按照AIC原则自动选择模型
summary(shuju.regboth)
#计算方差扩大因子VIF
shuju.reg=lm(y~x1+x2+x3+x4+x5+x6+x7,data=shuju)
library(car)
vif(shuju.reg)#计算得方差扩大因子
#计算条件数condition index
X3<-cbind(shuju$x1,shuju$x2,shuju$x3,shuju$x4,shuju$x5,shuju$x6,shuju$x7)
CX<-cor(X3)#变换后所得的X'X其实就是相关系数阵
sqrt(kappa(CX,exact=T))#与SPSS的结果略有区别
eigen(CX)#求特征根和特征向量
#剔除一些不重要的解释变量
#先剔除x4
drop1(shuju.reg,scope="x4",test='F')
shuju.reg2 <- update(shuju.reg,~.-x4)
vif(shuju.reg2)
#再剔除x5
drop1(shuju.reg2,scope="x5",test='F&
shuju=read.table("shuju.txt",header=T)
shuju #读取数据
#采用AIC原则自动选择模型-前进法
shuju.reg1<- lm(y~.,data=shuju[,-1])
shuju.regforward2 <- step(shuju.reg1,direction="forward")#按照AIC原则自动选择模型
summary(shuju.regforward2)
#采用AIC原则自动选择模型-后退法
shuju.reg2<- lm(y~.,data=shuju[,-1])
shuju.regbackward2 <- step(shuju.reg2,direction="backward")#按照AIC原则自动选择模型
summary(shuju.regbackward2)
#采用AIC原则自动选择模型-逐步回归法
shuju.reg3<- lm(y~.,data=shuju[,-1])
shuju.regboth <- step(shuju.reg3,direction="both")#按照AIC原则自动选择模型
summary(shuju.regboth)
#计算方差扩大因子VIF
shuju.reg=lm(y~x1+x2+x3+x4+x5+x6+x7,data=shuju)
library(car)
vif(shuju.reg)#计算得方差扩大因子
#计算条件数condition index
X3<-cbind(shuju$x1,shuju$x2,shuju$x3,shuju$x4,shuju$x5,shuju$x6,shuju$x7)
CX<-cor(X3)#变换后所得的X'X其实就是相关系数阵
sqrt(kappa(CX,exact=T))#与SPSS的结果略有区别
eigen(CX)#求特征根和特征向量
#剔除一些不重要的解释变量
#先剔除x4
drop1(shuju.reg,scope="x4",test='F')
shuju.reg2 <- update(shuju.reg,~.-x4)
vif(shuju.reg2)
#再剔除x5
drop1(shuju.reg2,scope="x5",test='F&