一、多重共线性的确认:
做出自变量间的相关系数矩阵:如果相关系数超过0.9的变量在分析时将会存在共线性问题。在0.8以上可能会有问题。但这种方法只能对共线性作初步的判断,并不全面。
1. 容忍度(Tolerance)
有 Norusis 提出,即以每个自变量作为应变量对其他自变量进行回归分析时得到的残差比例,大小用1减决定系数来表示。该指标越小,则说明该自变量被其余变量预测的越精确,共线性可能就越严重。陈希孺等根据经验得出:如果某个自变量的容忍度小于0.1,则可能存在共线性问题。
2. 方差膨胀因子(Variance inflation factor, VIF):
由Marquardt于1960年提出,实际上就是容忍度的倒数。VIF都是大于1的数,一般认为小于5时几近没有多重共线性,在[5, 10)间时存在一定的多重共线性,大于10则有需要关注的多重共线性,这时应当对变量进行调整,大于100时有严重册多重共线性,此时后续回归的系数具有高度可变性,故系数不可信。
3. 特征根(Eigenvalue)
该方法实际上就是对自变量进行主成分分析,如果相当多维度的特征根等于0,则可能有比较严重的共线性。
4. 条件指数(Condition Idex)
由Stewart等提出,当某些维度的该指标数值大于30时,则能存在共线性。
K
(
A
)
=
∣
∣
A
∣
∣
⋅
∣
∣
A
−
1
∣
∣
∣
∣
A
∣
∣
=
max
x
∣
∣
A
x
∣
∣
∣
∣
x
∣
∣
∣
∣
A
−
1
∣
∣
=
max
y
∣
∣
A
−
1
y
∣
∣
∣
∣
y
∣
∣
=
1
/
min
y
∣
∣
y
∣
∣
∣
∣
A
−
1
y
∣
∣
=
1
/
min
x
∣
∣
A
x
∣
∣
∣
∣
x
∣
∣
K(A) = ||A|| \cdot ||A^{-1}||\\ ||A|| =\max\limits_{x} \frac{||Ax||}{||x||} \\ ||A^{-1}|| = \max\limits_{y} \frac{||A^{-1}y||}{||y||} = 1/\min\limits_y\frac{||y||}{||A^{-1}y||} = 1/\min\limits_x\frac{||Ax||}{||x||}
K(A)=∣∣A∣∣⋅∣∣A−1∣∣∣∣A∣∣=xmax∣∣x∣∣∣∣Ax∣∣∣∣A−1∣∣=ymax∣∣y∣∣∣∣A−1y∣∣=1/ymin∣∣A−1y∣∣∣∣y∣∣=1/xmin∣∣x∣∣∣∣Ax∣∣其中,
y
=
A
x
y=Ax
y=Ax。
∣
∣
A
∣
∣
||A||
∣∣A∣∣为矩阵
A
A
A的范数,表示
A
A
A对向量
x
x
x的拉伸能力,
∣
∣
A
−
1
∣
∣
||A^{-1}||
∣∣A−1∣∣为矩阵
A
−
1
A^{-1}
A−1的范数,表示
A
−
1
A^{-1}
A−1对向量
x
x
x的压缩能力。二者乘积即为Kappa条件数
K
(
A
)
K(A)
K(A),表示了矩阵
A
A
A对向量的拉伸与压缩能力。
K
(
A
)
K(A)
K(A)越大,
A
A
A对向量
x
x
x的干涉(拉伸与压缩)能力越强,共线性越强,解的稳定性越差。故当
κ
(
A
)
\kappa(A)
κ(A)大于一定值时(),认为
A
A
A存在多重共线性。
- kappa<100则认为有共线性程度很小。
- 100<=kappa<=1000则认为存在中等程度或者较强的共线性。
- 若kappa>1000则认为存在很严重的共线性
#R语言代码:
kappa(A)
二、多重共线性的对策:
【1】增大样本量,可部分的解决共线性问题
【2】采用多种自变量筛选方法相结合的方式,建立一个最优的逐步回归方程。
【3】从专业的角度加以判断,人为的去除在专业上比较次要的,或者缺失值比较多,测量误差比较大的共线性因子。
【4】进行主成分分析,用提取的因子代替原变量进行回归分析。
【5】进行岭回归分析,它可以有效的解决多重共线性问题。
【6】进行通径分析(Path Analysis),它可以对应自变量间的关系加以精细的刻画。