可以在不使用绘图和线性代数的情况下完成简单的线性回归吗?

机器算法验证 回归 直觉
2022-02-12 10:33:37

我完全失明,来自编程背景。

我想做的是学习机器学习,而要做到这一点,我首先需要了解线性回归。我在互联网上找到的关于这个主题的所有解释都首先绘制了数据。我正在寻找不依赖于图形和绘图的线性回归的实用解释。

这是我对简单线性回归目标的理解:

简单线性回归试图找到一个公式,一旦你给X它,它就会为你提供最接近的估计Y

因此,据我了解,需要做的是将预测变量(例如以平方英尺为单位的房屋面积)与自变量(价格)进行比较。在我的示例中,您可能可以创建一种非视觉方式来获取最佳公式,以根据其面积计算房屋价格。例如,也许你会得到一个街区的 1000 套房屋的面积和价格,然后将价格除以该面积?结果(至少在我居住的伊朗)的差异可以忽略不计。所以你可能会得到这样的东西:

Price = 2333 Rials * Area of the house

当然,然后您需要遍历数据集中的所有 1000 套房屋,将面积放入上面的公式中,将估算值与实际价格进行比较,然后将结果平方(我想是为了防止差异相互抵消)然后得到一个数字,然后继续玩2333以减少错误。

当然,这是蛮力选项,可能需要很长时间来计算错误并得出最佳选项,但你明白我在说什么吗?我没有说任何关于图形、线条或绘图上的点,或者将线条拟合到现有数据的最佳方法。

那么,为什么需要散点图和线性代数呢?没有非视觉的方式吗?

首先,我的假设是否正确?如果没有,我很想得到纠正。不过,无论我是不是,有没有办法在不玩线性代数的情况下得出这个公式?

如果我能得到一个带有解释的例子,我将不胜感激,这样我就可以和文本一起做,以测试我的理解。

4个回答

是的,你的。您必须继续使用 2333,直到找到正确的可以最大程度地减少错误的设备。但是有一种数学方法可以找到“正确”的方法。让我们称这个数字为,误差平方和 (SSE) 是 β 的函数,对于 β 的每个选择,可以计算每个估计值偏离的量,将其平方,然后将它们相加。βEββ

什么最小化平方误差的总和?这只是一个微积分问题。导数并将其设为零。这给出了的方程。检查二阶导数是否为正以知道它是最小值。这样你就得到了一个最小化误差的方程。βEβββ

如果以这种方式推导它,您将得到作为总和。如果你写出估计的线性代数形式,你会发现这是一回事。β

编辑:这里是一些带有这种派生类型的注释的链接。数学有点混乱,但它的核心只是一个微积分问题。

您的理解很接近,但需要一些扩展:简单线性回归试图找到一个公式,一旦您给出它,它将根据之间的线性关系X为您提供最接近的估计Y X Y

您的房价示例在扩展一点时显示了为什么最终会出现散点图等。首先,简单地将价格除以面积在其他情况下是行不通的,比如我家乡的土地价格,那里的建筑法规意味着仅仅拥有一块可以建造房屋的土地就具有很高的价值。因此,土地价格不仅仅与面积成正比。增加一块地块面积可能会增加同样的地块价值,但如果你一路下降到一个(神话)面积为 0 的地块,仍然会有一个相关的表观价格,代表仅拥有一块土地的价值那是批准建造的。

这仍然是面积和价值之间的线性关系,但是关系中有一个截距,代表了仅仅拥有一个地块的价值。然而,使它成为线性关系的原因是,无论面积或值的大小如何,每单位面积变化的值变化、斜率或回归系数总是相同的。

因此,假设您已经以某种方式知道将宗地面积与价值相关联的截距和斜率,并将该线性关系中的值与最近销售所代表的实际值进行比较。您会发现预测值和实际值很少会重合。这些差异代表模型中的错误,并导致预测关系周围的值分散。您会得到一个散点图,这些点聚集在您预测的面积和值之间的直线关系周围。

在大多数实际示例中,您还不知道截距和斜率,因此您必须尝试从数据中估计它们。这就是线性回归试图做的事情。

从最大似然估计的角度考虑线性回归和相关建模可能会更好,这是在模型中搜索使数据最可能的特定参数值。它类似于您在问题中提出的“蛮力”方法,但对您尝试优化的内容的衡量方式有所不同。借助现代计算方法和搜索模式的智能设计,可以很快完成。

最大似然估计可以以不需要图形的方式概念化,并且与您似乎已经在思考的方式相似。在线性回归的情况下,标准最小二乘回归和最大似然都提供相同的截距和斜率估计。

从最大似然的角度思考还有一个额外的优势,那就是它可以更好地扩展到其他没有严格线性关系的情况。一个很好的例子是逻辑回归,您尝试根据预测变量估计事件发生的概率。这可以通过最大似然来实现,但与标准线性回归不同,没有简单的方程可以在逻辑回归中产生截距和斜率。

首先,我的赞美。每个人都很难与统计数据作斗争(我是一名医生,所以你可以猜到对我来说有多难)......

我可以提出的不是线性回归的视觉解释,而是非常接近的东西:线性回归的触觉解释

想象一下,你正从一扇门进入一个房间。房间大致呈正方形,门在左下角。您希望到达下一个房间,您希望其门或多或少位于右上角。想象一下,你不能准确地知道隔壁在哪里(永远!),但是房间里散落着一些人,他们可以告诉你应该去哪一扇门。他们也看不到,但他们可以告诉你他们附近有什么。在这个人的引导下,你到达隔壁的最终路径类似于一条回归线,它将这些人之间的距离最小化,并将你带到靠近(如果不是在)正确路径的门口。

绘图普遍用于引入简单回归(由单个预测器预测的响应)的原因是它们有助于理解。

但是,我相信我可以提供一些可能有助于理解正在发生的事情的味道。在本文中,我将主要集中于尝试传达他们给出的一些理解,这可能有助于您在阅读回归时通常会遇到的其他一些方面。因此,此答案将主要处理您帖子的特定方面。

想象一下,你坐在一张长方形的大桌子前,比如一张普通的办公桌,一张长一臂跨度(可能是 1.8 米),宽度可能是那张桌子的一半。

您以通常的位置坐在桌子前,在一个长边的中间。在这张桌子上,大量的钉子(头部相当光滑)被锤入顶面,使每个钉子都伸出一点点(足以感觉到它们在哪里,并且足以在上面系一根绳子或系一根橡皮筋) )。

这些钉子与桌子边缘的距离不同,这样一来,朝向一端(比如左端),它们通常更靠近桌子边缘,然后当你向另一端移动时,钉头往往离你的边缘更远。

进一步想象,在您的边缘的任何给定位置,了解指甲与您的边缘的平均距离是有用的。

沿着桌子边缘选择一个地方,把手放在那里,然后直接伸手穿过桌子,轻轻地将手直接向后拉,然后再移开,在钉头上来回移动你的手。你会遇到这些指甲上的几十个凸起——在你手的那一个狭窄的宽度内(当它直接从你的边缘移动时,与桌子的左端保持恒定的距离),一个部分或条带,大约 10 厘米宽.

这个想法是在那个小区域中计算出从桌子边缘到钉子的平均距离。直观地说,它只是我们碰到的颠簸的中间,但如果我们测量桌子的那个手掌宽的部分到指甲的距离,我们可以很容易地计算出这些平均值。

例如,我们可以使用一个丁字尺,它的头部沿着桌子的边缘滑动,它的轴朝向桌子的另一侧,但就在桌子上方,这样我们就不会在它向左滑动时碰到钉子或者是的——当我们通过一个给定的钉子时,我们可以得到它沿着 T 形正方形轴的距离。

因此,在我们边缘的一系列地方,我们重复这个练习,在一个手掌宽度的条带中找到所有的指甲,这些指甲朝向和远离我们,并找到它们的平均距离。也许我们将桌子沿着边缘分成手掌宽度的条带(因此每个钉子都恰好在一个条带中遇到)。

现在假设有 21 个这样的条带,第一个在左边缘,最后一个在右边缘。随着我们越过条带,这些手段离我们的桌面边缘越来越远。

这些均值形成了一个简单的非参数回归估计,对给定 x(沿我们的边缘到左端的距离)即 E(y|x) 的 y(我们的距离)的期望值。具体来说,这是一个合并的非参数回归估计量,也称为回归图

如果这些条带平均值有规律地增加——也就是说,当我们在条带上移动时,每个条带的平均值通常增加大约相同的数量——那么我们可以通过假设 y 的期望值是线性的来更好地估计我们的回归函数x 的函数 - 即给定 x 的 y 的期望值是一个常数加上 x 的倍数。这里的常数表示当我们在 x 为零时钉子往往在哪里(通常我们可以将它放在最左边缘,但它不一定是),并且 x 的特定倍数是平均速度的平均速度当我们向右移动一厘米(比如说)时会发生变化。

但是如何找到这样的线性函数呢?

想象一下,我们将一根橡皮筋绕在每个钉头上,然后将每根橡皮筋固定在桌子上方、钉子顶部的一根细长棍子上,这样它就位于我们拥有的每条带子的“中间”附近的某个地方为了。

我们以这样的方式连接带子,使它们仅在朝向和远离我们的方向(而不是向左或向右)拉伸 - 他们会向左拉,以便使它们的拉伸方向与棍子成直角,但在这里我们阻止了这一点,因此它们的拉伸方向仅保持在朝向或远离我们桌子边缘的方向上。现在,随着带子将棒拉向每个钉子,我们让棒子稳定下来,更远的钉子(带有更多拉伸的橡皮筋)比靠近棒子的钉子拉得更厉害。

然后,拉动棍子的所有带子的组合结果将是(理想情况下,至少)拉动棍子,以最小化拉伸橡皮筋的平方长度之和;在直接穿过桌子的那个方向上,在任何给定的 x 位置,从我们的桌子边缘到棍子的距离将是我们对给定 x 的 y 的期望值的估计。

这本质上是一个线性回归估计。

现在,想象一下,一棵大树上挂着许多水果(也许像小苹果),而不是钉子,我们希望找到水果在地面上的平均距离,因为它随着地面上的位置而变化。想象一下,在这种情况下,离地高度会随着我们前进而变大,而当我们向右移动时会稍微变大,同样以常规方式,所以每向前迈一步通常会改变平均高度大约相同的量,并且每一步都会改变right 也会将平均值改变一个大致恒定的量(但这个平均变化量与步进变化量不同)。

如果我们最小化从水果到薄片(可能是非常硬的塑料薄片)的垂直距离平方和,以便计算出平均高度在我们向前或向右走时如何变化,那将是具有两个预测变量的线性回归 - 多元回归。

这是仅有的两个情节可以帮助理解的情况(它们可以快速显示我刚才详细描述的内容,但希望你知道有一个基础来概念化相同的想法)。除了这两种最简单的情况,我们只剩下数学了。

现在以您的房价为例;你可以用沿着桌子边缘的距离来表示每个房子的面积 - 将最大的房子大小表示为靠近右边缘的位置,每隔一个房子大小将在左边的某个位置,一定数量的厘米将代表一些平方米数。现在距离代表售价。将最昂贵的房子表示为靠近桌子最远边缘的某个特定距离(与往常一样,距离椅子最远的边缘),每移开一厘米将代表一定数量的里亚尔。

目前假设我们选择了表示法,使得桌子的左边缘对应于房屋面积为零,而近边缘对应于房价为 0。然后我们为每所房子钉上一个钉子。

我们可能不会在边缘的左端附近有任何钉子(它们可能主要朝向右侧并远离我们),因为这不一定是一个好的比例选择,但您选择的无截距模型会使这个更好的方式来讨论它。

现在在您的模型中,您强制棍子穿过桌子近边缘左角的一圈绳子 - 从而强制拟合模型的区域为零的价格为零,这可能看起来很自然 - 但想象一下,如果有影响每笔销售的一些相当稳定的价格组成部分。那么让截距不为零是有意义的。

在任何情况下,通过添加该循环,与之前相同的橡皮筋练习将找到我们对线的最小二乘估计。