作者anovachen (囧)
看板Statistics
标题[问题] 共线性对回归系数的影响-实例探讨
时间Tue Apr 9 01:21:46 2013
这是今天去听某场报告听到的问题...
有四个model,忧郁量表分数为反应变项,
某行为是需要探讨的解释变项。
model4把所有可能的confounder都放入回归分析,
model3则是还没放入某健康状态。
在model3的年龄的回归系数显着大於零,
但是在model4,年龄的回归系数却显着小於零。
统计老师宣称这是不太可能发生的事情,
就算是共线性也只会让显着变不显着。
但是,共线性真的不会造成这种从"显着>0"变成"显着<0"的现象吗?
是否会显着,除了要看回归系数的点估计值和零差了多少以外,
还要考虑到该回归系数的标准误吧?
有没有可能标准误在共线性发生後增加幅度不够大*,
但点估计值从>0变成<0?
(*某书上说共线性会让标准误变大?但是下列模拟数据x1的标准误似乎没这样变?)
要如何从比较数学的方式来证明或否证我的论述呢?
我目前设计的一个反例长这样:(与该生研究完全无关,只是模拟而已)
SAS程式码:
data test;
input y x1 x2 x3;
cards;
100 0 20 -50
95 0 19 -49
99 1 22 -51
200 0 30 -60
188 1 31 -64
204 1 29 -58
250 1 60 -130
240 1 59 -125
244 1 61 -135
...(重复上列数字多次)
(这九笔资料重复七次共得63笔资料,藉此冲高样本数,让回归系数更易达到显着)
;
run;
proc reg data=test ; model y= x1; run;
proc reg data=test ; model y= x1 x2; run;
proc reg data=test ; model y= x1 x2 x3; run;
proc reg data=test ; model y= x1 x2 x3/ selection=forward; run;
proc corr data=test; var x1 x2 x3; run;
经分析後:
Pearson 相关系数, N = 63
Prob > |r| (位於 H0 底下): Rho=0
x1 x2 x3
x1 1.00000 0.57590 -0.54105
<.0001 <.0001
x2 0.57590 1.00000 -0.99240
<.0001 <.0001
x3 -0.54105 -0.99240 1.00000
<.0001 <.0001
参数估计值
参数 标准
变数 DF 估计 误差 t 值 Pr
> |t|
Intercept 1 131.66667 11.28602 11.67
<.0001
x1 1 72.50000 13.82250 5.25
<.0001
参数估计值
参数 标准
变数 DF 估计 误差 t 值 Pr
> |t|
Intercept 1 62.26136 9.02900 6.90
<.0001
x1 1 10.13581 9.75699 1.04
0.3031
x2 1 3.01762 0.27189 11.10
<.0001
参数估计值
参数 标准
变数 DF 估计 误差 t 值 Pr
> |t|
Intercept 1 86.07193 3.91508 21.98
<.0001
x1 1 -11.85460 4.16085 -2.85
0.0060
x2 1 16.70657 0.79250 21.08
<.0001
x3 1 6.38974 0.36631 17.44
<.0001
也就是说,
x1的回归系数从72.5变成10.14再变成-11.85。
而且这三个回归系数都是显着不为零的。
(其他的回归诊断还没做...待会再分析看看)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
刚看了一下残差的图,x1有可能会有heteroscedasticity,
但就算这样也只是会高估标准误而已吧?(变得更不易显着?)
1F:→ andrew43:何不比较看看y=x1+x2和y=x1+x3说不定就明白了? 04/09 01:49
2F:→ andrew43:何况你的三个IV都有相关, 系数不稳定可说是必然的. 04/09 02:07
我故意设计会让系数不稳定的数据,藉此否证老师的说法。
我认为共线性导致某变数回归系数显着大於零变成显着小於零是可能的。
但是那些情况下会发生这问题?
有办法用数学方法证明吗?
想从基本的公式:
b=(X'X)^-1X'Y
V(b)=(X'X)^-1σ^2
写出证明...实在很难下手。
※ 编辑: anovachen 来自: 114.27.252.171 (04/10 02:01)