《实用回归分析》 何晓群
第五章
第五章介绍的自变量选择与逐步回归,下面以课后习题的5.10,介绍这两种方法在R语言中的实现和分析。
数据集1968-1983年美国与电话线制作有关的数据如下:
其中:
5.10
- 建立y对的线性回归方程。
代码如下:
rm(list = ls())
setwd("C:/Users/Administrator/Desktop")
data5.6 <- read.csv("5-6.csv")
fit1 <- lm(y~x2+x3+x4+x5+x6, data = data5.6)
summary(fit1)
从输出的结果来看,对应的参数估计值的方程都非常大,并且的P值达到了0.08109,的P值更是达到了0.923,在置信度的要求下,均未通过检验。可以认为该模型的设计矩阵存在多重共线性,而引起自相关或异方差,需要对模型进行进一步处理。
- 用后退法选择自变量。
代码如下:
fit2 <- step(fit1, direction="backward")
summary(fit2)
的是变量中最小的,由AIC准则,第一步应剔除。剔除变量后进行的第二步后退法中,所有变量的AIC值均大于不剔除时的AIC值,故而在此时剔除结束。经过向后剔除法得到拟合方程为:从结果上看此时的方程有所减小,所有变量的P值,均在置信度下显著。方程最终仅剔除与的P值最大是相符的。从实际意义上看,“滞后6个月的最惠利率”可能已经在其影响因子中有所体现,比如其可能与“用户用线增量”是有关的,因为在现实中,最惠利率的影响是具有滞后性的,利率越高,人们用线的可能越大。用剩余影响因子来解释“年电话线销量”也是合理的
- 用逐步回归法选择自变量
代码如下:
fit3=step(fit1,direction="both")
summary(fit3)
。其结果与后退法是一致的。
- 根据以上计算结果分析后退法与逐步回归法的差异
以上两种方法在R语言中以step()
函数体现,均使用AIC准则作为选择变量的标准,即剔除AIC值最小的变量。虽然这里结果是一致的,但是从处理方式来看,逐步回归法更能保证结果的优良性。后退法无法解决剔除变量不能再将其选入,但是不能保证在剔除变量后剩余变量一定比包含这个变量优良,而逐步回归法则解决了这个问题。