y相对于x变化的变化,
即:如果x变化,y会有多少变化?
这正是费尔南多需要的,他想知道,受其他变量的变化的影响,价格又会有怎样的变化。
之前提到,多元回归模型的一般形式如下:
y = β0 + β1.x1 + β2.x2 + …+ βn.xn + 𝛆
费尔南多建立的模型如下:
price = β0 + β1.发动机大小
即,将价格作为发动机大小的函数。
费尔南多用发动机大小对汽车价格求导。那是不是只是通过发动机大小的变化,就能体现出价格的变化?
并不是这么简单。线性模型是用来表达线性关系的,如下:
y = mx + c
如果计算y对x的导数,则会给得出:
dy/dx = m . dx/dx + dc/dx
发动机大小本身的变化的导数始终为1,即dx/dx = 1
一个常数与其他任何变量相关的变化的导数始终为0,因为它是一个常数,其值从不改变,即dc/dx = 0
那么公式就变成了:
dy/dx = m
在发动机大小上应用价格导数,将只能得到发动机大小的系数。
如何进行转换呢?接下来认识两个数学概念——指数和对数。
■指数
指数是一种具有两个运算符的函数,底数(b)和指数(n)。其被定义为b^n,形式如下:
f(x) = b^x
底数可以是任何的正数,欧拉数(e)是统计中常用的基数。
在几何上,指数关系具有以下的结构:
x的增长不会使得y相应增长,直到达到某个阈值
到达阈值后,x的小幅增长,会使y急速的上升
■对数
对数是一个有趣的概念。在回归模型中,对数具有一定特征。对数的基本属性是它的底数,典型的底数有2、10和e。
如:
多少个2相乘等于8?2 × 2 × 2 = 8,即答案是 3
也可以表示为 log2(8) = 3
以2为底数的8的对数为3。
对数和指数都有一个常用的底数,被称为 欧拉数(e),其近似值为 2.71828。统计学中经常会用到e。以e为底数的对数称为自然对数。
对数也有很好的变换能力,对数可以将指数关系变换为线性关系。例如下图显示了y和x之间的指数关系:
如果将对数应用于x和y,则log(x)和log(y)之间的关系是线性的,看起来像这样:
■弹性
弹性是衡量一个变量对另一个变量变化的响应程度。假设我们有一个函数:Q = f(P),那么Q的弹性定义为:
E = P/Q × dQ/dP
dQ/dP是P变化所引起的Q的平均变化
■结合在一起
现在让我们把导数、对数和指数这三个数学概念放在一起看。它们间的关系规则如下:
e的对数是1,即log(e)= 1
指数的对数是指数乘以底数
log(x)的导数是:1 / x
例如,一个函数y可以表示为:
y = b^x
则log(y) = x log (b)
那么这对线性回归模型来说意味着什么呢?我们是否可以灵活运用导数、对数和指数,重写线性模型方程,以得出由x的变化所引起的y的变化率呢?
首先,将y和x之间的关系定义为指数关系。
y = α x^β
首先将其表示为双对数函数: log(y)= log(α)+β.log(x)
方程y = α x^β看起来并不像是回归模型:y =β0+β1.x1。当β0= log(α)、β1=β,这个等式可以重写为: log(y)=β0+β1.log(x1)
但它如何表达弹性关系呢?我们求相对于x的log(y)的导数,可得:
d. log(y)/ dx = β1. log(x1)/dx
=> 1/y . dy/dx = β1 . 1/x => β 1 = x/y . dy/dx
β1的方程就是弹性。
构建模型
搞清楚了这些概念后,让我们看看费尔南多如何重构模型:
log(价格) = β0 + β1. log(发动机大小) + β2. log(马力) + β3. log(车宽)
他希望根据发动机大小、马力和车辆宽度的变化,来估算汽车价格的变化。
经过对模型的训练,最终得到了如下的参数:
该模型的方程是:
log(价格) = -21.6672 + 0.4702.log(发动机大小) + 0.4621.log(马力) + 6.3564 .log(宽)
对该模型的解释如下:
所有系数都很重要
调整R平方值为0.8276,说明该模型解释了82.76%的数据变化
如果发动机大小增加4.7%,汽车价格将增加10%
如果马力增加4.62%,汽车价格将增加10%
如果汽车的宽度增加6%,汽车价格将增加1%
模型评估
费尔南多现在建好了双对数回归模型,接下来该通过训练和测试数据来评估模型的表现。
他之前已经将数据分成了训练集和测试集。对基于训练数据创建的模型来说,测试数据是不可见的数据。在测试数据上的表现,才是对模型的真正考验。
在训练数据上,模型表现很好,调整R平方值为0.8276,说明该模型可以解释82.76%的训练数据变化。为了使模型可以最终被接受,需要在测试数据上也有良好表现。
经过对模型的测试,计算得出0.8186的调整R平方值。这相当不错,意味着即使对于不可见的数据,模型也能解释81.86%的变化。
请注意,该模型估算的是log(价格),即价格的对数,而不是价格本身。想要估算汽车价格,需要进行转换。
即将log(价格)作为底数e的指数。
e^log(价格) = 价格
结语
前几篇文章中,统计学习奠定了基础,假设检验讨论了零假设和替代假设,简单线性回归模型简化了回归,之后进入多变量回归模型的世界,又讨论了模型选择方法。而在这篇文章中,我们介绍了双对数回归模型。
到目前为止,构建的回归模型只涉及数值自变量。下一篇文章将讨论交互关系和定性变量的概念。
翻译:TalkingData
作者:Pradeep Menon
来源:Mudium
原文链接:https://towardsdatascience.com/data-science-simplified-part-7-log-log-regression-models-499ecd1495f0
机器学习从入门到进阶⑥丨模型选择方法
机器学习从入门到进阶⑤丨多元回归模型
机器学习从入门到进阶④丨线性回归模型
TalkingData——用数据说话
每天一篇好文章,欢迎分享关注
返回搜狐,查看更多