y
=
−
32
+
0.163
x
1
+
0.228
x
2
+
0.881
x
3
−
0.05
x
4
+
0.169
x
5
y=-32+0.163x_1+0.228x_2+0.881x_3-0.05x_4+0.169x_5
y=−32+0.163x1+0.228x2+0.881x3−0.05x4+0.169x5
一般vif大于10即可认为存在严重的多重共线性: 通过建立x1~x2+x3+x4+x5的线性关系得到R方,那么x1的方差膨胀因子就是
V
I
F
=
1
1
−
R
2
VIF=\frac{1}{1-R^2}
VIF=1−R21 其他的类似,r语言有vif这个函数可以直接求:
library(car)#检验多重共线性的包
vif(b)#b是线性回归的结果
可以看出:vif值都小于10,即可判断出没有多重共线性
3.矩阵
X
T
X
X^TX
XTX的条件数k
条件数的定义为:
k
(
X
T
X
)
=
∥
X
T
X
∥
⋅
∥
(
X
T
X
)
−
1
∥
=
λ
max
(
X
T
X
)
λ
min
(
X
T
X
)
\,\,k\left( X^TX \right) =\left\| X^TX \right\| \cdot \left\| \left( X^TX \right) ^{-1} \right\| =\frac{\lambda _{\max \left( X^TX \right)}}{\lambda \min \left( X^TX \right)}
k(XTX)=∥∥XTX∥∥⋅∥∥∥(XTX)−1∥∥∥=λmin(XTX)λmax(XTX) 若k<100,则认为多重共线性的程度很小,在100到1000之间则认为存在中度或较强的多重共线性,若大于1000,则认为存在严重的多重共线性。 在R软件中,用kappa()计算矩阵的条件数,其使用方法为:
y
=
−
18.43
+
0.249
x
2
+
0.986
x
3
y=-18.43+0.249x_2+0.986x_3
y=−18.43+0.249x2+0.986x3
二、异方差性的检验及修正
1.异方差性的实质
设模型为
Y
i
=
β
0
+
β
1
x
1
i
+
β
2
x
2
i
+
.
.
.
+
β
k
x
k
i
+
u
i
(
i
=
1
,
2
,
.
.
.
n
)
\\ Y_i=\beta _0+\beta _1x_{1i}+\beta _2x_{2i}+...+\beta _kx_{_{ki}}+u_i\left( i=1,2,...n \right)
Yi=β0+β1x1i+β2x2i+...+βkxki+ui(i=1,2,...n) 如果其他假定均不变,但模型中随机误差项
u
i
u_i
ui的方差为
V
a
r
(
u
i
)
=
σ
i
2
(
i
=
1
,
2
,
.
.
.
n
)
Var(u_i)=\sigma_i^2(i=1,2,...n)
Var(ui)=σi2(i=1,2,...n) 则称
u
i
u_i
ui具有异方差性(heteroscedasiticity)
得到方程:
y
e
=
−
36
e
+
0.187
x
1
e
+
0.205
x
2
e
+
0.883
x
3
e
+
0.004
x
4
e
+
0.158
x
5
e
\frac{y}{\sqrt{e}}=\frac{-36}{\sqrt{e}}+0.187\frac{x_1}{\sqrt{e}}+0.205\frac{x_2}{\sqrt{e}}+0.883\frac{x_3}{\sqrt{e}}+0.004\frac{x_4}{\sqrt{e}}+0.158\frac{x_5}{\sqrt{e}}
ey=e−36+0.187ex1+0.205ex2+0.883ex3+0.004ex4+0.158ex5 其中e是残差