本文介绍了线性回归以及如何在Python中编程线性回归模型。
可解释性是机器学习中最大的挑战之一。如果一个模型的决策更容易让人理解,那么它的解释性就会比另一个模型高。有些模型是如此复杂,并且内部结构如此复杂,以至于几乎无法理解它们是如何达到最终结果的。这些黑匣子似乎打破了原始数据和最终输出之间的关联,因为它们之间发生了多个过程。
但是在机器学习算法领域,某些模型比其他模型更透明。 决策树 绝对是其中之一,而线性回归模型又是其中之一。它们的简单和直接的方法使它们成为解决不同问题的理想工具。让我们看看如何。
您可以使用线性回归模型来分析给定地点的薪水如何取决于经验,学历,职位,所工作的城市等特征。同样,您可以分析房地产价格是否取决于面积,卧室数量或距市中心的距离等因素。
在本文中,我将重点介绍线性回归模型,该模型研究因变量 与一个(简单线性回归)或多个(多个线性回归)自变量之间的线性关系 。
简单线性回归(SLR)
当输出变量(目标)只有一个输入变量(预测变量)时,这是最简单的线性回归形式:
输入 或 预测变量 是变量,可帮助预测输出变量的值。它通常被称为 X。
输出 或 目标变量 是我们要预测的变量。通常称为 y。
β0的值( 也称为截距)显示估算的回归线与y 轴交叉的点 ,而β1 的值 确定 估算的回归线的斜率。的 随机误差 描述因变量和自变量(该模型的扰动,部分之间的线性关系的随机分量 ÿ 该 X 无法解释)。真正的回归模型通常是未知的(因为我们无法捕获影响因变量的所有影响),因此与观察到的数据点相对应的随机误差项的值仍然未知。但是,可以通过为观察到的数据集计算模型的参数来估计回归模型。
回归背后的想法是 从样本中估计参数 β0 和 β1。如果我们能够确定这两个参数的最佳值,则在给定X的值的情况下,我们将具有 最佳拟合线, 可用于预测 y的值 。换句话说,我们尝试拟合一条线以观察输入变量和输出变量之间的关系,然后进一步使用它来预测未见输入的输出。
我们如何估计 β0 和 β1?我们可以使用一种称为 普通最小二乘(OLS)的方法。 这样做的目的是使黑点到红线的距离尽可能接近零,这是通过最小化实际结果与预测结果之间的平方差来实现的。
实际值和预测值之间的差异称为 残差(e) ,取决于模型是高估还是低估了结果,可以是负值或正值。因此,为了计算净误差,直接将所有残差相加会导致项的抵消和净效应的减小。为了避免这种情况,我们采用这些误差项的平方和,称为 残差平方和(RSS)。
普通最小二乘法(OLS)方法最小化的平方的总和残留,其目的在于以适合的回归直线,将最小化来自观测值的距离(以二次值测量)到预测者(回归线)。
多元线性回归(MLR)
是 存在两个或多个预测变量或输入变量时使用的线性回归形式。与之前描述的SLR模型类似,它包含其他预测变量:
注意,该方程只是简单线性回归方程的一种扩展,其中每个输入/预测变量都有其对应的斜