文章目录
简介
在线性回归计算(Linear Regression) 中,有三个非常重要的概念:
- 总离差平方和(Sum of Squares Total)
S S T = ∑ i = 1 n ( y i − y ˉ ) 2 SST=\sum_{i=1}^n (y_i-\bar y)^2 SST=i=1∑n(yi−yˉ)2

- 残差平方和(Sum of Squared Errors)
S S E = ∑ i = 1 n ( y i − y ^ i ) 2 SSE=\sum_{i=1}^n (y_i-\hat y_i)^2 SSE=i=1∑n(yi−y^i)2

- 回归平方和(Sum of Squares Regression )
S S R = ∑ i = 1 n ( y ^ i − y ˉ ) 2 SSR=\sum_{i=1}^n (\hat y_i-\bar y)^2 SSR=i=1∑n(y^i−yˉ)2

重要关系:SST=SSE+SSR
这个结论很重要,表明了三者的关系,同时也简化了计算。但是结论似乎很奇怪,因为根据常识,当 a + b = c a + b = c a+b=c 成立的时候, a 2 + b 2 = c 2 a^2 + b^2 = c^2 a2+b2=c2 是不能保证一定成立的。我们将上面的等式展开,化简后可以得到以下等式:
∑ ( y i ^ − y i ˉ ) ( y i − y i ^ ) = 0 \sum \left(\hat{y_i} – \bar{y_i} \right) \left( y_i – \hat{y_i} \right) = 0 ∑(yi^−yiˉ)(yi−yi^)=0
所以,我们只要证明这个等式成立,即可证明 S S T = S S E + S S R SST = SSE + SSR SST=SSE+SSR,然而发现这个等式还真不好证明,在查阅了大量资料后,总算完成了证明,过程如下所示。
证明
最小二乘回归的基本原理是将误差的平方和最小化。实际上公式中所要求的就是 e i = y i − y i ^ e_i=y_i – \hat{y_i} ei=yi−yi^,我们可以使用微积分找到参数 β 0 \beta_0 β0 和 β 1 \beta_1 β1 的方程式,以使 ∑ 0 n e i 2 \sum_0^n e_i^2 ∑0nei2 的值最小。(注:为书写和显示方便直观,在证明过程中省略求和的上下限。)
设 y i ^ = β 0 + β 1 x i \hat{y_i} = \beta_0 + \beta_1x_i yi^=β0+β1xi,则:
S = ∑ i = 1 n e i 2 = ∑ ( y i − y i ^ ) 2 = ∑ ( y i − β 0 − β 1 x i ) 2 S = \displaystyle\sum\limits_{i=1}^n e_i^2 = \sum \left(y_i – \hat{y_i} \right)^2= \sum \left(y_i – \beta_0 – \beta_1x_i\right)^2 S=i=1∑nei2=∑(yi−yi^)2=∑(yi−β0−β1xi)2
我们的目的就是找到 β 0 \beta_0 β0 和 β 1 \beta_1 β1 使总和 S S S 最小的值。根据高等数据的基本原理,一个函数取得最值的点的导数为0。由此可得, S S S 求相对于 β 0 \beta_0 β0 的偏导数为零,即:
∂ S ∂ β 0 = ∑ 2 ( y i − β 0 − β 1 x i ) 1 ( − 1 ) = 0 \frac{\partial{S}}{\partial{\beta_0}} = \sum 2\left(y_i – \beta_0 – \beta_1x_i\right)^1(-1) = 0 ∂β0∂S=∑2(yi−β0−β1xi)1(−1)=0
然后,再重新排列并求解 β 0 \beta_0 β0,
∑ β 0 = ∑ y i − β 1 ∑ x i \sum \beta_0 = \sum y_i -\beta_1 \sum x_i ∑β0=∑yi−β1∑xi
n β 0 = ∑ y i − β 1 ∑ x i n\beta_0 = \sum y_i -\beta_1 \sum x_i nβ0=∑yi−β1∑xi
β 0 = 1 n ∑ y i − β 1 1 n ∑ x i \beta_0 = \frac{1}{n}\sum y_i -\beta_1 \frac{1}{n}\sum x_i β0=n1∑yi−β1n1∑xi
在求完 β 0 \beta_0 β0的偏导数以后,我们再求 S S S 相对 β 1 \beta_1 β1 的偏导数,同理有:
∂ S ∂ β 1 = ∑ 2 ( y i − β 0 − β 1 x i ) 1 ( − x i ) = 0 \frac{\partial{S}}{\partial{\beta_1}} = \sum 2\left(y_i – \beta_0 – \beta_1x_i\right)^1 (-x_i) = 0 ∂β1∂S=∑2(yi−β0−β1xi)1(−xi)=0
等式两边同时除以 − 2 -2 −2 再重新排列,可得:
∑ x i ( y i − β 0 − β 1 x i ) = 0 \sum x_i \left(y_i – \beta_0 – \beta_1x_i\right) = 0 ∑xi(yi−β0−β1xi)=0
又因为 y i ^ = β 0 + β 1 x i \hat{y_i} = \beta_0 + \beta_1x_i yi^=β0+β1xi,所以
x i = 1 β 1 ( y i ^ − β 0 ) = 1 β 1 y i ^ − β 0 β 1 x_i = \frac{1}{\beta_1}\left( \hat{y_i} – \beta_0 \right) = \frac{1}{\beta_1}\hat{y_i} -\frac{\beta_0}{\beta_1} xi=β11(yi^−β0)=β11yi^−β1β0
∑ ( 1 β 1 y i ^ − β 0 β 1 ) ( y i − y i ^ ) = 0 \sum \left(\frac{1}{\beta_1}\hat{y_i} – \frac{\beta_0}{\beta_1}\right) \left(y_i – \hat{y_i} \right) = 0 ∑(β11yi^−β1β0)(yi−yi^)=0
1 β 1 ∑ y i ^ ( y i − y i ^ ) − β 0 β 1 ∑ ( y i − y i ^ ) = 0 \frac{1}{\beta_1}\sum \hat{y_i} \left(y_i – \hat{y_i} \right) – \frac{\beta_0}{\beta_1} \sum \left(y_i – \hat{y_i} \right)= 0 β11∑yi^(yi−yi^)−β1β0∑(yi−yi^)=0
现在,第二项为零(由 e q n . 1 eqn.1 eqn.1 表示),因此,我们立即得到所需的结果:
∑ y i ^ ( y i − y i ^ ) = 0 (Eq. 2) \tag{Eq. 2}\sum \hat{y_i} \left(y_i – \hat{y_i} \right) = 0 \uad ∑yi^(yi−yi^)=0(Eq. 2)
最终,根据 E q . 2 − y ˉ ∗ E q . 1 Eq.2 – \bar y * Eq.1 Eq.2−yˉ∗Eq.1 可得
∑ y i ^ ( y i − y i ^ ) − y ˉ ∑ ( y i − y i ^ ) = 0 \sum \hat{y_i} \left(y_i – \hat{y_i} \right) – \bar y \sum \left(y_i – \hat{y_i} \right) = 0 ∑yi^(yi−yi^)−yˉ∑(yi−yi^)=0
结论
通过以上证明过程,我们证明了 S S T = S S E + S S R SST=SSE+SSR SST=SSE+SSR。但是正如前言所说,当 a + b = c a + b = c a+b=c 成立的时候, a 2 + b 2 = c 2 a^2 + b^2 = c^2 a2+b2=c2 是不能保证一定成立的,这里的等式之所以成立,是因为有个重要的前提就是拟合值最小,所以我们才可以用 ∂ S ∂ β 0 = 0 \frac{\partial{S}}{\partial{\beta_0}} = 0 ∂β0∂S=0 和 ∂ S ∂ β 1 = 0 \frac{\partial{S}}{\partial{\beta_1}} =0 ∂β1∂S=0 两式联立进行求解。如果没有这个条件,即拟合过程中没有取得最值,这个结论是不能保证成立的。
参考资料
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/216825.html原文链接:https://javaforall.net
