全文共4968字,预计学习时长15分钟或更长
本文旨在为读者理解和应用线性回归时提供参考。虽然线性回归算法很简单,但是只有少数人能真正理解其基本原则。
本文首先会深入挖掘线性回归理论,理解其内在的工作机制,然后利用Python实现该算法,为商业问题建模。
理论
线性回归或许是学习统计学最简单的方法。在学习更高级的方法之前,这是一个很好的入门方法。事实上,许多更高级的方法可被视为线性回归的延伸。因此,理解好这一简单模型将为将来更复杂的学习打下良好基础。
线性回归可以很好地回答以下问题:
· 两个变量间有关系吗?
· 关系有多强?
· 哪一个变量的影响最大?
· 预测的各个变量影响值能有多精确?
· 预测的目标值能有多精确?
· 其关系是线性的吗?
· 是否有交互作用?
预估系数
假设仅有一个自变量和因变量,那么线性回归表达如下:
一个自变量和因变量线性模型的方程式
在上图的方程中,两个β就是系数。在模型中预测结果需要用到这些系数。
那么,如何算出这些参数呢?
为此,需要最小化最小二乘法或者误差平方和。当然,线性模型也不是完美的,也不能准确预测出所有数据,这就意味着实际值和预测值间存在差异。该误差能用以下方程简单算出:
实际值减去预测值
但为什么要平方误差呢?
平方误差,是因为预测值可能大于也可能小于实际值,从而分别产生负或正的误差。如果没有平方误差值,误差的数值可能会因为正负误差相消而变小,而并非因为模型拟合好。
此外,平方误差会加大误差值,所以最小化平方误差可以保证模型更好。
下图有助于更好地理解这个概念:
线性拟合数据集
在上述图表中,红点是实际值,而蓝线是线性模型。灰线展现了预测值和实际值之间的误差。因此,蓝线就是灰线长度平方的最小值。
经过一系列超出本文难度的数学计算,最终可以得到以下这个方程式,用以计算参数。
x和y代表平均值
预估系数的相关性
目前已得知系数,那么如何证明系数与因变量是否相关?
最好的方法就是找到p值。p值被用于量化数据的重要性,它能判断零假设是否被否定。
什么是零假设?
所有建模任务都是在自变量和因变量存在一定关联的假设下进行的。而零假设则正好相反,也就是说自变量和因变量之间没有任何关联。
因此,算出每一个系数的p值就能得知,从数据值上来说,该变量对于预估因变量是否重要。一般来说,如果p值小于0.05,那么自变量和因变量就之间存在强烈关系。
评估模型的准确性
通过找出p值,从数据值上来说,自变量是非常重要的。
如何得知该线性模型是拟合好呢?
通常使用RSE(残差标准差)和 R 来评估模型。