在上一篇文章中,我们聊了费尔南多的故事,这位数据科学家想买一辆车,于是使用了简单线性回归模型来预测车辆价格。
费尔南多构建的回归模型是基于发动机大小的来预测车辆价格,仅使用一个自变量来预测因变量。
这个简单的线性回归模型可以被表示为:
price = β0 + β1 x engine size
根据统计软件对参数的计算,用来估算价格的线性方程为:
price = -6870.1 + 156.9 x engine size
可以从两方面评估该模型:
R-squared衡量指标解释了模型预测值与真实值之间的平均方差分数,其值位于0和1之间,越高的分值表示该模型能够更好的解释方差。而费尔南多的模型最终得到的R-squared值为0.7503,也就是在训练集上得到75.3%的分值,说明该模型可以解释超过75%的变化。
但是,费尔南多想要更好的结果。
他考虑到:如果可以给模型输入更多的数据呢?会提高准确性吗?
于是,费尔南多决定通过给模型提供更多的输入数据(即更多的自变量),来增强模型。他现在进入了多变量回归模型的世界。
线性回归模型提供了一个监督学习的简单方法,其简单但是有效。
回想一下,线性意味着:数据点沿直线或近乎直线排列或延伸。线性的意思是,自变量和因变量之间的关系可以用直线来表示。
直线的方程式是y = mx + c,其中一维是y轴,另一维是x轴,可以在二维平面上绘制出来:
概括这种关系,则得到:
y = f(x)
其意思是:将y定义为x的函数。例如将自变量定义为因变量的函数。
如果需要用一个以上的自变量来表示因变量呢?广义函数变为:
y = f(x, z)
即将y定义为一些函数或者是x和z的组合函数。
此时便是三维的了,包含x轴、y轴、z轴,绘制出来类似下图:
现在,我们有多个维度,我们需要将y定义为x和z的组合。
对于简单线性回归模型来说,用直线来表示y是x的函数,现在多了一个维度z。如果给一条直线增加一个维度会发生什么呢?它会变成一个平面。
该平面是将y表示为x和z的函数。其线性回归方程为:
y = m1.x + m2.z+ c
这是多元线性回归模型的形成机理,即有多个输入变量用于估计目标。
具有两个输入变量的模型可以表示为:
y = β0 + β1.x1 + β2.x2
再进一步,如果有三个输入变量呢?人类的可视化能力是有限的,只能想象出三维。而在机器学习的世界中,可能会有很多个维度。
具有两个输入变量的模型可以表示为:
y = β0 + β1.x1 + β2.x2 + β3.x3
多变量回归模型的广义方程也就是:
y = β0 + β1.x1 + β2.x2 +….. + βn.xn
熟悉了多变量线性回归模型的概念之后,让我们回到费尔南多的故事。
费尔南多又向朋友提出请求,请他提供关于汽车其他特性的更多数据。
费尔南多已有的数据:
他又获得了其他数据:
费尔南多现在想建立一个模型,根据这些增加的数据点预测价格。
他构建的多元回归模型是:
根据发动机大小、马力、最高转速、车长、车宽和车高估算价格。
定义的函数如:
=>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.85 engineSize + 43.79 horse power + 1.52 peak RPM - 37.91 length + 908.12 width + 364.33 height
多变量模型的解释体现了每个自变量对因变量(目标)的影响。
记得,方程式估算的是车辆价格的平均值。对每个系数的解释,是在所有其他预测因子保持不变的情况下。
模型已经被构建和解释。所有的系数都很重要吗?哪些细数更重要?模型解释了多少变化?
统计软件提供了更多衡量指标,下面来对模型进行评估。
回顾一下t-stat、p值和决定系数的定义。这些概念也适用于多变量回归模型。对该模型的评估如下:
再回顾一下R-squared是如何帮助解释模型中变化的。当向模型中添加更多变量时,R-squared不会降低,只会提高。但是,必须有一个平衡。
需要调整R-squared以尽量保持这种平衡。根据模型中预测变量的数量,对R-squared进行调整,调整后的R-squared将抵消变量增加的影响,只有在新变量增强了模型效果时才会提高数值。
调整后的R-squared值是0.811。这意味着该模型可以解释训练数据中81.1%的变化,要优于上一版本的模型(75.03%)。
费尔南多现在有更好的模型了。但是,他感到困惑。他已经知道汽车的长度不会影响价格。
他还想知道:如何为模型构建选择最佳的变量集?有什么方法可以选出最佳的变量子集?
下一篇文章,我们将讨论变量选择方法。
翻译:TalkingData
作者:Pradeep Menon
来源:Mudium
原文链接:https://towardsdatascience.com/data-science-simplified-part-5-multivariate-regression-models-7684b0489015
页面更新:2024-05-22
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号