在这个公众号最早开始发文章的时候,我写过一篇关于多重共线性的文章:
这篇文章通过一种比较intuitive和简单的方式介绍了为什么多重共线性在线性回归模型中会成问题,今天我们从线性代数的角度来聊聊为什么线性回归模型中的多重共线性是成问题的。
要看懂这篇文章会涉及到一些比较进阶的线性代数知识,比如读者至少要清楚地了解四个基本子空间(Four fundamental subspaces)的知识。(在写完这篇文章以后,我才发现我写的已经很数学很“天书”了,所以你要是在任何一刻觉得阅读不适或无法理解的话,欢迎随时退出)
我在《慎点!!!多元线性回归最小二乘法推导》一文中聊过通过矩阵求解最小二乘的思路和结果,假如我们有如下的线性回归方程:
我们可以将它用矩阵形式简写为:
通过最小化误差向量的l-2 norm,我们最终可以获得这样一个方程:
如果想要真正求解b,你就需要计算XTX的逆矩阵:
什么时候我们无法通过上述方法求解b?其实就是XTX不可逆(Singular)的情况。显然,XTX一定为方阵,所以当XTX不存在逆时,也就意味着其不满秩,或者说,N(XTX)(该矩阵的零空间)不仅仅包含零向量。
简而言之,假如我们想要通过上述方程求解b,XTX就必须可逆(Invertible),N(XTX)中就仅能包含零向量,我们如何能够保证这一点呢?让我先抛出答案:
1)当X中的各列独立时,XTX必可逆。
为了验证这个答案的正确性,让我们先将问题转化一下。当X中各列独立时,实际上就意味着N(X)中仅仅包括零向量;而前述提到,当XTX可逆时,N(XTX)也仅包含零向量。所以,如果我们能够证明下述:
2)N(X)和N(XTX)是相同的(Identical)。
就相当于证明了定理1)!如何证明定理2)呢?我们先来看N(X)中的向量c是否总落在N(XTX)中:
很好!接下来我们再来看看N(XTX)中的向量d是否总落在N(X)中:
好!现在两方面都验证了,我们成功证明了定理2),也就自然而然得出了定理1)。同时,通过定理2)的证明,我们还可以多看一步:定理1)反过来也是成立的(X各列独立是XTX可逆的充要条件)!
现在让我们回到这篇文章的主题,多重共线性为什么会出问题呢?我们想象一种多重共线性的极端情况,也就是某两个x变量的数值完全相同,那是不是就是在说明X中的有两条相同的列,或者说,X中的列不独立。由于我们已经证明了定理1)中的二条件互为充要条件,我们可以得出此时XTX也不可逆——这就造成了我们有关于b的方程不再能够求解。
大家或许听说过Lasso regression和ridge regression,它们的中文翻译分别为:套索回归和岭回归(Stupid translation!)。这两种回归都可以解决多重共线性的问题,而对它们原理的一种解释就是它们会给XTX加入一些元素,让它从不可逆变为可逆……
但我们知道,多重共线性只会导致beta系数估计值的方差过大,我们仍旧能够获得最终的模型参数估计,那么这些估计值到底是如何获得的呢?我还不知道,后续知道了或许会更新,或许就干脆不更新了。因为这明显已经要成为我公众号最“天书”的一篇文章了,以后要少更这种文章,以免让读者以为作者已经成仙了……