回归诊断
自变量之间如果有较强的相关关系,就很难求得较为理想的回归方程;若个别观测点与多数观测点偏离很远或因过失误差(如抄写或输入错误所致),它们也会对回归方程的质量产生极坏的影响。对这两面的问题进行监测和分析的方法,称为回归诊断。前者属于共线性诊断(The Diagnosis of Collinearity)问题;后者属于异常点诊断(The Diagnosis ofOutlier)问题。关于这些内容,我们将结合SAS输出结果作些必要的解释。
一、回归诊断方法
检验所选模型中的各变量之间共线性(即某些自变量之间有线性关系)情况;根据模型推算出与自变量取各样本值时对应的因变量的估计值y^,反过来检验所测得的Y是否可靠,胀是回归诊断的2项主要任务。
下面就SAS系统的REG过程运行后不同输出结果,仅从回归诊断方面理解和分析说明如下:
1.用条件数和方差分量来进行共线性诊断
各入选变量的共线性诊断借助SAS的MODEL语句的选择项COLLIN或COLLINOINT来完成。二者都给出信息矩阵的特征根和条件数(Condition Number),还给出各变量的方差在各主成分上的分解(Decomposition),以百分数的形式给出, 每个入选变量上的方差分量之和为1。COLLIN和COLLINOINT的区别在于后者对模型中截距项作了校正。当截距项无显著性时,看由COLLIN输出的结果;反之,应看由COLLINOINT输出的结果。
(1)条件数
先求出信息矩阵杸X'X枈的各特征根, 条件指数(condition indices)定义为: 最大特征根与每个特征根比值的平根,其中最大条件指数k称为矩阵杸X'X枈的条件数。
条件数大,说明设计矩阵有较强的共线性,使结果不稳定,甚至使离开试验点的各估计值或预测值毫无意义。
直观上,条件数度量了信息矩阵X'X的特征根散布程度, 可用来判断多重共线性是否存在以及多重共线性严重程度。在应用经验中,若0<k<10,则认为没有多重共线性;10≤k≤30,则认为存在中等程度或较强的多重共线性;k>30,则认为存在严重的多重共线性。
(2)方差分量
强的多重共线性同时还会表现在变量的方差分量上∶对于条件数大的,同时有2个以上变量的方差分量超过50%,就意味这些变量间有一定程度的相关。
2.用方差膨胀因子来进行共线性诊断
(1)容许度(Tolerance,在Model语句中的选择项为TOL)
对一个入选变量而言,该统计量等于1- R2, 这里R2是把该自变量当作因变量对模型中所有其余回归变量的决定系数, R2大(趋于1),则1-R2=TOL小(趋于0),容许度差,该变量不由其他变量说明的部分相对很小(存在共线性)。
(2)方差膨胀因子(VIF)
VIF=1/TOL,该统计量有人译为“方差膨胀因子”(VarianceInflation Factor),对于不好的试验设计,VIF的取值可能趋于无限大。VIF达到什么数值就可认为自变量间存在共线性?尚无正规的临界值。[陈希孺、王松桂,1987]根据经验得出∶VIF>5或10时,就有严重的多重共线性存在。
3.用学生化残差对观测点中的异常点进行诊断
对因变量的预测值影响特别大,甚至容易导致相反结论的观测点,被称为强影响点(In-fluence Case)或称为异常点(Outlier)。有若干个统计量(如∶Cook' D统计量、hi统计量、STUDENT统计量、RSTUDENT统计量等,这些统计量的定义参见本章第6节)可用于诊断哪些点对因变量的预测值影响大,其中最便于判断的是学生化残差STUDENT统计量。当该统计量的值大于2时,所对应的观测点可能是异常点,此时,需认真核对原始数据。若属抄写或输入数据时人为造成的错误,应当予以纠正;若属非过失误差所致,可将异常点剔除后再作回归分析。如果有可能,最好在此点上补做试验,以便进一步确认可疑的“异常点”是否确属异常点。
二、应用举例
[例4.2.1] 某精神病学医生想知道精神病患者经过6个月治疗后疾病恢复的情况Y是否能通过精神错乱的程度X1、猜疑的程度X2两项指标来较为准确地预测。资料如下,试作分析。
No. Y X1 X2 No. Y X1 X2
1 28 3.36 6.9 9 23 3.15 6.5
2 24 3.23 6.5 10 16 2.60 6.3
3 14 2.58 6.2 11 13 2.70 6.9
4 21 2.81 6.0 12 22 3.08 6.3
5 22 2.80 6.4 13 20 3.04 6.8
6 10 2.74 8.4 14 21 3.56 8.8
7 28 2.90 5.6 15 13 2.74 7.1
8 8 2.63 6.9 16 18 2.78 7.2
[分析与解答] 先建立数据文件PDH.DAT,输成16行3列的形式。 显然,这是二元线性回归分析问题。因为自变量个数很少,我们先用不筛选自变量的方法建立回归方程,视结果的具体情况再确定进一仓析方案。
[SAS程序]──[D4P14.PRG]
DATA abc1; DATA abc2; DATA abc3;
INFILE 'c:pdh.dat'; INFILE 'c:pdh.dat'; INFILE 'c:pdh.dat';
INPUT y x1 x2; INPUT y x1 x2; INPUT y x1 x2;
IF _N_=8 THEN DELETE;
PROC REG; PROC REG;
PROC REG; MODEL y=x1 x2 / MODEL y=x1 x2 /
MODEL y=x1 x2; NOINT P R; NOINT P R;
RUN; RUN; RUN;
(程序1) (程序2) (程序3)
[程序修改指导] 此程序实际上是3个独立的程序,它们并不是一次写出来的。程序1很简单,它拟合Y关于X1、X2的二元线性回归方程;从运算结果得知∶ 方程的截距项与0之间无显著性差别,表明可将截距项去掉(加上选择项NOINT),于是,产生了程序2; 程序2的运算结果表明∶第8个观测点为可疑的异常点,试着将此点剔除后看看结果有什样的变化,胀产生了程序3。 程序2与程序3MODEL语句中的选择项P、R分别要求计算各点上因变量的预测值和进行残差分析。欲求标准化回归系数,可在MODEL语句的“/”之后加上“STB”。
[输出结果及其解释] Parameter Estimates
Parameter Standard T for H0:
Variable DF Estimate Error Parameter=0 Prob > |T|
INTERCEP 1 -2.588983 7.74143989 -0.334 0.7434
X1 1 18.372877 2.47536610 7.422 0.0001
X2 1 -4.738875 0.87135198 -5.439 0.0001
以上是程序1的参数估计结果,不难看出截距项可以去掉。
NOTE: No intercept in model. R-square is redefined.
Dependent Variable: Y Analysis of Variance
Sum of Mean
Source DF Squares Square F Value Prob>F
Model 2 6110.88058 3055.44029 474.661 0.0001
Error 14 90.11942 6.43710
U Total 16 6201.00000
Root MSE 2.53714 R-square 0.9855
Dep Mean 18.81250 Adj R-sq 0.9834
C.V. 13.48648
Parameter Estimates
Parameter Standard T for H0:
Variable DF Estimate Error Parameter=0 Prob > |T|
X1 1 17.806056 1.74594949 10.198 0.0001
X2 1 -4.873584 0.74775285 -6.518 0.0001
这是程序2的方差分析和参数估计结果,方程与各参数的检验结果都有显著性意义,所求得的二元线性回归方程为∶Y^=17.806056X1-4.873584X2,SY.X=2.53714。SY.X是回归模型误差的均方根,此值越小,表明所求得的回归方程的精度越高(下同)。
① ② ③ ④ ⑤ ⑥
Dep Var Predict Std Err Student Cook's
Obs Y Value Predict Residual -2-1-0 1 2 D
1 28.0000 26.2006 0.983 0.769 | |* | 0.052
2 24.0000 25.8353 1.015 -0.789 | *| | 0.059
3 14.0000 15.7234 0.582 -0.698 | *| | 0.014
4 21.0000 20.7935 0.718 0.085 | | | 0.000
5 22.0000 18.6660 0.609 1.354 | |** | 0.056
6 10.0000 7.8505 1.645 1.113 | |** | 0.449
7 28.0000 24.3455 1.046 1.581 | |*** | 0.256
8 8.0000 13.2022 0.829 -2.170 | ****| | 0.281
9 23.0000 24.4108 0.906 -0.595 | *| | 0.026
10 16.0000 15.5922 0.599 0.165 | | | 0.001
11 13.0000 14.4486 0.757 -0.598 | *| | 0.017
12 22.0000 24.1391 0.914 -0.904 | *| | 0.061
13 20.0000 20.9900 0.682 -0.405 | | | 0.006
14 21.0000 20.5020 0.874 0.209 | | | 0.003
15 13.0000 14.1861 0.817 -0.494 | | | 0.014
16 18.0000 14.4110 0.827 1.496 | |** | 0.133
这是对程序2中的二元回归模型作残差分析的结果,从第④、⑤两列发现第8个观测点所对应的学生化残差的绝对值大于2(因STUDENT=-2.170),故认为该点可能是异常点,需认真检查核对原始数据。
第①~③列分别为因变量的观测值、预测值及其标准误差;其后的普通残差及其标准误差被省略了;第⑥列为Cook's D统计量(参见本章第6节)。下面的内容是与因变量的残差有关的其他几个统计量(仍由程序2输出)∶
Sum of Residuals -0.296920582 这是各观测点残差之和;
Sum of Squared Residuals 90.1194 这是各观测点残差平和;
Predicted Resid SS (Press) 122.8819 这是各观测点预测平和。
[说明] 关于预测平方和Press的定义参见本章第6节。
NOTE: No intercept in model. R-square is redefined.
Dependent Variable: Y Analysis of Variance
Sum of Mean
Source DF Squares Square F Value Prob>F
Model 2 6077.17852 3038.58926 660.326 0.0001
Error 13 59.82148 4.60165
U Total 15 6137.00000
Root MSE 2.14515 R-square 0.9903
Dep Mean 19.53333 Adj R-sq 0.9888
C.V. 10.98198
Parameter Estimates
Parameter Standard T for H0:
Variable DF Estimate Error Parameter=0 Prob > |T|
X1 1 16.972158 1.51154343 11.228 0.0001
X2 1 -4.465611 0.65190815 -6.850 0.0001
这是程序3的方差分析和参数估计结果,方程与各参数的检验结果都有显著性意义,所
求得的二元线性回归方程为∶Y^=16.972158X1-4.465611X2, SY.X=2.14515。
Dep Var Predict Std Err Student Cook's
Obs Y Value Predict Residual -2-1-0 1 2 D
1 28.0000 26.2137 0.831 0.903 | |* | 0.072
2 24.0000 25.7936 0.858 -0.912 | *| | 0.079
3 14.0000 16.1014 0.514 -1.009 | **| | 0.031
4 21.0000 20.8981 0.608 0.050 | | | 0.000
5 22.0000 18.9421 0.526 1.470 | |** | 0.069
6 10.0000 8.9926 1.460 0.641 | |* | 0.177
7 28.0000 24.2118 0.886 1.939 | |*** | 0.386
8 23.0000 24.4358 0.766 -0.717 | *| | 0.038
9 16.0000 15.9943 0.530 0.003 | | | 0.000
10 13.0000 15.0121 0.677 -0.988 | *| | 0.054
11 22.0000 24.1409 0.773 -1.070 | **| | 0.085
12 20.0000 21.2292 0.584 -0.596 | *| | 0.014
13 21.0000 21.1235 0.777 -0.062 | | | 0.000
14 13.0000 14.7979 0.731 -0.891 | *| | 0.052
15 18.0000 15.0302 0.740 1.475 | |** | 0.147
这是对程序3中的二元回归模型作残差分析的结果,没有发现异常点。下面的内容是与因变量的残差有关的其他几个统计量(仍由程序3输出)∶
Sum of Residuals 0.0827062059
Sum of Squared Residuals 59.8215
Predicted Resid SS (Press) 79.9550
比较第8个观测点去掉前后预测平和Press的值从122.8819降为79.9550;对整个方程检验的F值从474.661上升为660.326,表明该点对因变量预测值的影响是比较大的,值得注意。
[专业结论] 可用二元线性回归方程Y^=16.972158X1-4.465611X2较好地预测因变量Y的的值,回归方程误差均方根为 =2.14515。
[例4.2.2] 有人在某地抽样调查了29例儿童的血红蛋白与4种微量元素的含量, 资料如下,试问∶可否用4种微量元素(单位都是μmol/L)钙(X1)、镁(X2)、铁(X3)、 铜(X4)来较好地预测血红蛋白(Y,g/L)的含量?
No. Y X1 X2 X3 X4 No. Y X1 X2 X3 X4
1 135.0 13.70 12.68 80.32 0.16 16 102.5 17.48 15.13 73.35 0.19
2 130.0 18.09 17.51 83.65 0.26 17 100.0 15.73 14.41 68.75 0.13
3 137.5 13.43 21.73 76.18 0.19 18 97.5 12.16 12.55 61.38 0.15
4 140.0 16.15 16.10 84.09 0.19 19 95.0 13.04 11.15 58.41 0.13
5 142.5 14.67 15.48 81.72 0.16 20 92.5 13.03 14.87 69.55 0.16
6 127.5 10.90 10.76 70.84 0.09 21 90.0 12.40 10.45 59.27 0.14
7 125.0 13.70 12.68 80.32 0.16 22 87.5 15.22 12.03 46.35 0.19
8 122.5 21.49 18.00 78.78 0.28 23 85.0 13.39 11.83 52.41 0.21
9 120.0 15.06 15.70 70.60 0.18 24 82.5 12.53 11.99 52.38 0.16
10 117.5 13.48 14.07 72.60 0.20 25 80.0 16.30 12.33 55.99 0.16
11 115.0 15.28 15.35 79.83 0.22 26 78.0 14.07 12.04 50.66 0.21
12 112.5 15.01 13.84 68.59 0.14 27 75.0 16.50 13.12 61.61 0.11
13 110.0 17.39 16.44 74.59 0.21 28 72.5 18.44 13.54 55.94 0.18
14 107.5 18.03 16.49 77.11 0.19 29 70.0 11.80 11.73 52.75 0.13
15 105.0 13.75 13.57 79.80 0.14
[分析与解答] 为回答所提的问题,选用多元线性回归分析较合适。先将数据按29行5列的形式输入,建立数据文件BLOOD.DAT。
[SAS程序]──[D4P15.PRG]
DATA abc1; DATA abc2;
INFILE 'a:blood.dat'; INFILE 'a:blood.dat';
INPUT y x1-x4; INPUT y x1-x4;
PROC reg;
PROC reg; MODEL y=x1-x4 / NOINT
MODEL y=x1-x4 / COLLIN SELECTION=STEPWISE
COLLINOINT; SLE=0.30 SLS=0.10 STB;
RUN; RUN;
(程序1) (程序2)
[程序修改指导] 由于自变量不太多,为便于对全部变量都参入计算的结果有一个全面的了解,先用程序1作试探性分析,并用了共线性诊断的技术。
值得注意的是∶用来实现共线性诊断的选择项有①COLLIN、②COLLINOINT两个,①对截距未进行校正,②对截距进行了校正。 若MODEL语句中加了选择项/NOINT(即方程中不包含截距项),此时,①、②的输出结果完全相同,故只需写其中一个即可;若MODEL语句中未加选择项/NOINT(即方程中包含截距项),此时,①、②的输出结果之间差别大小视截距项的检验结果有无显著性而有所不同。当截距项无显著性意义时,①、②的输出结果差别很小,用其中任何一个结果都是可以的,参见本例程序1的输出结果;当截距项有显著性意义时,①、②的输出结果差别较大,应该用由②输出的结果,参见在本例结尾所给的[样例]。
若希望对异常点进行诊断,可在MODEL语句的“/”号之后加上选择项INFLUNENCE。 由于程序1运行的结果表明“截距项无显著性意义”,提示应将截距项从模型中去掉,于是,产生了程序2。MODEL语句中各选择项的含义是∶NOINT不要截距项、STEPWISE用逐步回归法筛选自变量、SLE=0.3规定选变量进入方程的显著性水平为0.3、 SLS=0.1规定从方程中剔除变量的显著性水平为0.1、STB要求求出标准化回归参数的估计值。
[输出结果及其解释] Parameter Estimates
Parameter Standard T for H0:
Variable DF Estimate Error Parameter=0 Prob > |T|
INTERCEP 1 10.782240 15.13792270 0.712 0.4832
X1 1 -2.879064 1.11230011 -2.588 0.0161
X2 1 0.962525 1.25246133 0.769 0.4497
X3 1 1.608516 0.22663810 7.097 0.0001
X4 1 82.381011 66.22720491 1.244 0.2255
程序1的参数估计结果∶截距项、X2、X4都无显著性意义,但不应过早将X2、X4从模型中去掉。最好等截距项从模型中去掉之后,重新拟合,视最后的结果再作决定。
Collinearity Diagnostics
Condition Var Prop Var Prop Var Prop Var Prop Var Prop
Number Eigenvalue Number INTERCEP X1 X2 X3 X4
1 4.93078 1.00000 0.0007 0.0005 0.0005 0.0006 0.0011
2 0.03428 11.99292 0.0534 0.0073 0.0021 0.1146 0.4866
3 0.01752 16.77725 0.3464 0.1532 0.1543 0.1634 0.0329
4 0.00987 22.34885 0.3501 0.6432 0.1500 0.0548 0.4424
5 0.00755 25.55850 0.2495 0.1957 0.6931 0.6665 0.0370
这是共线性诊断的第1部分,即未对截距项校正的回归诊断结果∶从最后一行的条件数25.5585>10(概念参见本章第4节)可知,自变量之间有较强的共线性;从该行方差分量(概念参见本章第4节)的数值可看出∶自变量之间的共线性主要表现在X2、X3两变量上。
Collinearity Diagnostics(intercept adjusted)
Condition Var Prop Var Prop Var Prop Var Prop
Number Eigenvalue Number X1 X2 X3 X4
1 2.48779 1.00000 0.0564 0.0500 0.0428 0.0523
2 0.86649 1.69444 0.1183 0.0266 0.3632 0.1287
3 0.38251 2.55027 0.8248 0.0652 0.0315 0.4721
4 0.26320 3.07440 0.0005 0.8583 0.5624 0.3468
这是共线性诊断的第2部分,即对截距项校正之后的回归诊断结果∶因本例的截距项无显著性意义,故用第1部分诊断结果就可以了。
Stepwise Procedure for Dependent Variable Y
Step 1 Variable X3 Entered R-square = 0.98979882 C(p) = 4.72240744
Step 2 Variable X1 Entered R-square = 0.99086912 C(p) = 3.39412226
Step 3 Variable X4 Entered R-square = 0.99175444 C(p) = 2.64104696
Step 4 Variable X4 Removed R-square = 0.99086912 C(p) = 3.39412226
All variables in the model are significant at the 0.1000 level.
No other variable met the 0.3000 significance level for entry into the model.
Summary of Stepwise Procedure for Dependent Variable Y
Variable Number Partial Model
Step Entered Removed In R**2 R**2 C(p) F Prob>F
1 X3 1 0.9898 0.9898 4.7224 2716.7811 0.0001
2 X1 2 0.0011 0.9909 3.3941 3.1649 0.0865
3 X4 3 0.0009 0.9918 2.6410 2.7916 0.1068
4 X4 2 0.0009 0.9909 3.3941 2.7916 0.1068
这是程序2中逐步回归分析的扼要结果,详细结果省略了。 筛选的结果表明∶ X3是有非常显著性影响的变量;而X1仅在P=0.0865水平上有显著性意义,若规定SLS=0.05,则回归方程中只有X3一个自变量。
NOTE: No intercept in model. R-square is redefined.
Dependent Variable: Y Analysis of Variance
Sum of Mean
Source DF Squares Square F Value Prob>F
Model 2 332179.21155 166089.60577 1464.999 0.0001
Error 27 3061.03845 113.37179
U Total 29 335240.25000
Root MSE 10.64762 R-square 0.9909
Dep Mean 105.36207 Adj R-sq 0.9902
C.V. 10.10574
Parameter Estimates
Parameter Standard T for H0: Standardized
Variable DF Estimate Error Parameter=0 Prob > |T| Estimate
X1 1 -1.242806 0.69859480 -1.779 0.0865 -0.17439412
X3 1 1.813880 0.15247384 11.896 0.0001 1.16618435
这是逐步回归分析的最后结果,回归方程为∶Y^=-1.242806X1+1.813880X3
两个标准化回归系数分别为-0.174394、1.166184,结合前面共线性诊断的结果可知, X1与X3之间无密切的相关关系,故可认为X3对Y的影响大于X1。
[专业结论] 微量元素中铁(X3)的含量对血红蛋白(Y)的影响有非常显著性意义。铁的吸收量提高后,有助于血红蛋白含量的提高(因B3=1.166>0);而钙的吸收量提高后,反而会使血红蛋白含量有减少的趋势(因B1=-0.174)。
[样例] 某项试验研究中,有5个自变量X1~X5和1个因变量Y(资料见下面的SAS程序)。试拟合Y关于5个自变量的回归方程,并用COLLIN和COLLINOINT两个选择项进行回归诊断。
[SAS程序]──[D4P16.PRG]
DATA DEF;
INPUT X1-X5 Y @@; CARDS;
64 14 20 224 100 24.08 70 14 18 236 100 25.67
64 16 24 242 100 28.59 72 16 22 212 100 25.31
66 18 28 218 85 27.88 72 18 26 230 85 31.53
66 20 18 242 85 27.99 74 20 30 206 85 28.03
68 22 22 218 85 27.77 74 22 20 230 85 31.31
68 24 26 236 70 31.21 76 24 24 206 70 29.16
70 26 30 212 70 30.83 76 26 28 224 70 36.39
;
PROC REG;
MODEL Y=X1-X5 / COLLIN COLLINOINT; RUN;
[主要的输出结果及其解释]
Model 5 118.13988 23.62798 18.403 0.0003
Parameter Estimates
Parameter Standard T for H0:
Variable DF Estimate Error Parameter=0 Prob > |T|
INTERCEP 1 -57.943239 18.64712848 -3.107 0.0145
X1 1 0.366552 0.09834124 3.727 0.0058
X2 1 0.461635 0.23793565 1.940 0.0883
X3 1 0.375219 0.10492087 3.576 0.0072
X4 1 0.178010 0.03300629 5.393 0.0007
X5 1 0.037111 0.08722535 0.425 0.6817
总回归模型有非常显著性意义,截距项有显著性意义。
Collinearity Diagnostics
Condition Var Prop Var Prop Var Prop Var Prop Var Prop Var Prop
No.Eigenvalue Number INTERCEP X1 X2 X3 X4 X5
1 5.91800 1.00000 0.0000 0.0001 0.0001 0.0004 0.0000 0.0000
2 0.06096 9.85257 0.0001 0.0000 0.0263 0.0274 0.0012 0.0110
3 0.01623 19.09264 0.0001 0.0017 0.0529 0.6035 0.0059 0.0006
4 0.00330 42.31577 0.0000 0.3054 0.0015 0.0607 0.2266 0.0067
5 0.00128 68.01582 0.0000 0.3928 0.5570 0.0038 0.2901 0.4284
6 0.0002135 166.48038 0.9998 0.3001 0.3623 0.3042 0.4762 0.5533
这是选择项COLLIN输出的结果,由于截距项有显著性意义,故从未对截距项进行校正的共线性诊断结果中几乎看不出哪些自变量之间有共线性关系。
Collinearity Diagnostics(intercept adjusted)
Condition Var Prop Var Prop Var Prop Var Prop Var Prop
No.Eigenvalue Number X1 X2 X3 X4 X5
1 2.97296 1.00000 0.0327 0.0088 0.0319 0.0253 0.0084
2 0.95851 1.76115 0.0537 0.0191 0.0091 0.3251 0.0178
3 0.71429 2.04013 0.4066 0.0014 0.3572 0.0082 0.0000
4 0.30371 3.12869 0.5049 0.0259 0.5196 0.6299 0.0102
5 0.05053 7.67044 0.0021 0.9447 0.0822 0.0115 0.9636
这是选择项COLLINOINT输出的结果,由于截距项有显著性意义,故从对截距项进行校正后的共线性诊断结果中可清楚地看出∶X2与X5两个自变量之间存在严重的共线性关系。 |