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