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

简明数据科学 第八部分:回归模型中的定性变量

TalkingData

领先的数据智能服务商

作者丨Pradeep Menon

原文丨

https://datascientia.blog/2017/08/19/dss8-qual-var/

译者丨TalkingData 张永超

在之前的文章中,

我们讨论了回归模型

。费尔南多选择了最好的模型,他建立了一个多元回归模型,该模型的具体形态如下:

价格 = -55089.98 + 87.34 x 发动机大小 + 60.93 x 马力 + 770.42 x 宽度

该模型构建了一个根据发动机的大小、车辆的马力和宽度的函数,来预测或评估车辆的价格。而且该模型中所有的预测因子都是数值型的。

但是,如果有定性变量呢?定性变量是如何用来增强模型?定性变量又改如何解释呢?

这篇文章我们将针对定性变量进行讨论。费尔南多得到了两个类似的定性变量:

fuelType:燃油的种类。该值可以是汽油或者柴油;

driveWheels:驱动的种类。有三个可能的值,4轮驱动、前轮驱动和后轮驱动,分别表示为4WD、RWD、FWD。

费尔南多希望找出这些定性变量对汽车价格的影响。

概述

定性变量是哪些非数值型的变量。适合用于将数据分类,也称为分类变量或者因素。此类变量带有一定的层级,而层级是特定定性变量的特殊值。

燃油种类由两个独特的值,汽油和柴油。这意味着燃料类型有两个因素。

驱动有三个独特的值。四驱、后驱和前驱。这意味着驱动有三个因素。

当回归模型使用定性变量的时候,需要将定性变量转变为虚拟变量,也就是简单的0和1。例如,样本数据中有5辆车的数据,每辆车都有柴油或汽油的燃油类型。

燃料类型是一个定性变量。它有两个级别(柴油或天然气)。统计软件创建一个虚拟变量,创建一个名为fuelTypegas的虚拟变量,该变量需要0或1个值。如果燃料类型是汽油,那么虚拟变量是1,否则它是0。

写成数学形式如下:

xi = 1 如果燃油类型时汽油

xi = 0 如果燃油类型时柴油

接下来看看定性变量在回归模型中的表现,当只有价格和燃油类型的时候,简单回归模型可以提供如下的参数系数:

只有一个系数斜率和一个截距,回归模型为定性变量的因子值(在此种情况下为汽油)创建虚拟变量。

如果虚拟变量为0,即汽车的燃油类型是柴油,则 价格= 18348 + 0×(-6925)= $18348;

如果虚拟变量为1,即汽车的燃油类型是汽油,则 价格 = 18348 + 1 x (-6925) = $11423。

处理双因素水平的定性变量的方式是明确的,即构建虚拟变量,其值非0即1。但是当具有多余两个以上级别的变量该如何进行处理呢?例如下例。

驱动方式是一个具有三个因素的定性变量。在这种情况下,回归模型会创建两个虚拟变量,假设样本数据有4辆车:

两个虚拟变量会被创建:

driveWheelsfwd:如果驱动方式是前驱,则为1,否则为0

driveWheelsrwd:如果驱动方式是后驱,则为1,否则为0

数学形式如下:

如果驱动方式为前驱,xi1 = 1 ,否则 xi1 = 0

如果驱动方式是后驱,xi2 = 1 ,否则 xi2 = 0

需要注意的是,4驱并不存在于虚拟变量中。

那么他们最终是如何在回归模型中表现出来呢?回归模型对待此类虚拟变量的方式如下:

首先,回归模型为价格估算创建了一个基准线,基线中并不包含定性变量对应虚拟变量的均值,此时的结果为截距值,基线方程为4驱方式的平均价格;

对于前驱:车辆的平均价格被估算为 基线 + 前驱系数,即 价格 = 7603 + 1 x 1405 + 0 x 10704 = $9008,意味着,前驱车辆的价格比四驱高出1405美元;

对于后驱:车辆的平均价格被估算为 基线 + 后驱系数,即 价格 = 7603 + 0 x 1405 + 1 x 10704 = $18307,意味着,后驱车辆的价格比四驱高出10704美元。

所有具有两个以上因子值的定性变量和具有双因子值的定性变量处理方式类似。

模型构建

有了对定性变量的处理方式的了解,费尔南多开始将这些定性变量应用在他的模型中,他的原始模型为:

价格 = -55089.98 + 87.34 x 发动机大小 + 60.93 x 马力 + 770.42 x 宽度

他添加了两个定性变量到模型中,燃油类型和驱动方式,于是模型被改写为:

价格 = β0 + β1.发动机大小 + β2.马力 + β3.宽度 + β4.燃油类型 +β5.前驱 + β6.后驱。

于是费尔南多尝试进行了一些训练工作,得到了如下的系数:

模型现在为:

价格 = -76404.83 + 57.20 发动机大小 + 23.72 马力 + 1214.42 宽度 – 1381.47 燃油类型 -344.62 前驱 + 2189.16 后驱

这里有定量和定性变量的混合,这些变量是彼此独立的。

从结果中可以看到,调整的R平方为0.8183,意味着模型可以解释训练数据中81.83%的数据异动。但是并不是说所有的定性变量都有意义,在某些情况下定型变量对模型并没有任何意义。

结语

这个模型并不比原始模型好,但是也能够完整的完成工作,我们理解定性变量在回归模型中解释方式,显然,马力、发动机大小和宽度为因子的原始模型更好,但是这些因子是独立处理的。费尔南多思考:

马力、发动机大小和宽度之间有什么联系?

他们之间的联系是否可以模型化?

在下篇文章中将解决这些问题,将解释回归模型交互的作用和局限问题。

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券