多元线性回归
多元线性回归的核心问题:应该选择哪些变量???
- RSS(残差平方和)与R2 (相关系数的平方)选择法:遍历所有可能的组合,选出使RSS最小,R2 最大的模型。
- AIC(Akaike Information Criterion)准则与BIC(Bayesian Information Criterion)准则
AIC = n ln (RSSp/n)+2p
其中:n为变量总个数,p为选出的变量个数(AIC越小越好)
逐步回归
- 向前引入法:从一元回归开始,逐步增加变量,使指标变量达到最优为止
- 向后剔除法:从全变量回归方程开始,逐步删去某个变量,使指标到达最优为止
- 逐步筛选法:综合上述两种方法
step函数
根据上图中对该数据集作出的线性回归模型的各个统计量进行分析发现:
- 在该数据集中的EXAMINATION变量与模型的相关性中没有一个*,从而表示,该变量与该模型没有相关性,可以去除。
- 模型拟合的相关系数的平方值为:0.7067
这里使用step函数,R会自动计算原始模型的AIC数值和去除各个变量后AIC的变化情况,从而找到去除模型无关变量,作出更为准确的线性回归模型。
因为第一次作出的线性回归模型为全变量的模型,所以这里使用step进行逐步回归的时候,只能使用backward或者both方法进行逐步回归。从而得到在去除无关变量EXAMINATION变量后,得到一个拟合效果更好的线性回归模型。
逐步回归计算实例
例 6.10 某种水泥在凝固时放出的热量Y(卡/克)与水泥中四种化学成分X1,X2,X3,X4有关,现测得13组数据,如表6.5所示。希望从中选取重要的变量,建立Y关于它们的线性回归方程。
分析步骤:
首先作出多元线性回归方程,建立所有变量的回归模型:
从上述建立的回归模型可知,从X1到X4四个变量的“显著性检验”一个*都没有。可见,如果选择全部变量做回归方程,效果是很不好的。
下面使用函数step()做逐步回归:
使用step方法处理后的结果如下:
在使用step函数进行处理的时候,最后一步的操作,无论去掉哪一个变量,AIC值均会升高,因此R软件终止计算,得到了“最优”的回归方程。
可见,现在变量X1,X2,X4的“显著性检验”发生了好转。虽然R2也达到了0.9823,但仍然有不足。在R软件中,还有两个函数可以用来做逐步回归。这两个函数是add1()和drop1():
从运算结果来看,如果去掉变量X4,AIC值会从24.97增加到25.42,是增加的最少的。另外,除AIC准则外,残差的平方和也是逐步回归的重要指标之一,从直观来看,拟合越好的方程,残差的平方和应越小。去掉X4,残差的平方和上升9.93,也是最少的。因此,从这两个指标来看,应该再去掉变量X4.
这个结果应该还是满意的,因为所有的检验均是显著的,最后得到“最优”。