回归分析中,我们希望残差平方和\large \sum_{i=1}^{n}(y_{i}-a-bx_{i})^{2}最小。

有两种方法可以求解a和b的值,一是机器学习中用到的梯度下降,二是列方程直接求解。下面我们直接列方程求解。

\large \frac{\partial }{\partial a}\sum_{i=1}^{n}(y_{i}-a-bx_{i})^{2}=0

\large \frac{\partial }{\partial b}\sum_{i=1}^{n}(y_{i}-a-bx_{i})^{2}=0

根据以上两个方程一定能解出a和b两个未知数。解出的a和b如下列:

\large b=\frac{\sum x_{i}y_{i}-(\sum x_{i}\sum y_{i})/n}{\sum x_{i}^{2}-(\sum x_{i})^{2}/n}

\large a = \bar{y}-b\bar{x}

为了方便记忆和计算,a和b可记成如下一系列公式:

\large \bar{x}=\frac{\sum x_{i}}{n}, \bar{y}=\frac{\sum y_{i}}{n}

\large S_{xx}=\sum (x_{i}-\bar{x})^{2}=\sum x_{i}^{2}-\frac{(\sum x_{i})^{2}}{n}

\large S_{yy}=\sum (y_{i}-\bar{y})^{2}=\sum y_{i}^{2}-\frac{(\sum y_{i})^{2}}{n}

\large S_{xy}=\sum (x_{i}-\bar{x})(y_{i}-\bar{y})=\sum x_{i}y_{i}-\frac{(\sum x_{i})(\sum y_{i})}{n}

\large b=\frac{S_{xy}}{S_{xx}}, a = \bar{y}-b\bar{x}

对于更多变量,也可以列对应多个偏微分方程求解(可以利用sympy库帮忙求解)。

视频链接:统计学 第23章 迴歸(一)_哔哩哔哩_bilibili 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐