stata做回归分析时,有变量提示由于共线性被忽略,求大神指导如何处理?是将其剔除再回归吗?
1个回答
展开全部
不一定,首先变量提示由于共线性被剔除有两种原因,一种是正常的,不用管,一种是不正常的,需要处理,不过总的来说无论你是否处理,它都不会进入回归(stata会自动忽略),要处理的都是你的模型假设。
正常的,就是说例如这样:我们假设我们分析的群体是51~80岁的,我们想把年龄分成三组,变量1是虚拟变量代表在50~60岁间(是=1,否=0),变量2是虚拟变量代表在61~70岁间,变量3是虚拟变量代表在71~80岁间。那么当你回归时加入这三个虚拟变量控制年龄的时候,因为这三个变量的和一定为1(共线性),所以系统会自动忽略其中一个,但是这个时候你不用在模型中删除那个被忽略的变量,因为这是正常的,这代表那个变量被自动选为基准组。我们在解释其他组的变量的系数上,也是解释为“相对于被忽略的那个基准组,这个变量所代表的组如何影响因变量,这个组是有平均比起基准组更多还是更少的因变量“。
不正常的,就是说明明不是分组的虚拟变量,但也有共线性。比如说可能是这样,你想看丈夫和妻子的年龄差,然后又希望控制丈夫和妻子的年龄,这时由于(年龄差=年龄相减)产生了共线性,这说明你的模型本身就设定失误,我们只需要控制丈夫的年龄就可以达到都控制的效果。
也可能是这样:你想看”是否退休“对因变量的影响,但是因为你的样本比较窄,比如是”20~50“岁的样本,导致所有人都没有退休,”是否退休“变量对所有人都是0(没退休),所以被忽略掉,这时就意味着你的样本不支持做你想要的模型,此时也只得删掉这个变量了。
正常的,就是说例如这样:我们假设我们分析的群体是51~80岁的,我们想把年龄分成三组,变量1是虚拟变量代表在50~60岁间(是=1,否=0),变量2是虚拟变量代表在61~70岁间,变量3是虚拟变量代表在71~80岁间。那么当你回归时加入这三个虚拟变量控制年龄的时候,因为这三个变量的和一定为1(共线性),所以系统会自动忽略其中一个,但是这个时候你不用在模型中删除那个被忽略的变量,因为这是正常的,这代表那个变量被自动选为基准组。我们在解释其他组的变量的系数上,也是解释为“相对于被忽略的那个基准组,这个变量所代表的组如何影响因变量,这个组是有平均比起基准组更多还是更少的因变量“。
不正常的,就是说明明不是分组的虚拟变量,但也有共线性。比如说可能是这样,你想看丈夫和妻子的年龄差,然后又希望控制丈夫和妻子的年龄,这时由于(年龄差=年龄相减)产生了共线性,这说明你的模型本身就设定失误,我们只需要控制丈夫的年龄就可以达到都控制的效果。
也可能是这样:你想看”是否退休“对因变量的影响,但是因为你的样本比较窄,比如是”20~50“岁的样本,导致所有人都没有退休,”是否退休“变量对所有人都是0(没退休),所以被忽略掉,这时就意味着你的样本不支持做你想要的模型,此时也只得删掉这个变量了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询