用stepwise函数可以进行逐步回归,它使用交互环境进行分析。其语法格式如下。
stepwise(X, y):显示一个交互工具来创建回归模型,用X矩阵的列给定的自变量子集预测向量y。在最初的模型中没有自变量,但可以通过单击自变量将它们引入模型或从模型中剔除。
对于模型中的每个自变量,MATLAB交互工具用蓝色填充圆表示自变量的最小二乘系数。对于不在模型中的每个自变量,交互工具用红色填充圆表示将该自变量添加到模型中时自变量的系数。图中的水平条形表示90%置信区间(彩色)和95%置信区间(黑色)。
stepwise(X, y, inmodel,penter,premove):指定模型的初始状态和要使用的置信区间。inmodel为长度为X中列数的逻辑向量,或者为值从1变到X中的列数的索引向量。inmodel指定包含在初始模型中的自变量。默认时不包含X中的列。
penter指定引入自变量的最大p值,默认时为0.05。
premove指定剔除自变量的最小p值,默认值为0.10。
继续使用前例,进行逐步回归分析。在命令窗口中输入
>> stepwise(X,y)
运行该命令,将打开“逐步回归”对话框,如图4-2所示。
图4-2 逐步回归分析图
在图1-8中左上部所示的图形中,对于y轴上的每一项,这里用点表示回归(最小二乘)系数,用水平条表示置信区间。蓝色的点表示模型中的项,红色的点表示该项不在模型中。水平条表示90%(彩色)置信区间和95%(灰色)置信区间。每个条形的右侧有一个表,该表列出了对应项的回归系数值,以及t统计量和p值。不在模型中的项对应的系数是将该项添加到当前模型中以后得到的系数。
从“逐步回归”菜单中选择“缩放输入”选项,可以对数据进行标称化,使得输入的矩阵数据的标准差为1。
对话框的下方显示了几个统计量,包括:
截距——常数项的估计值。
RMSE——当前模型均方差的平方根。
R方(R的平方值)——模型解释的响应变异性的大小。
调整R方—根据残差自由度进行调整以后的R平方值。
F—回归的总F统计量。
P—有关的显著性概率。
可以使用两种方式将这些选项移进或移出模型:
单击图中的条形或表项,可以转换对象项的状态。模型结果的改变与条形的颜色有关。单击蓝色条形,剔除对应项,条形变为红色;单击红色条形,引入对应项,条形变为蓝色。
单击“下一步”按钮(接下来的步骤),该步建议的操作是引入统计上最显著的项,或剔除最不显著的项。单击“下一步”按钮,按建议进行操作。完成以后,对话框显示下一个要添加或剔除的项。当没有项可以引入或剔除时,对话框显示“不移动任何项”信息。也可以通过单击“全部步骤”按钮一次完成所有建议项。
在默认情况下,模型中没有引入任何变量。与全回归不同的是,逐步回归的模型中包含常数项。一般用下式计算常数项:
mean(y)-mean(X(:,in))beta(in)
其中,in为引入变量向量名,beta为回归系数向量名,mean表示求均值。
对于本例:
在引入全部变量时,回归模型为
y=1.551X1+0.5102X2+0.1019X3-0.1441X4+62.4054
回归系数平方值为0.9824,均方差为2.446。
在引入变量1~3时,回归模型为
y=1.696X1+0.6569X2+0.25X3+48.1936
回归系数平方值为0.9823,均方差为2.312。
在引入变量1和变量2时,回归模型为
y=1.468X1+0.6623X2+52.5773
回归系数平方值为0.9787,均方差为2.406。
进一步比较以后可以发现,第2个模型具有较高的回归系数和较小的均方差,并且变量个数较少,所以是最合适的模型。
“逐步回归”对话框可以生成选定项的偏相关中心化杠杆值图。如果项不在模型中,则图形根据模型中各项的残差和选定项的残差绘制,并以此显示添加该项后的效果。如果项在模型中,则图形显示该项不在模型中时添加该项的效果。
在模型中引入变量1和变量2以后,从“逐步回归”菜单中选择“变量添加图”选项,打开一个对话框,在该对话框中选择要绘制的项X3,单击“确定”按钮,生成结果图4-3所示。
图4-3 残差分析图