回归拟合时增加解释变量为什么拟合优度一般会增加至少不减苏州太阳花感知技术有限公司孙静远关键词:线性回归,最小二乘,残差生成阵,投影矩阵,解释变量,拟合优度,SSR,SSE拟合优度𝑅2=𝑆𝑆𝑅𝑆𝑆𝑇=1−𝑆𝑆𝐸𝑆𝑆𝑇是评价模型拟合度的重要标准,而在引入调整的拟合优度𝑅̅2时,我们一般给出解释:增加任意解释变量都会使SSE减小,从而使拟合优度增大,然而实际上增加的解释变量并不一定和被解释变量有很强的因果关系,有时恰恰相反,所以需要排除自由度变化所带来的影响。我在看到这里的时候觉得有疑问,为什么增加任意的解释变量都会使得SSE减小。搜索很久,始终找不到自己满意的证明,费了很长时间按自己的思路清楚,想到以后学到此处会有同样问题的人,对自己所做的作一个整理,写了这篇文章。1背景知识1.1回归模型[𝑦1⋮𝑦𝑛]=[1𝑥11⋯⋮⋮⋱1𝑥𝑛1⋯𝑥1𝑘⋮𝑥𝑛𝑘][𝛽0⋮𝛽𝑘]+[𝜀1⋮𝜀𝑛]𝒚=𝑿𝜷+𝜺假设:a.𝜺~𝑵(𝟎,𝝈𝟐𝑰)b.𝐸(𝜀𝑖𝜀𝑗)=0,𝑖≠𝑗c.rank(𝑿)=k+1d.Cov(𝜀𝑖,𝑋𝑖)=0,𝐸(𝑿′𝜺)=𝟎1.2最小二乘的代数学理解将下文中会用到最小二乘的投影关系在这里讲一下。最小二乘的代数学定义为欧式距离,要误差的平方和∑(𝑦𝑖−𝑦𝑖̂)2最小,即是要(𝒚−𝒚̂)的模长最小,𝒚̂=𝑿𝜷̂是的𝑿列向量的线性组合,即𝒚̂在𝑿的列向量空间内,(𝒚−𝒚̂)是一根从𝑿的列向量空间出发指向𝒚的末端点的一个向量,要它的模长最短即是要它垂直𝑿的列向量空间(以三维空间为例,如图1),即𝑿′(𝒚−𝒚̂)=𝟎,解得𝜷̂=(𝑿′𝑿)−𝟏𝑿′𝒚最小二乘投影矩阵P和残差生成阵M在后面的问题推导过程中使用较多,有必要先讲清楚。图11.3投影矩阵𝑷及残差生成阵𝑴𝒚̂=𝑿𝜷̂=𝑿(𝑿′𝑿)−𝟏𝑿′𝒚~𝑁(𝑿𝜷,𝑿(𝑿′𝑿)−𝟏𝑿′𝜎2)𝒆=𝒚−𝒚̂=(𝑰−𝑿(𝑿′𝑿)−𝟏𝑿′)𝒚~𝑁(𝟎,(𝑰+𝑿(𝑿′𝑿)−𝟏𝑿′)𝜎2)考虑矩阵𝑷=𝑿(𝑿′𝑿)−𝟏𝑿′𝑴=𝑰−𝑿(𝑿′𝑿)−𝟏𝑿′这两个矩阵均是对称幂等矩阵,即符合𝑷′=𝑷,𝑷𝟐=𝑷;𝑴′=𝑴,𝑴𝟐=𝑴,此类矩阵还具有一些特殊的性质𝑷𝑿=𝑿(𝑿′𝑿)−𝟏𝑿′𝑿=𝑿,𝑴𝑿=𝑰𝑿−𝑿(𝑿′𝑿)−𝟏𝑿′𝑿=𝟎另外,这两个矩阵在线性回归中有特定的几何意义。𝑷阵为投影生成阵(projectionmatrix),任意一个向量𝒚与它相乘的结果实际上是向量𝒚在𝑿列向量空间中的投影,在回归模型中表示𝒚基于𝑿最小二乘回归的拟合值。这也解释了为什么𝑷𝑿=𝑿(𝑿的列向量本来就在自身的列向量空间内,投影结果当然是自身)𝒆𝒚̂𝑿的列向量空间𝒚𝑴阵为残差生成阵(residualmaker),任意一个向量𝒚与它相乘的结果实际上是𝒚到𝑿列向量空间模长(距离)最短的一个向量,即生成的向量垂直于𝑿列向量空间,在回归模型中表示𝒚基于𝑿最小二乘回归的残差。这也解释了为什么𝑴𝑿=𝟎(𝑿的列向量到自身的列向量空间距离都是0,即生成的向量模长都是0)2证明拟合优度一般会增加至少不减用分块矩阵的方法证明。原模型:𝒚=𝑿𝟏𝒃+𝜺𝟏~𝑁(𝑿𝟏𝒃,𝜎𝜀12𝑰);𝒚=𝑿𝟏𝒃̂+𝒆𝟏增加解释变量后:𝒚=[𝑿𝟏𝑿𝟐][𝒅𝒄]+𝜺𝟐~𝑁(𝑿𝟏𝒅+𝑿𝟐𝒄,𝜎𝜀22𝑰);𝒚=𝑿𝟏𝒅̂+𝑿𝟐𝒄̂+𝒆𝟐要求证明𝒆𝟐′𝒆𝟐≤𝒆𝟏′𝒆𝟏𝒆𝟐=𝒚−𝑿𝟏𝒅̂−𝑿𝟐𝒄̂先求𝒅̂和𝒄̂,比较其与𝒃̂和𝒆𝟏的关系由最小二乘得[𝒅̂𝒄̂]=([𝑿𝟏′𝑿𝟐′][𝑿𝟏𝑿𝟐])−1[𝑿𝟏′𝑿𝟐′]𝒚=[𝑿𝟏′𝑿𝟏𝑿𝟏′𝑿𝟐𝑿𝟐′𝑿𝟏𝑿𝟐′𝑿𝟐]−𝟏[𝑿𝟏′𝒚𝑿𝟐′𝒚](1)令𝑨=𝑿𝟏′𝑿𝟏;𝑩=𝑿𝟏′𝑿𝟐;𝑪=𝑿𝟐′𝑿𝟏;𝑫=𝑿𝟐′𝑿𝟐由附录1将(1)式化为=[𝑨−𝟏+𝑨−𝟏𝑩𝑬𝑪𝑨−𝟏−𝑨−𝟏𝑩𝑬−𝑬𝑪𝑨−𝟏𝑬][𝑿𝟏′𝒚𝑿𝟐′𝒚];𝑬=[𝑫−𝑪𝑨−𝟏𝑩]−1=[𝑨−𝟏𝑿𝟏′𝒚+𝑨−𝟏𝑩(𝑬𝑪𝑨−𝟏𝑿𝟏′𝒚−𝑬𝑿𝟐′𝒚)−(𝑬𝑪𝑨−𝟏𝑿𝟏′𝒚−𝑬𝑿𝟐′𝒚)]可知𝒅̂=𝑨−𝟏𝑿𝟏′𝒚−𝑨−𝟏𝑩𝒄̂,则𝒆𝟐=𝒚−𝑿𝟏𝒅̂−𝑿𝟐𝒄̂=𝒚−𝑿𝟏(𝑿𝟏′𝑿𝟏)−𝟏𝑿𝟏′𝒚+𝑿𝟏(𝑿𝟏′𝑿𝟏)−𝟏𝑿𝟏′𝑿𝟐𝒄̂−𝑿𝟐𝒄̂=(𝑰−𝑿𝟏(𝑿𝟏′𝑿𝟏)−𝟏𝑿𝟏′)𝒚−(𝑰−𝑿𝟏(𝑿𝟏′𝑿𝟏)−𝟏𝑿𝟏′)𝑿𝟐𝒄̂=𝑴𝟏𝒚−𝑴𝟏𝑿𝟐𝒄̂=𝒆𝟏−𝑴𝟏𝑿𝟐𝒄̂𝒆𝟐′𝒆𝟐=(𝒆𝟏−𝑴𝟏𝑿𝟐𝒄̂)′(𝒆𝟏−𝑴𝟏𝑿𝟐𝒄̂)=𝒆𝟏′𝒆𝟏+(𝑴𝟏𝑿𝟐𝒄̂)′(𝑴𝟏𝑿𝟐𝒄̂)−(𝑴𝟏𝑿𝟐𝒄̂)′𝒆𝟏−𝒆𝟏′(𝑴𝟏𝑿𝟐𝒄̂)=𝒆𝟏′𝒆𝟏−(𝑴𝟏𝑿𝟐𝒄̂)′(𝑴𝟏𝑿𝟐𝒄̂)该步骤证明详见附录2≤𝒆𝟏′𝒆𝟏综上,增加任意的解释变量后残差的平方和SSE*小于等于原SSE,从而使新的拟合优度大于等于原拟合优度,然而增加的解释变量很可能并不是好的解释变量。拟合优度并不能很好的反应这种情况,因此需要对它做出修正,排除自由度的影响。𝑅̅2=1−𝑆𝑆𝐸/𝑘𝑆𝑆𝑇/(𝑛−𝑘−1)附录1分块矩阵求逆[𝑨𝑩𝑪𝑫|𝑰𝟎𝟎𝑰]𝑟𝑜𝑤1=𝑨−𝟏𝑟𝑜𝑤1→[𝑰𝑨−𝟏𝑩𝑪𝑫|𝑨−𝟏𝟎𝟎𝑰]𝑟𝑜𝑤2=𝑟𝑜𝑤2−𝑪𝑟𝑜𝑤1→[𝑰𝑨−𝟏𝑩𝟎𝑫−𝑪𝑨−𝟏𝑩|𝑨−𝟏𝟎−𝑪𝑨−𝟏𝑰]𝑟𝑜𝑤2=[𝑫−𝑪𝑨−𝟏𝑩]−1𝑟𝑜𝑤2→[𝑰𝑨−𝟏𝑩𝟎𝑰|𝑨−𝟏𝟎−[𝑫−𝑪𝑨−𝟏𝑩]−1𝑪𝑨−𝟏[𝑫−𝑪𝑨−𝟏𝑩]−1]𝑟𝑜𝑤1=𝑟𝑜𝑤1−𝑨−𝟏𝑩𝑟𝑜𝑤2→[𝑰𝟎𝟎𝑰|𝑨−𝟏+𝑨−𝟏𝑩[𝑫−𝑪𝑨−𝟏𝑩]−1𝑪𝑨−𝟏−𝑨−𝟏𝑩[𝑫−𝑪𝑨−𝟏𝑩]−1−[𝑫−𝑪𝑨−𝟏𝑩]−1𝑪𝑨−𝟏[𝑫−𝑪𝑨−𝟏𝑩]−1][𝑨𝑩𝑪𝑫]−1=[𝑨−𝟏+𝑨−𝟏𝑩𝑬𝑪𝑨−𝟏−𝑨−𝟏𝑩𝑬−𝑬𝑪𝑨−𝟏𝑬],𝑬=[𝑫−𝑪𝑨−𝟏𝑩]−12证明(𝑴𝟏𝑿𝟐𝒄̂)′𝒆𝟏=(𝑴𝟏𝑿𝟐𝒄̂)′𝑴𝟏𝑿𝟐𝒄̂(𝑴𝟏𝑿𝟐𝒄̂)′𝒆𝟏=(𝑴𝟏𝑿𝟐𝒄̂)′𝑴𝟏𝒚=(𝑴𝟏𝑿𝟐𝒄̂)′𝑴𝟏(𝑿𝟏𝒅̂+𝑿𝟐𝒄̂+𝒆𝟐)=(𝑴𝟏𝑿𝟐𝒄̂)′𝑴𝟏𝑿𝟏𝒅̂+(𝑴𝟏𝑿𝟐𝒄̂)′𝑴𝟏𝑿𝟐𝒄̂+(𝑴𝟏𝑿𝟐𝒄̂)′𝑴𝟏𝒆𝟐(𝑴𝟏𝑿𝟐𝒄̂)′𝑴𝟏𝑿𝟏𝒅̂=0:考虑𝑴𝟏𝑿𝟏,𝑿𝟏的列向量就在𝑿𝟏的列向量空间中,其在自身列向量空间中的投影就是自己本身,到列向量空间的距离为0,残差自然只能是𝟎。(𝑴𝟏𝑿𝟐𝒄̂)′𝑴𝟏𝒆𝟐=0:考虑𝑿𝟐′𝑴𝟏′𝑴𝟏𝒆𝟐=𝑿𝟐′𝑴𝟏𝒆𝟐,𝒆𝟐垂直于[𝑿𝟏𝑿𝟐]的列向量空间,等价于𝒆𝟐垂直于𝑿𝟏和𝑿𝟐的列向量空间。那么𝒆𝟐在𝑿𝟏列向量空间中的投影只能是零向量,而相应的残差𝑴𝟏𝒆𝟐就只能是𝒆𝟐本身。所以𝑿𝟐′𝑴𝟏𝒆𝟐=𝑿𝟐′𝒆𝟐,又因为𝒆𝟐垂直于𝑿𝟐的列向量空间,𝑿𝟐′𝑴𝟏′𝑴𝟏𝒆𝟐=𝑿𝟐′𝑴𝟏𝒆𝟐=𝑿𝟐′𝒆𝟐=0。综上(𝑴𝟏𝑿𝟐𝒄̂)′𝒆𝟏=(𝑴𝟏𝑿𝟐𝒄̂)′𝑴𝟏𝑿𝟐𝒄̂同理𝒆𝟏′(𝑴𝟏𝑿𝟐𝒄̂)=(𝑴𝟏𝑿𝟐𝒄̂)′𝑴𝟏𝑿𝟐𝒄̂参考资料1最小二乘及最大似然的理解多元线性回归模型多元线性回归多元线性回归