1.线性回归分析究竟是啥?
首先要弄懂什么是回归分析:
- 在大数据分析中,回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。
- 回归分析通常用于预测分析,时间序列模型以及发现变量之间的因果关系。
线性回归分析:
- 线性回归(Linear Regression)是用来确定两种或两种以上变量间定量关系的一种分析方法。关键词:确定定量关系。
- 这里提到的定量关系也就是变量间的“线性”关系,形如:y = a + bx(一元线性回归) ,y = a+bx1+cx2+…+dxn(多元线性回归), 的表达式。一个自变量的就是一元线性回归,多个自变量的就是多元线性回归。
- 线性回归分析的用途: 预测分析
根据样本数据集建立线性回归模型,预测未知自变量的值。
下图的蓝色小点就是样本数据,绿线就是根据样本点建立线性回归模型得到的“定量关系“。根据这个定量关系,给定一个自变量X,就可以预测对应的Y。

到这里,相信你已经对线性回归分析有了一个简单的、形象的认识,下面将会介绍线性回归分析的详细原理,理解了原理之后,我们会手把手的带大家通过Python3编程实现,当然也会介绍Python自带的函数:OLS()函数与LinearRegression函数,它们都是线性回归模型。
2. 线性回归分析原理
上图的直线是如何计算得到的呢?让我们一起来揭开线性回归模型的本质吧。
2.1 残差
上一章我们介绍了线性回归是什么、以及其主要作用:预测。
那么用线性回归模型预测得到的预测值与真实值之间是否是相等的呢?答案显而易见。
从上图我们可以看见:即使是根据样本数据建立得到的定量关系(绿线),我们也不能保证蓝色小点完全落在绿线上。而蓝色小点与绿线在y轴上的差值就是我们常说的残差。
引入了残差(ε)的概念之后,一元回归模型就变成了这样:
2.2 最小二乘法
有了一元回归模型:y = ax + b + ε,其中,x,y是已知值,现在需要求解这个模型中的变量:a(斜率),b(截距)
但是我们不能简单的将样本集中的x,y带入求解参数a,b,因为存在上述提到的残差,每一对x,y得到的a,b,ε都会有一定的差异。
那么如何解得一个合适a,b,能够尽可能的拟合所有的样本点呢?同时对于预测而言,我们希望预测值与真实值之间的差值尽可能的小,也就是残差尽可能小。
因为每个点都有残差: ε = y - ax - b, 所以求解a,b的问题转换成:
在(每个点)误差(残差)平方和最小的情况下,求解a,b的取值。

要解答这个问题,就需要捞一捞最小二乘法的原理。最小二乘法是由法国数学家,阿德里安-马里·勒让德最先提出,贯穿了十九世纪的统计学,它之于统计学就相当于十八世纪的微积分之于数学。感兴趣的可以戳:
阿德里安-马里·勒让德智慧的画像

最小二乘法的主要思想就是确定未知参数a,b ,使得理论值与观测值之差的平方和达到最小,并假设此时的参数就是模型参数的真实值。
大家可能会有疑惑:为什么是在误差的平方和最小的情况下?而不是本身的和或者绝对值之和的情况呢?
- 本身的和:
对于每个点来说,它的残差是有正有负的,这会出现残差相互抵消的情况,此时残差和不能代表预测值与真实值的真实偏离程度。比如:上图中蓝色小点既可能在绿线上方很远,同时绿线下方很远的地方也有一个蓝色小点,通过一正一负,巨大的残差被抵消。这种情况下虽然残差和仍能保持很小,但是模型拟合的效果并不是很好。 - 绝对值之和:
理论上来说,绝对值之和确实也能达到平方和的效果。但是考虑到,绝对值在计算过程中不容易处理,以及后面的模型评估、F检验等,选用平方和这个参数更方便。
2.3 求解参数

F(a,b)是目标函数,求解误差平方和最小,也就是求F的极小值。问题进一步转化为:求二元函数F(a,b)的极小值。
求极值就是一个数学问题了:
首先分别对F(a,b)求a,b的偏导数,并令其等于0,解得此时参数a,b的表达式。带入x,y计算即可。下面给出重要的计算过程:


总结一下一元线性回归模型的转化过程:

Finally,一元线性回归分析终于介绍完啦,不知道大伙能否理解呢,第一次写博客,有不对的地方或者表达不清楚的地方还请各位大佬在评论区指出!
下周会整理一下文档,出一篇用python实现一元线性回归的文章!