1、逐步回归分析案例: 逐步回归分析 在自变量很多时,其中有的因素可能对应变量的影响不是很大,而且x之间可能不完全相互独立的,可能有种种互作关系。在这种情况下可用逐步回归分析,进行x因子的筛选,这样建立的多元回归模型预测效果会更较好。 逐步回归分析,首先要建立因变量y与自变量x之间的总回归方程,再对总的方程及每—个自变量进行假设检验。当总的方程不显著时,表明该多元回归方程线性关系不成立;而当某—个自变量对y影响不显著时,应该把它剔除,重新建立不包含该因子的多元回归方程。筛选出有显著影响的因子作为自变量,并建立“最优”回归方程。 回归方程包含的自变量越多,回归平方和越大,剩余的平方和越小,
2、剩余均方也随之较小,预测值的误差也愈小,模拟的效果愈好。但是方程中的变量过多,预报工作量就会越大,其中有些相关性不显著的预报因子会影响预测的效果。因此在多元回归模型中,选择适宜的变量数目尤为重要。 逐步回归在病虫预报中的应用实例: 以陕西省某地区1984~1995年的烟蚜传毒病情资料、相关虫情和气象资料为例(数据见DATA6.xls),建立蚜传病毒病情指数的逐步回归模型,说明逐步回归分析的具体步骤。影响蚜传病毒病情指数的虫情因子和气象因子一共有21个,通过逐步回归,从中选出对病情指数影响显著的因子,从而建立相应的模型。对1984~1995年的病情指数进行回检,然后对1996~1998年的病
3、情进行预报,再检验预报的效果。 变量说明如下: y:历年病情指数 x1:前年冬季油菜越冬时的蚜量(头/株) x2:前年冬季极端气温 x3:5月份最高气温 x4:5月份最低气温 x5:3~5月份降水量 x6:4~6月份降水量 x7:3~5月份均温 x8:4~6月份均温 x9:4月份降水量 x10:4月份均温 x11:5月份均温 x12:5月份降水量 x13:6月份均温 x14:6月份降水量 x15:第一次蚜迁高峰期百株烟草有翅蚜量 x16:5月份油菜百株蚜量 x17:7月份降水量 x18:8月份降水量 x19:7月份均
4、温 x20:8月份均温 x21:元月均温 1)准备分析数据 在SPSS数据编辑窗口中,用“File→Open→Data”命令,打开“DATA6.xls”数据文件。数据工作区如下图3-1显示。 图3-1 2)启动线性回归过程 单击SPSS主菜单的“Analyze”下的“Regression”中“Linear”项,将打开如图3-2所示的线性回归过程窗口。 图3-2 线性回归对话窗口 3) 设置分析变量 设置因变量:将左边变量列表中的“y”变量,选入到“Dependent”因变量显示栏里。 设置自变量:将左边变量列表中的“x1”~“x21”变量,全部选移到“Inde
5、pendent(S)”自变量栏里。 设置控制变量: 本例子中不使用控制变量,所以不选择任何变量。 选择标签变量: 选择“年份”为标签变量。 选择加权变量: 本例子没有加权变量,因此不作任何设置。 4)回归方式 在“Method”分析方法框中选中“Stepwise”逐步分析方法。该方法是根据“Options”选择对话框中显著性检验(F)的设置,在方程中进入或剔除单个变量,直到所建立的方程中不再含有可加入或可剔除的变量为止。设置后的对话窗口如图3-3。 图3-3 5)设置变量检验水平 在图6-15主对话框里单击“Options”按钮,将打开如图3-4所示的对话框。
6、 图3-4 “Stepping Method Criteria”框里的设置用于逐步回归分析的选择标准。 其中“Use probability of F”选项,提供设置显著性F检验的概率。如果一个变量的F检验概率小于或等于进入“Entry”栏里设置的值,那么这个变量将被选入回归方程中;当回归方程中变量的F值检验概率大于剔除“Removal”栏里设置的值,则该变量将从回归方程中被剔除。由此可见,设置F检验概率时,应使进入值小于剔除值。 “Ues F value” 选项,提供设置显著性F检验的分布值。如果一个变量的F值大于所设置的进入值(Entry),那么这个变量将被选入回归方程中;当回归方程
7、中变量的F值小于设置的剔除值(Removal),则该变量将从回归方程中被剔除。同时,设置F分布值时,应该使进入值大于剔除值。 本例子使用显著性F检验的概率,在进入“Entry”栏里设置为“0.15”,在剔除“Removal”栏里设置为“0.20”(剔除的概率值应比进入的值大),如图6-17所示。 图6-17窗口中的其它设置参照一元回归设置。 6)设置输出统计量 在主对话图3-2窗口中,单击“Statistics”按钮,将打开如图6-18所示的对话框。该对话框用于设置相关参数。其中各项的意义分别为: 图3-5 “Statistics”对话框 ①“Regression Coeffi
8、cients”回归系数选项: “Estimates”输出回归系数和相关统计量。 “Confidence interval”回归系数的95%置信区间。 “Covariance matrix”回归系数的方差-协方差矩阵。 本例子选择“Estimates”输出回归系数和相关统计量。 ②“Residuals”残差选项: “Durbin-Watson”Durbin-Watson检验。 “Casewise diagnostic”输出满足选择条件的观测量的相关信息。选择该项,下面两项处于可选状态: “Outliers outside stan
9、dard deviations”选择标准化残差的绝对值大于输入值的观测量; “All cases”选择所有观测量。 本例子都不选。 ③ 其它输入选项 “Model fit”输出相关系数、相关系数平方、调整系数、估计标准误、ANOVA表。 “R squared change”输出由于加入和剔除变量而引起的复相关系数平方的变化。 “Descriptives”输出变量矩阵、标准差和相关系数单侧显著性水平矩阵。 “Part and partial correlation”相关系数和偏相关系数。 “Collinearity dia
10、gnostics”显示单个变量和共线性分析的公差。 本例子选择“Model fit”项。 7)绘图选项 在主对话框单击“Plots”按钮,将打开如图3-6所示的对话框窗口。该对话框用于设置要绘制的图形的参数。图中的“X”和“Y”框用于选择X轴和Y轴相应的变量。 图3-6“Plots”绘图对话框窗口 左上框中各项的意义分别为: · “DEPENDNT”因变量。 · “ZPRED”标准化预测值。 · “ZRESID”标准化残差。 · “DRESID”删除残差。 · “ADJPRED”调节预测值。 · “SRESID”学生氏化残差。 · “SDRES
11、ID”学生氏化删除残差。 “Standardized Residual Plots”设置各变量的标准化残差图形输出。其中共包含两个选项: “Histogram”用直方图显示标准化残差。 “Normal probability plots”比较标准化残差与正态残差的分布示意图。 “Produce all partial plot”偏残差图。对每一个自变量生成其残差对因变量残差的散点图。 本例子不作绘图,不选择。 8) 保存分析数据的选项 在主对话框里单击“Save”按钮,将打开如图3-7所示的对话框。 图3-7“Save”对话框 ①“Predicted V
12、alues”预测值栏选项: Unstandardized 非标准化预测值。就会在当前数据文件中新添加一个以字符“PRE_”开头命名的变量,存放根据回 归模型拟合的预测值。 Standardized 标准化预测值。 Adjusted 调整后预测值。 S.E. of mean predictions 预测值的标准误。 本例选中“Unstandardized”非标准化预测值。 ②“Distances”距离栏选项: Mahalanobis: 距离。 Cook’s”
13、 Cook距离。 Leverage values: 杠杆值。 ③“Prediction Intervals”预测区间选项: Mean: 区间的中心位置。 Individual: 观测量上限和下限的预测区间。在当前数据文件中新添加一个以字符“LICI_”开头命名的变量,存放 预测区间下限值;以字符“UICI_”开头命名的变量,存放预测区间上限值。 Confidence Interval:置信度。 本例不选。 ④“Save to New File”保存为新文件: 选中“Coeffic
14、ient statistics”项将回归系数保存到指定的文件中。本例不选。 ⑤ “Export model information to XML file” 导出统计过程中的回归模型信息到指定文件。本例不选。 ⑥“Residuals” 保存残差选项: “Unstandardized”非标准化残差。 “Standardized”标准化残差。 “Studentized”学生氏化残差。 “Deleted”删除残差。 “Studentized deleted”学生氏化删除残差。 本例不选。 ⑦“Influenc
15、e Statistics” 统计量的影响。 “DfBeta(s)”删除一个特定的观测值所引起的回归系数的变化。 “Standardized DfBeta(s)”标准化的DfBeta值。 “DiFit” 删除一个特定的观测值所引起的预测值的变化。 “Standardized DiFit”标准化的DiFit值。 “Covariance ratio”删除一个观测值后的协方差矩隈的行列式和带有全部观测值的协方差矩阵的行列式的比率。 本例子不保存任何分析变量,不选择。 9)提交执行 在主对话框里单击“OK”,提交执行,结果将显
16、示在输出窗口中。主要结果见表6-10至表6-13。 10) 结果分析 主要结果: 表6-10 是逐步回归每一步进入或剔除回归模型中的变量情况。 表6-11 是逐步回归每一步的回归模型的统计量:R 是相关系数;R Square 相关系数的平方,又称判定系数,判定线性回归的拟合程度:用来说明用自变量解释因变量变异的程度(所占比例);Adjusted R Square 调整后的判定系数;Std. Error of the Estimate 估计标准误差。 表6-12 是逐步回归每一步的回归模型的方差分析,F值为10.930,显著性概率是0.001,表明回归极显著。 表
17、6-13 是逐步回归每一步的回归方程系数表。 分析: 建立回归模型: 根据多元回归模型: 从6-13中看出,过程一共运行了四步,最后一步以就是表中的第4步的计算结果得知:21个变量中只进入了4个变量x15、x4、x7 和 x5。 把表6-13中“非标准化回归系数”栏目中的“B”列数据代入多元回归模型得到预报方程: 预测值的标准差可用剩余标准差估计: 回归方程的显著性检验: 从表6-12方差分析表第4模型中得知:F统计量为622.72,系统自动检验的显著性水平为0.0000(非常小)。 F(0.00001,4,7)值为70.00。因此回归方程相关非常非常显著。 由回归
18、方程式可以看出,在陕西长武烟草蚜传病毒病8月份的病情指数(y)与x4(5月份最低气温)、x15(第一次蚜迁高峰期百株烟草有翅蚜量)呈显著正相关,而与x5(3~5月份降水量)和x7 (3~5月份均温)呈显著负相关。 通过大田调查结果表明,烟草蚜传病毒病发生与蚜虫的迁飞有密切的关系。迁入烟田的有翅蚜有两次高峰期,呈双峰曲线。第一高峰期出现在5月中旬至6月初,此次迁飞的高峰期与大田发病率呈显著正相关。第二高峰期在6月上旬末至6月中旬,此次迁飞高峰期与大田发病率关系不大。5月份的最低气温(x4)和3~5月份均温(x7 )通过影响传媒介体蚜虫的活动来影响田间发病。而第一次蚜迁高峰期百株烟草有翅蚜量(x
19、15)是影响烟草蚜传病毒病病情指数(y)的重要因子。3~5月份降水量(x5)通过影响田间蚜虫传病毒病发病植株的症状表现影响大田发病程度。 =================================== >> [b,se,pval,inmodel,stats,nextstep,history] = stepwisefit(x,y, 'penter', 0.15) Initial columns included: none Step 1, added column 15, p=1.09823e-010 Step 2, added column 4, p=0.0876018 S
20、tep 3, added column 7, p=0.0820284 Step 4, added column 5, p=0.0199522 Final columns included: 4 5 7 15 'Coeff' 'Std.Err.' 'Status' 'P' [ 2.1234e-004] [9.5619e-004] 'Out' [ 0.8316] [ 0.0023] [ 0.0094] 'Out' [ 0.8
21、128] [ 0.0048] [ 0.0165] 'Out' [ 0.7799] [ 0.0345] [ 0.0115] 'In' [ 0.0198] [ -0.0028] [9.4168e-004] 'In' [ 0.0200] [-8.4111e-004] [9.8234e-004] 'Out' [ 0.4247] [ -0.2354] [ 0.
22、0574] 'In' [ 0.0046] [ 0.0362] [ 0.0560] 'Out' [ 0.5415] [ -0.0024] [ 0.0021] 'Out' [ 0.2944] [ -0.0050] [ 0.0363] 'Out' [ 0.8947] [ -0.0013] [ 0.0363] 'Out' [ 0.9724]
23、 [ 8.0796e-004] [ 0.0013] 'Out' [ 0.5538] [ 0.0351] [ 0.0269] 'Out' [ 0.2394] [-8.3662e-004] [9.8292e-004] 'Out' [ 0.4273] [ 0.0086] [2.1240e-004] 'In' [1.4668e-009] [ 1.8511e-004] [ 0.0015]
24、 'Out' [ 0.9036] [ 6.0742e-004] [5.6426e-004] 'Out' [ 0.3231] [-2.1519e-004] [5.2550e-004] 'Out' [ 0.6964] [ 0.0252] [ 0.0280] 'Out' [ 0.4029] [ 0.0240] [ 0.0334] 'Out' [ 0.4986] [
25、 0.0111] [ 0.0220] 'Out' [ 0.6304] stats = source: 'stepwisefit' dfe: 7 df0: 4 SStotal: 18.8081 SSresid: 0.0527 fstat: 622.7199 pval: 5.2313e-009 rmse: 0.0868 xr: [12x17 double] yr: [12x1 double] B: [21x1 double] SE: [21x1 double] TSTAT: [21x1 double] PVAL: [21x1 double] intercept: 2.4920 wasnan: [12x1 logical % 用 matlab 进行运算,结果同 SPSS 的结果一致






