关于交叉项问题,很多人认为在模型中加入交叉项时需要对变量进行中心化,认为这样能够解决多重共线性问题,实际上这种想法是错误的。首先我们从源头上解释有这种想法的原因,我们举一个例子看看。
这里的condition number 为31.8179,大于15而且大于30,于是很多人会认为多重共线性相当严重。实际上这是错误的想法,对共线性的检验,我们应该采用中心化后的变量进行collin检验,这样才能真正判断是否存在共线性,我们采用collin,corr命令对中心化后的变量进行多重共线性检验。
此时我们会发现,condition number=8.5989<15,说明模型并不存在多重共线性。这个结果才是我们需要汇报在文章中的(如果你想检验共线性的,当然我基本上不做共线性检验)。这就是很多人误以为中心化能减少共线性的原因,因为他认为中心化和非中心化能得到不同的结果,而我认为共线性检验的正确做法是上述第二种,也就是说x1 x2的共线性检验应该是中心化后再做collin检验。
实际上你会发现,无论你在模型中使用原始变量还是中心化变量,对系数估计并没有影响,这一点在黄河泉老师的PPT里讲的比较详细,我就不班门弄斧了。简单给出结果,大家看一下:
实际上上述结果是完全一致的,前两种可能要结合经济含义手动算一下就可以得到后两种的结果。
所以说中心化并不会解决多重共线性问题,如果你看懂我一开始说道理,原因很简单,那就是我们检验共线性时应该直接对中心化的变量做检验,这样得到的结果就是原始变量的多重共线性检验结果。