让中学生能看懂的线性拟合最小二乘的证明
关注微信:DuoDaaMath 每天获得更多数学趣文
我们有一组数据$x_1,x_2,\cdots,x_i,\cdots,x_n$,每个$x_i$对应着一个$y_i$,于是有了另外$n$个数据$y_1,y_2,\cdots,y_i\cdots,y_n$。现在假设数据大致分布在一条直线周围,我们要找出这条直线。
找的思路是这样的,假设这条直线是$y=ax+b$,因为会有误差,$(x_i,y_i)$这些点,一般来说不会都在这条直线上。你把$x_i$带进直线方程的右边的时候,得到都是数不一定正好是$y_i$,就是说$y_i-ax_i+b$可能不是零。为了保证偏差最小,我们希望$\sum(y_i-ax_i-b)^2$这个值最小。这就是最小二乘法的思想。那么取怎样的$a,b$能让他最小呢?
遗憾的是,大部分给出的求$a,b$的办法都是用拉格朗日乘数法。这个办法需要用多元微积分的知识才能解释,这是大学学习的内容。再不然就是什么矩阵范数什么的,是更高端的数学办法。网上也有人给出一些办法,是中学生也许能看懂,不过符号过于复杂,而且就是硬算,没有思想。这里哆嗒数学网的小编,给个中学生能看懂,而且有过程有思想,过程还很漂亮的办法。
第一步:计算平均数,这几个常数以后会用的。
$\overline{X}=\cfrac{1}{n}\sum x_i$ $\overline{Y}=\cfrac{1}{n}\sum y_i$ 。
第二步:做变换,中学时候也说是变形的。
$t_i=\cfrac{x_i-\overline{X}}{\sqrt{\sum(x_i-\overline{X})^2}}$ $s_i=\cfrac{y_i-\overline{Y}}{\sqrt{\sum(y_i-\overline{Y})^2}}$
这篇文章最精彩的部分就是这个变形了。变形之后你会发现$\sum s_i=\sum t_i=0$,平方和$\sum s_i^2=\sum t_i^2=1$,而且能知道他是一条新的直线。对新的直线进行拟合$s=ct+d$,还是要$\sum(s_i-ct_i-d)^2$最小。啊哦,是不是已经看到漂亮的轮廓了?当然好戏在后面。
第三步,当然计算不可少啦。
$\sum(s_i-ct_i-d)^2 = \sum(s_i^2+c^2t_i^2+d^2-2cs_it_i-2ds_i+2cdt_i)$
$=\sum s_i^2+c^2\sum t_i^2+ nd^2-2c\sum s_it_i-2d\sum s_i+2cd\sum t_i$
$=1+nd^2+c^2-2c\sum s_it_i$
这令$p=\sum s_it_i$,那么可以进一步得到结果为$1-p^2+nd^2+(c-p)^2$。要让这个式子的值最小,当然是是让$d=0,c=p$啦。
得到直线方程的结果$s=pt$。这个结果简直得太漂亮了!
最后一步,代回本来的结果啦。
$\cfrac{y-\overline{Y}}{\sqrt{\sum(y_i-\overline{Y})^2}}=\sum\cfrac{(y_i-\overline{Y})(x_i-\overline{X})}{\sqrt{\sum(y_i-\overline{Y})^2}\cdot\sqrt{\sum(x_i-\overline{X})^2}}\cdot\cfrac{(x-\overline{X})}{\sqrt{\sum(x_i-\overline{X})^2}}$
即$y=\cfrac{\sum[(x_i-\overline{X})(y_i-\overline{Y})]}{\sum(x_i-\overline{X})^2}\cdot x+\overline{Y}-\overline{X}\cdot\cfrac{\sum[(x_i-\overline{X})(y_i-\overline{Y})]}{\sum(x_i-\overline{X})^2}$
就是说,令$a=\cfrac{\sum[(x_i-\overline{X})(y_i-\overline{Y})]}{\sum(x_i-\overline{X})^2}=\cfrac{\sum x_iy_i -n\overline{X}\overline{Y}}{\sum x_i^2-n\overline{X}^2},b=\overline{Y}-a\overline{X}$,就是我们经常见到的结果啦。
什么?最后一步不漂亮。额,这里说一个生活经验吧,当我看见一个远远看见一位“美女”的时候,那时是“盼望”,走近时还有“希望”,真正面相对时,咳咳——我很绝望。
关注微信:DuoDaaMath 每天获得更多数学趣文
评论已关闭