如何用Stata命令消除多重共线性问题

如题所述

影响
(1)完全共线性下参数估计量不存在
(2)近似共线性下OLS估计量非有效
多重共线性使参数估计值的方差增大,1/(1-r2)为方差膨胀因子(Variance Inflation Factor, VIF)如果方差膨胀因子值越大,说明共线性越强。相反 因为,容许度是方差膨胀因子的倒数,所以,容许度越小,共线性越强。可以这样记忆:容许度代表容许,也就是许可,如果,值越小,代表在数值上越不容许,就是越小,越不要。而共线性是一个负面指标,在分析中都是不希望它出现,将共线性和容许度联系在一起,容许度越小,越不要,实际情况越不好,共线性这个“坏蛋”越强。进一步,方差膨胀因子因为是容许度倒数,所以反过来。
总之就是找容易记忆的方法。
(3)参数估计量经济含义不合理
(4)变量的显著性检验失去意义,可能将重要的解释变量排除在模型之外
(5)模型的预测功能失效。变大的方差容易使区间预测的“区间”变大,使预测失去意义。
需要注意:即使出现较高程度的多重共线性,OLS估计量仍具有线性性等良好的统计性质。但是OLS法在统计推断上无法给出真正有用的信息。
判断方法
如图,是对德国人口老龄化情况的分析,其中y是老龄化情况,线性回归的x1、x2、x3分别为人均国内生产总值、出生率、每个医生平均负担人口数。
判断方法1:特征值,存在维度为3和4的值约等于0,说明存在比较严重的共线性。
判断方法2:条件索引列第3第4的值大于10,可以说明存在比较严重的共线性。
判断方法3:比例方差内存在接近1的数(0.99),可以说明存在较严重的共线性。
解决方法
(1)排除引起共线性的变量
找出引起多重共线性的解释变量,将它排除出去,以逐步回归法得到最广泛的应用。
(2)差分法
时间序列数据、线性模型:将原模型变换为差分模型。
(3)减小参数估计量的方差:岭回归法(Ridge Regression)。
(4)简单相关系数检验法
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-12-24
先用vif命令检测是否存在多重共线性
接着使用pca命令来做主成分分析找出主成分。或者用stepwise命令来进行逐步回归。交叉项反应了两个变量共同对被解释变量是否有显著影响,在设定的时候应尽量避免多重共线性的问题,如果明知有多重共线性还要强行设定交叉项就可能不能估计,就没有意义了做变量间的相关只能大致判断变量间是否存在多重共线性,建议楼主用estat vif或者coldiag2、collin等命令去通过检验统计量判断下变量间是否真的存在近似多重共线性(完全多从共线性stata建模时会直接omit掉)。若存在,可考虑用主成分回归;或者用逐步回归;或者用岭回归。
第2个回答  2017-10-11
做变量间的相关只能大致判断变量间是否存在多重共线性,建议楼主用estat vif或者coldiag2、collin等命令去通过检验统计量判断下变量间是否真的存在近似多重共线性(完全多从共线性stata建模时会直接omit掉)。若存在,可考虑用主成分回归;或者用逐步回归;或者用岭回归。祝好运。
第3个回答  2017-10-11
做变量间的相关只能大致判断变量间是否存在多重共线性,建议楼主用estat vif或者coldiag2、collin等命令去通过检验统计量判断下变量间是否真的存在近似多重共线性(完全多从共线性stata建模时会直接omit掉)。若存在,可考虑用主成分回归;或者用逐步回归;或者用岭回归
第4个回答  2017-10-11
先用vif命令检测是否存在多重共线性
接着使用pca命令来做主成分分析找出主成分
或者用stepwise命令来进行逐步回归本回答被提问者采纳
相似回答