全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 数据分析与数据挖掘
1173 0
2020-11-16
线性回归分析–第1部分
线性回归通常是任何人进行数据科学之旅的第一步。当您听到线性和回归一词时,您会想到以下信息:
X1,X2,.. Xn 是自变量或特征。W1,W2…Wn是权重(由模型从数据中学习)。Y'是模型预测。对于一组说有1000个点的表,我们有一个包含1000行的表,其中X列为n列,Y列为1列。我们的模型从这1000个点中学习权重W,以便可以预测一个看不见点的因变量Y( X可用但Y不可用的点)   
对于这些可见点(在这种情况下为1000),因变量的实际值(Y)和因变量的模型预测(由Y'表示)与以下各项相关:
Epsilon(以后用e表示)是残差。它捕获了模型预测与Y的实际值之间的差异。关于e,要记住的一件事是,它遵循均值为0的正态分布。  
使用OLS或普通最小二乘拟合来学习权重。含义,累积平方误差,定义为
被最小化。为什么我们对误差求平方然后加?有两个原因。
如果一个点的残差为-1,另一个点的残差为1,则仅将它们相加便得到0的误差,这意味着直线与点完全吻合。这不是真的。
平方导致更大的错误更加重要,而较小的错误则更少。直观地,模型权重会快速更新以最大程度地减小较大的误差,而不是较小的误差。
通常,在学习新的和高级模型的兴奋中,我们通常不会完全探索该模型。在此博客中,我们将研究如何分析和诊断线性回归模型。该博客将尽可能直观。让我们谈谈模型。线性回归有三个主要假设:
自变量与因变量具有线性关系。
在所有X的组合中,因变量的方差是均匀的
与Y和Y'相关联的误差项e是独立的,并且分布相同。
如果您不正确理解以上内容,请不要担心。我还没有简化它们。
线性关系
似乎很直观。如果自变量与因变量没有线性关系,则无法使用LINEAR回归对其建模。那么如果不是这种情况该怎么办?考虑一个具有一个自变量X和因变量Y的数据集。在这种情况下,Y随X的平方而变化(向Y添加了一些随机噪声以使其看起来更逼真)。
如果我们拟合并绘制线性回归线,我们会发现它不是一个很好的拟合。该MSE(均方误差)为0.0102
线性回归线
所以我们在这里要做的就是变换X,使Y和这个变换后的X遵循线性关系。看看下面的图片。Y和X可能不具有线性关系。但是,Y和X ^ 2确实具有线性关系。
接下来,我们构建模型,生成预测并对其进行逆变换。看一下下面的代码和图解,以了解点子。MSE为0.0053(几乎是前一个的一半)
线性回归线
哪一个更合适还不是很明显。我希望更清楚为什么需要线性关系。让我们继续下一个假设。
在所有X的组合中,因变量的方差是均匀的
从形式上来讲,我们需要一种称为同调的东西。简单来说,这意味着残差必须具有恒定的方差。让我们将其可视化。稍后,我将解释为什么它是必不可少的。  
线性回归线
如果您仔细注意,Y值之间的方差会像小号一样从左到右增大。这意味着较低的X值的Y值在回归线方面变化不大,与右侧的不同。我们称之为异方差,这是您要避免的事情。为什么?好吧,如果残差中有一个模式,像这样(对于上面的图)  
线性回归线
通常,这意味着该模型对于数据而言太简单了。该模型无法捕获数据中存在的所有模式。当我们达到同调时,残差看起来像这样。避免异方差的另一个原因是使我们从重要性检验的无偏结果中解脱出来。我们将详细介绍这些测试。
线性回归线
如您所见,残差完全是随机的。人们几乎看不到任何模式。现在是最后一个也是最后一个假设。
与Y和Y'关联的误差项e是独立的并且均匀分布
听起来和上一个类似吗?有点。但是,这有点不同。以前,我们的残差具有越来越大的方差,但在那里我们仍然独立。一个残差与另一个无关。在这里,我们分析一个残差是否与另一个残差有某种依赖性。考虑下面的图,其数据由Y = X +噪声(随机数)生成。现在,此噪声在X的不同值上累积。X的含义噪声是随机数+先前噪声的噪声。为了我们的实验,我们故意引入这种加性噪声。
线性拟合似乎是一个不错的选择。让我们检查残留错误。
线性回归线
它们看起来并不完全是随机的。我们可以计算一些指标来验证我们的主张吗?事实证明,我们可以计算出一个称为自相关的东西。什么是自相关?我们知道,相关性可以度量两个变量(例如A和B)之间的线性关系程度。自相关性可以度量变量与其自身的相关性。例如,我们要测量A的特定值与A的值之间的依存关系如何向后退几步。有关自相关的更多信息:https://medium.com/@karanidhruvil/time-series-analysis-3-different -...  
在我们的示例中,结果为0.945,表明存在一定的依赖性。现在,为什么我们需要错误才能独立?同样,这意味着线性模型无法捕获数据中的复杂模式。这种类型的模式可能经常出现在时间序列数据中(其中X是时间,Y是随时间变化的属性,例如股票价格)。这里未解释的模式可能是某些季节性或趋势。
我希望这三个假设是明确的。现在我们如何评估我们的模型?让我们看一些指标。
评估模型
之前,我们定义了MSE来计算模型所犯的错误。但是,如果我告诉您,对于某些数据和某些模型,MSE为23.223。仅此信息就足以说明我们的健身质量吗?我们怎么知道这是我们模型所能做到的最好?我们需要一些基准来评估我们的模型。因此,我们有一个称为R平方(R ^ 2)的度量。
让我们弄清楚条款。我们了解MSE。但是,什么是TSE或总平方误差?假设我们没有X。我们有Y,我们要求对一条线建模以适合这些Y值,以使MSE最小化。由于我们没有X,因此我们的行将采用Y'= a的形式,其中a为常数。如果我们代替Y”为一个的MSE方程中,并通过相对于微分最小化一和设置为等于零,事实证明,  一个=平均值(Y) 给出最小误差。考虑一下– Y'= a            可以理解为我们数据的基线模型。任何自变量X的加法都会改善我们的模型。我们的模型不会比这个基准模型差。如果我们的X不能帮助改进模型,则在最小化MSE期间其权重或系数将为0。该基线模型提供了参考点。现在回到R squared,看看表达式。如果我们的所有X和所有Y的模型产生的误差与基线模型(TSE)相同,则R平方= 1-1 =0。这是最坏的情况。相反,如果MSE = 0,则R平方= 1,这是最佳情况。
现在让我们退后一步,考虑向数据添加更多自变量的情况。模型将如何响应?假设我们正在尝试预测房价。如果我们将房屋面积作为自变量添加到模型中,则R平方会增加。这很明显。该变量确实会影响房价。假设我们添加了另一个自变量。说些垃圾,说随机数。我们的R平方可以增加吗?可以减少吗?
现在,如果此垃圾变量有助于最小化MSE,则其权重或系数不为零。如果不是,则权重为零。如果是这样,我们将返回以前的模型。我们可以得出结论,在最坏的情况下添加新的自变量无济于事。它不会降低R平方的模型。因此,如果我继续添加新变量,则应该获得更好的R平方。我会的。但是,这没有任何意义。这些功能不可靠。假设如果这些随机数集是其他一些随机数集,那么我们的权重将会改变。您看,这完全取决于机会。请记住,我们有一个用于构建模型的数据点样本。它需要对样本中的新数据点具有鲁棒性。这就是为什么我们引入一种称为调整后的R平方的原因。调整后的R平方会惩罚自变量的任何增加,而这不会给模型带来明显的改善。添加新功能后,通常可以使用此指标来比较模型。
n是点数,k是自变量数。如果添加要素时R平方未显着增加,则调整后的R平方会减小。
因此,现在我们对线性回归有所了解。我们将在博客的第二部分中深入探讨。在下一个博客中,我们讨论系数的正则化和评估。
题库
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群