我正在尝试使用vif
R 包中的函数来解释方差膨胀因子car
。该函数同时打印一个广义的并且. 根据帮助文件,后一个值
为了调整置信椭球的维度,该函数还打印 GVIF^[1/(2*df)] 其中 df 是与项相关的自由度。
我不明白帮助文件中这个解释的含义,所以我不确定我是否应该使用或者. 对于我的模型,这两个值非常不同(最大值是~; 最大是~)。
有人可以向我解释我应该使用哪一个,以及调整置信椭球的尺寸是什么意思?
我正在尝试使用vif
R 包中的函数来解释方差膨胀因子car
。该函数同时打印一个广义的并且. 根据帮助文件,后一个值
为了调整置信椭球的维度,该函数还打印 GVIF^[1/(2*df)] 其中 df 是与项相关的自由度。
我不明白帮助文件中这个解释的含义,所以我不确定我是否应该使用或者. 对于我的模型,这两个值非常不同(最大值是~; 最大是~)。
有人可以向我解释我应该使用哪一个,以及调整置信椭球的尺寸是什么意思?
Georges Monette 和我在论文“广义共线性诊断”中介绍了 GVIF,JASA 87:178-183, 1992(链接)。正如我们所解释的,如果该子集中的回归量与互补子集中的回归量不相关,则 GVIF 表示系数子集的联合置信椭圆体的超体积与“乌托邦”椭圆体的平方比。在单个系数的情况下,这专门针对通常的 VIF。为了使 GVIF 在维度上具有可比性,我们建议使用 GVIF^(1/(2*Df)),其中 Df 是子集中系数的数量。实际上,这将 GVIF 降低为线性度量,并且对于 Df = 1 的 VIF,由于系数的置信区间中的共线性,它与通货膨胀成正比。
我遇到了完全相同的问题,并试图解决问题。请参阅下面的详细答案。
首先,我发现 4 个选项在 R 中产生相似的 VIF 值:
• corvif
来自 AED 包的命令,
• vif
来自汽车包的命令,
• vif
rms 包中的命令,
• vif
来自DAAG 包的命令。
在一组不包括任何因子/分类变量或多项式项的预测变量上使用这些命令是非常困难的。即使corvif
AED 包中的命令将结果标记为 GVIF,所有三个命令都会产生相同的数字输出。
然而,通常情况下,GVIF 仅对因子和多项式变量起作用。需要超过 1 个系数并因此需要超过 1 个自由度的变量通常使用 GVIF 进行评估。对于单系数项,VIF 等于 GVIF。
因此,您可以应用标准的经验法则来判断共线性是否会成为问题,例如 3、5 或 10 阈值。但是,可以(应该)采取一些谨慎措施(参见:http ://www.nkd-group.com/ghdash/mba555/PDF/VIF%20article.pdf )。
在多系数项的情况下,例如分类预测变量,这 4 个包产生不同的输出。rms 和 DAAG 包中的vif
命令产生 VIF 值,而其他两个产生 GVIF 值。
让我们先看看 rms 和 DAAG 包中的 VIF 值:
TNAP ICE RegB RegC RegD RegE
1.994 2.195 3.074 3.435 2.907 2.680
TNAP 和 ICE 是连续预测变量,Reg 是由 RegB 到 RegE 的虚拟变量呈现的分类变量。在这种情况下,RegA 是基线。所有 VIF 值都相当适中,通常无需担心。这个结果的问题是,它受分类变量基线的影响。为了确保 VIF 值不高于可接受的水平,有必要对作为基线的分类变量的每个水平重新进行此分析。在这种情况下五次。
应用corvif
来自 AED 包的vif
命令或来自汽车包的命令,会生成 GVIF 值:
| GVIF | Df | GVIF^(1/2Df) |
TNAP | 1.993964 | 1 | 1.412078 |
ICE | 2.195035 | 1 | 1.481565 |
Reg | 55.511089 | 5 | 1.494301 |
GVIF 是针对一组相关回归变量(例如一组虚拟回归变量)计算的。对于两个连续变量 TNAP 和 ICE,这与之前的 VIF 值相同。对于分类变量 Reg,我们现在得到一个非常高的 GVIF 值,即使分类变量的单个级别的 VIF 值都是中等的(如上所示)。
但是,解释是不同的。对于两个连续变量, (这基本上是 VIF/GVIF 值的平方根,因为 DF = 1)是标准误差和它们的系数的置信区间由于共线性水平的比例变化。这分类变量的值是由于共线性而降低系数估计精度的类似度量(即使尚未准备好引用,也请查看http://socserv2.socsci.mcmaster.ca/jfox/papers/linear-模型问题.pdf)。
如果我们然后简单地应用相同的标准经验法则如文献中推荐的 VIF 值,我们只需要平方.
阅读所有论坛帖子、网络上的简短注释和科学论文,似乎有一些混乱正在发生。在同行评审的论文中,我发现了忽略,为 VIF 建议的相同标准规则适用于 GVIF 值。在另一篇论文中,接近 100 的 GVIF 值被排除在外,因为相当小(由于高 DF)。的规则在一些出版物中应用,这相当于一个系数变量的普通 VIF 为 4。
Fox & Monette(GVIF 的原始引文,GVIF^1/2df)建议将 GVIF 提高到 1/2df 的幂,使得 GVIF 的值在不同数量的参数上具有可比性。“这类似于取通常的方差膨胀因子的平方根”(从 An R and S-Plus Companion to Applied Regression by John Fox)。所以是的,将其平方并应用通常的 VIF“经验法则”似乎是合理的。