逐步回归分析是以AIC信息统计量为准则,经过选择最小的AIC信息统计量,来达到删除或增长变量的目的。html
R语言中用于逐步回归分析的函数 step() drop1() add1()函数
#1.载入数据 首先对数据进行多元线性回归分析post
tdata<-data.frame( x1=c( 7, 1,11,11, 7,11, 3, 1, 2,21, 1,11,10), x2=c(26,29,56,31,52,55,71,31,54,47,40,66,68), x3=c( 6,15, 8, 8, 6, 9,17,22,18, 4,23, 9, 8), x4=c(60,52,20,47,33,22, 6,44,22,26,34,12,12), Y =c(78.5,74.3,104.3,87.6,95.9,109.2,102.7,72.5, 93.1,115.9,83.8,113.3,109.4) ) tlm<-lm(Y~x1+x2+x3+x4,data=tdata) summary(tlm)
多元线性回归结果分析优化
经过观察,回归方程的系数都没有经过显著性检验url
#2.逐步回归分析spa
tstep<-step(tlm)
summary(tstep)
结果分析:当用x1 x2 x3 x4做为回归方程的系数时,AIC的值为26.94code
去掉x3 回归方程的AIC值为24.974;去掉x4 回归方程的AIC值为25.011……htm
因为去x3能够使得AIC达到最小值,所以R会自动去掉x3;blog
去掉x3以后 AIC的值都增长 逐步回归分析终止 获得当前最优的回归方程get
回归系数的显著性水平有所提升 可是x2 x4的显著性水平仍然不理想
#3.逐步回归分析的优化
drop1(tstep)
结果分析
若是去掉x4 AIC的值从24.974增长到25.420 是三个变量中增长最小的
#4.进一步进行多元回归分析
tlm<-lm(Y~x1+x2,data=tdata) summary(tlm)
结果分析
全部的检验均为显著
所以所得回归方程为y=52.57735+ 1.46831x1+ 0.66225x2.
转载:https://www.cnblogs.com/liuzezhuang/p/3724497.html