逐步回歸分析是以AIC信息統計量為准則,通過選擇最小的AIC信息統計量,來達到刪除或增加變量的目的。
R語言中用於逐步回歸分析的函數 step() drop1() add1()
#1.載入數據 首先對數據進行多元線性回歸分析
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)
多元線性回歸結果分析
通過觀察,回歸方程的系數都沒有通過顯著性檢驗
#2.逐步回歸分析
tstep<-step(tlm)
summary(tstep)
結果分析:當用x1 x2 x3 x4作為回歸方程的系數時,AIC的值為26.94
去掉x3 回歸方程的AIC值為24.974;去掉x4 回歸方程的AIC值為25.011……
由於去x3可以使得AIC達到最小值,因此R會自動去掉x3;
去掉x3之后 AIC的值都增加 逐步回歸分析終止 得到當前最優的回歸方程
回歸系數的顯著性水平有所提高 但是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.