首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

简明数据科学 V:多元回归模型

在上一节中,我们讨论了费尔南多的故事,一个数据科学家想买一辆车,于是他构造了一个车辆的价格和发动机大小的简单的回归模型来预测。

费尔南多创建的回归模型预测了基于发动机大小的车辆价格。仅使用一个自变量来预测因变量的模型。

该简单的线性回归模型可以被表示为:

price = β0 + β1 x engine size

按照最终的模型结果,车辆的价格可以被简单预估为:

price = -6870.1 + 156.9 x engine size

该模型从两方便进行评估:

健壮性 - 使用假设检验

准确度 - 使用确定系数例如R平方检验

回想一下,R平方的度量解释了模型预测值与真实值之间的平均方差分数,位于[0,1]之间,越高的分值表示该模型能够更好的解释方差。而费尔南多的模型最终的到的R平方为0.7503,也就是在训练集上得到75.3%的分值,预示着该模型可以解释超过75%的变化。

然而,费尔南多想要更好的结果。

他考虑到:

如果我可以用更多的数据来送给模型?它会提高准确性吗?

于是,费尔南多决定通过给模型提供更多的输入数据,即更多的自变量来增强模型。他现在进入了多变量回归模型的世界。

基本概念

线性回归模型提供了一个监督学习的简单方法,其简单但是有效。

回想一下,线性意味着如下的含义:数据点几乎排列在一条直线或者近乎直线的附近,并一直延伸。线性表明,自变量和因变量之间的关系可以用直线来表示。

直线的方程式是y = mx + c,其中一维是y轴,另一维是x轴,可以在二维平面上绘制出来:

如果将这种关系进行泛化,则得到:

y = f(x)

其意思是:将y定义为x的函数。例如将自变量定义为独立变量的函数。

如果因变量需要用一个以上的自变量来表示呢?广义函数变为:

y = f(x, z)

即将y定义为一些函数或者组合多个参数的函数。

此时便是三维的了,包含x轴、y轴、z轴,绘制出来类似下图:

现在,我们有多个维度,我们需要将y定义为组合x和z的函数。

对于简单线性回归模型来说,直线表示y是x的函数,现在我们有一个额外的维度z,如果将z附加二维平面会发生什么呢?它会变成一个平面。

该平面是将y表示为x和z的函数。推断线性回归方程,可以表示为:

y = m1.x + m2.z+ c

y是因变量,即需要评估和预测的变量

x是第一个自变量,即可控的变量,也是第一个输入

m1是x的斜率,决定了线x的倾斜角度

z是第二个自变量,即可控的变量,是第二个输入

m2是z的斜率,决定了线z的倾斜角度

c是截距,当x和z为0时确定y值的常数

这是多元线性回归模型的起源,有多个输入变量用于估计目标,具有两个输入变量的模型可以表示为:

y = β0 + β1.x1 + β2.x2 + β3.x3

多变量回归模型的广义方程可以是:

y = β0 + β1.x1 + β2.x2 +….. + βn.xn

模型构建

现在熟悉多元线性回归模型的概念,让我们回到费尔南多。

费尔南多向他的朋友伸出更多的数据,他要求他提供有关汽车其他特性的更多数据。

以下是他已有的数据点:

make: 车辆品牌

fuelType:所使用的动力燃料

nDoor:车门数量

engineSize:发动机大小(马力)

price:最终的价格

他有拿到了一些新的数据点:

horsePower:马力

peakRPM:最大功率输出时的转速

length:车辆长度

width:车辆宽度

height:车辆高度

费尔南多现在想建立一个模型,根据附加数据点预测价格。

他制定的多元回归模型是:

根据engineSize、horsePower、peakRPM、length、width和height估算价格。

定义的函数形如:price = f(engine size, horse power, peak RPM, length, width, height)

代入多元线性方程为:price = β0 + β1. engine size + β2.horse power + β3. peak RPM + β4.length+ β5.width + β6.height

费尔南多将这些数据输入到软件统计包中,来计算和预测相关的参数,最终得到如下的结果:

多元线性回归模型为价格估算提供以下等式:

price = -85090 + 102.85engineSize + 43.79horse power+ 1.52peak RPM - 37.91length + 908.12width + 364.33height

模型解读

多变量模型的解释提供了每个独立变量对因变量(目标)的影响。

上述等式提供了对价格平均值的估计。每个系数的解释与所有其他预测因子保持不变。

Engine Size:如果发动机尺寸增加一个单位,则平均价格将增加102.85美元。

Horse Power: 如果马力增加一个单位,平均价格增加43.79美元。

Peak RPM:如果Peak RPM增加一个单位,平均价格增加1.52美元。

Length:如果长度增加一个单位,则平均价格下降37.91美元(长度具有-ve系数)。

Width:如果宽度增加一个单位,平均价格增加908.12美元。

Height:如果高度增加一个单位,则平均价格增加364.33美元

模型评估

该模型已建成。它被解释。所有的系数都很重要吗?哪些更重要?模型解释多少变化?

回想关于t-stat,p值和决定系数的定义的讨论。这些概念也适用于多元回归模型。该模型的评估如下:

coefficients:所有系数都大于零。这意味着所有变量对平均价格都有影响。

t-value: 除长度外,所有系数的t-value均显着高于零。对于长度来说,t-stat是-0.70。这意味着汽车的长度可能不会影响平均价格。

p-value: 除长度之外,其他变量的p值的概率非常低。长度的p值是0.4854。这意味着观察到的t-stat偶然的概率是48.54%。这个数字相当高。

回想一下关于R平方如何帮助解释模型变化的讨论。当更多变量添加到模型中时,R平方不会减小,它只会增加。但是,必须有一个平衡。经过调整的R平方努力保持这种平衡。调整后的R平方是R平方的修改版本,它已根据模型中预测变量的数量进行了调整。调整的R平方补偿变量的增加,并且只有在新术语增强模型时才增加。

调整后的R-squared:R平方值是0.811。这意味着该模型可以解释训练数据中81.1%的变化。这比以前的型号(75.03%)要好。

结束

费尔南多现在有更好的模型。但是,他感到困惑。他知道汽车的长度不会影响价格。

他想知道: 如何选择模型构建的最佳变量集?有什么方法可以选择最佳的变量子集吗?

下一节,我们将讨论变量选择方法。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180517G1652400?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券