多元线性回归中处理自变量共线性的几种方法--在SAS/STAT软件中使用REG和其他过程增强函数(6.12)_自变量论文

处理多元线性回归中自变量共线性的几种方法——SAS/STAT软件(6.12)中REG等过程增强功能的使用,本文主要内容关键词为:线性论文,自变量论文,几种方法论文,过程论文,功能论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。

中图分类号:0212;C8

回归分析方法是处理多变量间相依关系的统计方法。它是数理统计中应用最为广泛的方法之一。在长期的大量的实际应用中人们也发现:建立回归方程后,因为自变量存在相关性,将会增加参数估计的方差,使得回归方程变得不稳定;有些自变量对因变量(指标)影响的显著性被隐蔽起来;某些回归系数的符号与实际意义不符合等等不正常的现象。这些问题的出现原因就在于自变量的共线性。本文通过例子来介绍自变量共线性的诊断方法以及使用SAS/STAT软件6.12版本中REG等过程的增强功能处理回归变量共线性的一些方法。

一、共线性诊断

共线性问题是指拟合多元线性回归时,自变量之间存在线性关系或近似线性关系。

共线性诊断的方法是基于对自变量的观测数据构成的矩阵X'X进行分析,使用各种反映自变量间相关性的指标。共线性诊断常用统计量有方差膨胀因子VIF(或容限TOL)、条件指数和方差比例等。

方差膨胀因子VIF 是指回归系数的估计量由于自变量共线性使得其方差增加的一个相对度量。对第i个回归系数。 它的方差膨胀因子定义为

第i个回归系数的方差1

VIF[,i]=─────────────────=─────

自变量不相关时第i个回归系数的方差

1-R[2][,i]

1

=─────

TOL[,i]

其中R[2][,i]是自变量x[,i]对模型中其余自变量线性回归模型的R平方。VIF[,i]的倒数TOL[,i]也称为容限(Tolerance)。

一般建议,若VIF>10,表明模型中有很强的共线性问题。

若矩阵X'X的特征值为d[2][,1]≥d[2][,1]≥…≥d[2][,k], 则X

d[,1] d[,1]

的条件数───就是刻划它的奇性的一个指标。故称────(j=1,

d[,k] d[,j]

…,k)为条件指数。

一般认为,若条件指数值在10与30间为弱相关;在30与100 间为中等相关;大于100表明有强相关。

对于大的条件指数,还需要找出哪些变量间存在强的线性关系。因为每个条件指数对应一个特征向量,而大的条件指数相应的特征值较小,故构成这一特征向量的变量间有近似的线性关系。在统计中用方差比例来说明各个自变量在构成这个特征向量中的贡献。

一般建议,在大的条件指数中由方差比例超过0.5 的自变量构成的变量子集就认为是相关变量集。

二、筛选变量的方法

变量筛选的一些方法除了把对因变量Y 影响不显著的自变量删除之外,还可以从有共线关系的变量组中筛选出对因变量Y 影响显著的少数几个变量。

例1 (水泥数据)某种水泥在凝固时放出的热量Y(卡/克)与水泥中下列四种化学成份有关:x[,1](3CaO.Al[,2]O[,3]的成份)、x[,2](3CaO.SiO[,2]的成份)、x3(4CaO.Al[,2]O[,3].Fe[,2]O[,3]的成份)和x[,4](2CaO.SiO[,2])。共观测了13组数据(见表1),试用REG过程分析水泥数据,求出Y与x[,1],x[,2],x[,3],x[,4]的最优回归式。

表1 水泥数据

序号x[,1]x[,2] x[,3]x[,4] Y

17

26 6

60

78.5

21

2915

52

74.3

3

11

56 8

20 104.3

4

11

31 8

47

87.6

57

52 6

33

95.9

6

11

55 9

22 109.2

73

71176 102.7

81

3122

44

72.5

92

5418

22

93.1

10

21

47 4

26 115.9

111

4023

34

83.8

12

11

66 9

12 113.3

13

10

68 8

12 109.4

解(1)首先用REG过程对自变量的共线性进行诊断,只需在MODEL语句的斜杠(/)后使用选项VIF和COLLINOINT(或COLLIN),以下SAS程序输出的部分结果见输出1.1(假设表1中的数据已生成SAS 数据集D1)。

proc reg data=d1;

model y=x1-x4/vif collinoint;

run;

由输出1.1的参数估计部分,可以得出:①4个自变量的方差膨胀因子(VIF)均大于10,最大为282.51, 表示变量之间有严重的多重共线关系。②回归方程的截距项=0的假设是相容的(p值=0.3991);③所有自变量在α=0.05的显著水平下对因变量的影响均不显著(有三个变量的p值大于0.5),而回归方程是高度显著的(p值=0.0001,输出1.1没有显示),这说明自变量对因变量的显著影响均被变量间的多重相关性隐藏了。

输出1.1 水泥数据共线性诊断的部分结果

Collinearity Diepnotics (inter cept adjusted)

Number

Eigenvalue Cumdiliumvif prup

vif prup

Indexx[,1] x[,2]

12.235701.0000

0.00260.0006

21.57607

1.19102

0.00430.0004

30.18661

3.46134

0.06350.0021

40.00162 37.10634

0.92960.9969

Paranetar Estimntes

paranoter standard T for HO:

vnrlnhla

DFFntlantrFrrorPronartra o

INTI-HIT-P 1 62.40535970.07095921 0.891

x[,1] 1 1.551103 0.74476987 2.083

x[,2] 1 0.510158 0.72279800 0.705

x[,3] 1 0.101909 0.75110905 0.125

x[,4] 1 -0.144051 0.70905206-0.203

Collinearity Diepnotics (inter cept adjusted)

Number

vif prupvif prup

x[,3] x[,4]

10.0015 0.0005

20.0050 0.0005

30.0465 0.0007

40.9471 0.9983

Paranetar Estimntes

Varlance

vnrlnhla Prnh>|T|inflotlm

INTI-HIT-P 0.3991 0.00000000

x[,1]0.0703 38.49621149

x[,2]0.5009254.12316585

x[,3]0.8955 45.85888688

x[,4]0.8441282.51286479

由输出1.1的共线性诊断部分,可以得出:①最大条件指数37.1 >30,说明4个自变量间有中等相关关系;②与最大条件指数在一行的4个变量的方差比例均大于0.5,这说明这4个变量就是一个具有中等相关的变量集。

(2)用逐步回归方法从相关变量集中选出“最优”回归子集, 当引入和删除的显著性水平α取为0.05时,入选的自变量为x[,1]和x[,4];当显著性水平α取为0.10或0.15时,则入选的自变量为x[,1]和x[,2]。可见用逐步筛选的方法得到的回归子集与显著水平的选取有关,选出的子集是某个较优的回归方程。容易验证这里得到的两个子集中变量对Y的影响都是高度显著的,且自变量的方差膨胀因子VIF值都小于1.1,表明已没有共线问题。

(3)用全子集法计算所有可能回归,从中选出最优的回归方程。以下SAS程序中,MODEL语句斜杠(/)后的选项指出用R[2]选择法,要求对每种变量个数输出二个最佳的回归子集,并输出均方根误差、CP、AIC和修正R[2]统计量,产生的结果见输出1.2。

proc reg data=d431;

model y=x[,1]-x[,4]/selection=rsquare best=2 cp aic rmse adjrsq;

run;

输出1.2 对水泥数据计算所有可能回归的部分结果

N=13 Begression Models for Dependent Variable:Y

Number InH-square Ad Justed C(p)

ModelR-square

1 0.67454196 0.64495487 138.73083

1 0.66626826 0.63592901 142.48641

2 0.97867837 0.97441405 2.67824

2 0.97247105 0.96696526 5.49585

3 0.98233545 0.97644727 3.01823

3 0.98228468 0.97687957 3.04128

4 0.98237562 0.97356343 5.00000

N=13

Begression Models for Dependent Variable:Y

Number In

AIC

Hoot Varlables Model

Model

MSE

158.85164

8.963302

x[,4]

159.17799

9.077125

x[,2]

225.41999

2.406335

x[,1]

x[,2]

220.74170

2.734266

x[,1]

x[,4]

324.97388

2.308745

x[,1]

x[,2] x[,4]

325.01120

2.312061

x[,1]

x[,2] x[,3]

426.94429

2.446008

x[,1]

x[,2] x[,3] x[,4]

在模型中变量个数固定为2的回归子集中选出的最优回归子集是x[,1]和x[,2],其次是x[,1]和x[,4]。如果按均方根误差最小的准则、修正R[2]最大准则及AIC最小准则,选出的最优子集都是x[,1]、x[,2] 和x[,4]。但在回归系数的显著性检验中,x[,4]对Y的作用不显著(p=0.2054);且x[,2]和x[,4]的方差膨胀因子VIF值>10,共线诊断的结论也说明x[,2]和x[,4]是相关的变量集。而按CP统计量最小准则选出的最优回归子集为x[,1]和x[,2]。综合以上分析可得出Y与x[,1]、x[,2] 的回归方程是可用的最优方程。

用筛选变量的方法从有共线性的变量组中筛选出对因变量Y 影响显著的若干个变量来建立最优回归式,不仅克服了共线性问题,且使得回归式简化;但有些实际问题希望建立Y与给定自变量的回归式, 既使自变量有共线性问题,如经济分析中的问题。下面三种方法都是针对这类问题而给出的方法。

三、岭回归方法

在经典多元线性回归分析中,参数β=(β[,0],β[,1],…,β[,m])'的最小二乘估计b=(b[,0],b[,1],…,b[,m])'的均方误差为E{(b-β)'(b-β)},当自变量存在多重共线关系时, 均方误差将变得很大,故从均方误差的角度看,b不是β的好估计。

减少均方误差的方法就是用岭回归估计替代最小二乘估计。设k≥0,则称

b(k)=(X'X+kI)[-1]X'Y为β的岭回归估计。用岭回归估计建立的回归方程为岭回归方程。当k=0时b(0)=b就是β的最小二乘估计。从理论上可以证明,存在k>0,使得b(k)的均方误差比b的均方误差小;但使得均方误差达到最小的k值依赖于未知参数β和σ[2]。因此k值的确定是岭回归分析中的关键。

在实际应用中,通常确定k值的方法有以下几种:①岭迹图法, 即对每个自变量x[,i],绘制随k值的变化岭回归估计b[,i](k)的变化曲线图。一般选择k使得各个自变量的岭迹趋于稳定。 ②方差膨胀因子法,选择k使得岭回归估计的VIF<10。③控制残差平方和法,即通过限制b(k)估计的残差平方和不能超过cQ(其中c>1为指定的常数,Q 为最小二乘估计的残差平方和)来找出最大的k值。 下面通过例子来介绍岭回归分析。

例2:经济分析数据的岭回归分析

考察进口总额Y与三个自变量:国内总产值x[,1],存储量x[,2], 总消费量x[,3](单位均为十亿法郎)有关。现收集了1949年至1959 年共11年的数据(见表2)。对表2的数据试用REG 过程求进口总额与总产值、存储量和总消费量的定量关系式。

表2 经济分析数据

序号

x[,1]

x[,2]

x[,3] Y

1149.34.2108.115.9

2161.24.1114.816.4

3171.53.1123.219.0

4175.53.1126.919.1

5180.81.1132.118.8

6190.72.2137.720.4

7202.12.1146.022.7

8212.45.6154.126.5

9226.15.0162.328.1

10231.95.1164.327.6

11239.00.7167.626.3

解 (1)使用REG过程来建立Y与x[,1]、x[,2]、x[,3]的回归关系式。以下SAS程序产生的完整输出结果这里省略了(假设表2中的数据已生成SAS数据集D2)。

proc reg data=d2 corr;

model y=x[,1]-x[,3]/vif collin;

run;

由REG过程得到的回归方程为:

Y=-10.128-0.051x[,1]+0.587x[,2]+0.287x[,3]

变量x[,1]的系数为负值,这与实际情况不符。 出现此现象的原因是变量x[,1]与x[,3]线性相关:ρ(x[,1],x[,3])=0.997。在MODEL语句后加上选项VIF和COLLIN产生的输出(省略了)可以更清楚地看出x[,1]和x[,3]是多重相关的变量集。为了消除变量之间的多重共线关系,岭回归就是一个有效的方法。

(2)在MODEL语名的斜杠(/)后由选项RIDGE=指定一组k值来完成岭回归分析。在PLOT语句中由选项RIDGEPLOT要求绘制岭迹图。 PROCREG语句的选项OUTEST=OUT2要求把这一组k值的岭回归估计送到输出数据集OUT2中,选项OUTVIF还要求把岭回归估计的方差膨胀因子(VIF )送到输出集中。以下SAS程序的部分输出结果见输出2.1和输出2.2。

proc reg data=d2 outest=out2 graphics outvif;

model y=x[,1]-x[,3]/ridge=0.0 to 0.1 by 0.01 0.2 0.3 0.4 0.5;

plot/ridgeplot;

proc print data=out2;

由岭迹图可以看出,当k≥0.02后,岭迹曲线趋于稳定。取k=0.02的岭回归估计来建立岭回归方程,由输出2.2可以写出岭回归方程式为:

Y=-8.9277+0.057x[,1]+0.59542x[,2]+0.127x[,3]这时得到的岭回归方程中回归系数的符号都有意义;各个回归系数的方差膨胀因子均小于3(见输出2.2中OBS为6的那一行);岭回归方程的均方根误差(_RMSE_=0.57016 )虽比普通最小二乘回归方程的均方根误差(_RMSE_=0.48887)有所增大,但增加不多。

输出2.1 经济分析数据的岭迹图

输出2.2 经济分析数据的输出数据集(部分)

OBB

_MODEL__TYPE__DEPVAR_ _RIDGE_ _PCOMIT_ _RMBE_

1 MODEL1PARMSY0.48887

2 MODEL1

RIDGEVIF Y

0.00

3 MODEL1RIDGEY

0.00 0.40007

4 MODEL1

RIDGEVIF Y

0.01

5 MODEL1RIDGEY

0.01 0.55323

6 MODEL1

RIDGEVIF Y

0.02

7 MODEL1RIDGEY

0.02 0.57016

8 MODEL1

RIDGEVIF Y

0.03

9 MODEL1RIDGEY

0.03 0.57959

10 MODEL1

RIDGEVIF Y

0.04

11 MODEL1RIDGEY

0.04 0.58745

12 MODEL1

RIDGEVIF Y

0.05

13 MODEL1RIDGEY

0.05 0.59520

14 MODEL1

RIDGEVIF Y

0.06

15 MODEL1HIDGEY

0.06 0.60337

OBB

INTERCEP

x[,1]

x[,2]x[,3] Y

1-10.1280 -0.051 0.58695

0.287 -1

2 185.997 1.01891 186.110-1

3-10.1200 -0.051 0.50695

0.207 -1

4

8.599 0.98192

8.604 -1

5 -9.1805

0.046 0.59886

0.144 -1

6

2.858 0.96219

2.859 -1

7 -8.9277

0.057 0.59512

0.127 -1

8

1.502 0.94345

1.502 -1

9 -8,7337

0.061 0.59080

0.120 -1

10

0.979 0.92532

0.979 -1

11 -8.5583

0.064 0.58591

0.116 -1

12

0.723 0.90773

0.723 -1

13 -8.3919

0.065 0.58095

0.113 -1

14

0.579 0.89065

0.578 -1

15 -8.2309

0.065 0.57600

0.111 -1

四、主成分回归法

主成分分析是将具有多重相关的变量集综合得出少数几个互不相关的综合变量——主成分的统计方法。主成分回归首先找出自变量集的主成分,然后建立Y与互不相关的前几个主成分的回归关系式, 最后还原为自变量的回归方程式——主成分回归式。

例3:经济分析数据的主成分回归分析

解 使用REG过程做主成分回归。在SAS/STAT软件的6.12版本中,用REG过程提供的选项可完成主成分回归的计算。SAS程序如下:

proc reg data=d2 outest=out3;

model y=x[,1]-x[,3]/pcomit=1,2 outvif;

proc print data=out3;

在MODEL语句的斜线(/)后通过选项PCOMIT=1,2 表示要求删去最后面(即最不重要)的1个或2个主成分之后,用前面m-1个主成分或前面m-2个主成分(m为自变量的个数,此例m=3)主成分回归。 主成分回归的结果存放在SAS数据集OUT3中。

由输出3.1可以得出删去第三个主成分(PCOMIT=1)后的主成分回归方程(见输出3.1中OBS为3的那一行)为Y=-9.1301+0.07278x[,1]+0.60922x[,2]+0.10626x[,3]

输出3.1 经济分析数据主成分回归的结果

OBB

_MODEL__TYPE__DEPVAR_ _RIDGE_ _PCOMIT_ _RMBE_

1 MODEL1PARMSY0.48887

2 MODEL1IPCVIF

Y 1

3 MODEL1 IPC Y 1 0.55001

4 MODEL1IPCVIF

Y 2

5 MODEL1 IPC Y 2 1.05206

OBB

INTERCEP

x[,1]

x[,2]x[,3] Y

1-10.1280 -0.051400.58695 0.28685-1

2

0.250831.00085 0.25038-1

3 -9.1301

0.072780.60922 0.10626-1

4

0.249560.00095 0.24971-1

5 -7.7458

0.073810.08269 0.10735-1

这个主成分回归方程中回归系数和符号都是有意义的;各个回归系数的方差膨胀因子均小于1.1(见输出3.1中OBS为2的那一行);主成分回归方程的均方根误差(_RMSE_=0.55)虽比普通回归方程的均方根误差(_RMSE_=0.48887)有所增大,但增加不多。

五、偏最小二乘回归法

偏最小二乘(PLS)回归是工业应用中用于软建模的流行方法。 当多个因变量间以及多个自变量间存在严重的多重相关时,PLS 是构造预测模型的一种有效方法。

偏最小二乘回归的基本作法是首先在自变量集中提取第一潜因子t[,1](t[,1]是x[,1],x[,2],…,x[,m]的线性组合, 且尽可能多地提取原自变量集中的变异信息,比如第一主成分);同时在因变量集中也提取第一潜因子u[,1],并要求t[,1]与u[,1]相关程度达最大。 然后建立因变量Y与t[,1]的回归,如果回归方程已达到满意的精度,则算法终止。否则继续第二轮潜在因子的提取,直到能达到满意的精度为止。若最终对自变量集提取ι个潜因子t[,1],t[,2],…t[,ι],偏最小二乘回归将通过建立Y与t[,1],t[,2],…,t[,ι]的回归式,然后再表示为Y与原自变量的回归方程式。

SAS/STAT软件6.12版本提供一个试验性过程PLS(在SAS系统8.0版本中PLS已作为正式过程提供给用户)可完成偏最小二乘回归。 以下仍以经济分析数据为例介绍偏最小二乘回归。

例4:经济分析数据的偏最小二乘回归分析

解 使用PLS过程做偏最小二乘回归。以下SAS程序中选项METHOD=规定抽取因子的方法为SIMPLS,这是一个比标准PLS更有效的算法; 选项CV=ONE 要求用删去一个观测的交叉确认方法决定抽取潜在因子的个数;OUTMODEL=命名存放模型信息的输出数据集为O454(输出的部分结果见输出4.1)。

proc pls data=d2 outmodel=out4 cv=one method=simpls;

model y=x[,1]-x[,3];

proc print data=out4;

输出4.1 经济分析数据偏最小二乘回归的结果

The PLS Procedure

Cross Validation for the Number of Latent Variables

Number of Root

Latent

Mean

Variables PRESS

----------------------------------------

0 1.1000

1 0.1901

2 0.1495

3 0.1523

Minimum Root Mean PRESS=0.149527 for 2 latent variables

The PLS Procedure

Percent Validation Accounted For

Number of

Model EffoctsDependent Variables

Latent

Variables Current Totel Current

Totel

1 66.3223 66.322397.9216 97.9216

2 33.5879 99.9102 0.9091 98.8307

OBS _LV__TYPE_ x[,1]

x[,2]

1

2

SIM

2 CENTER 194.591 3.30000

3 SCALE

30.000 1.64924

4

1R 0.695 0.18049

5

2R -0.108 0.99576

6

1B 0.487 0.12662

7

2B 0.477 0.22120

8

1PQ 0.702 0.11228

9

2PQ-0.132 0.98363

10

0V 1.000 1.00000

11

1V 9.981 0.02508

12

2V 0.999 1.00000

OBSx[,3]_X_Y_Y_

2139.736

21.8909

3 20.6344.5437

4 0.700

5 -0.052

6 0.491 1.00000

7 0.486 1.00000

8 0.703

1.0000

9 -0.122

1.0000

10 1.000 1.00000 1.0000 1.00000

11 0.984 0.66322 0.9792 0.97922

12 0.999 0.99910 0.9883 0.98831

输出4.1 的第一部分给出抽取潜在变量的个数及相应的用于度量拟合效果的预测残差平方和(PRESS)的均方根值,并指出L=2 时预测残差平方和的均方根达最小。输出的第二部分给出第一、二个潜在变量所解释的变差的百分数(包括自变量和因变量两方面);输出的第三部分给出所拟合的模型的信息(数据集OUT4的内容)。其中OBS为2和3 的行给出自变量和因变量的均值和标准差;OBS为7的行给出抽取二个潜在因

~ ~子时的偏最小二乘估计,由估计值可以写出标准化回归方程为(Y和x表示Y和x的标准化变量):

~ ~ ~ ~

Y=0.477x[,1]+0.2212x[,2]+0.487x[,3]用原始变量可表示为

Y=-0.82486+0.0677x[,1]+0.6094x[,2]+0.1070x[,3]以上偏最小二乘回归方程中回归系数的符号都是有意义的。偏最小二乘回归的均方根误差(0.5872 )比普通最小二乘回归的均方根误差(_RMSE_=0.48887)有所增大,但增加不多。

偏小二乘回归对研究很多因变量及很多自变量的相依关系时更能显示其特点,此例变量个数少,故没能看出太多的优点。

标签:;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  

多元线性回归中处理自变量共线性的几种方法--在SAS/STAT软件中使用REG和其他过程增强函数(6.12)_自变量论文
下载Doc文档

猜你喜欢