数据科学中的陷阱:变量的数学运算合理吗?

大数据
数据科学中有各种各样的模型,有的听起来很简单,比如线性回归;有点呢,听起来就很吓人,比如深度学习。但是不管什么样的模型,从本质上来讲,模型都是对训练数据做数学运算,并以此求得模型参数的估计值。

数据科学中有各种各样的模型,有的听起来很简单,比如线性回归;有点呢,听起来就很吓人,比如深度学习。但是不管什么样的模型,从本质上来讲,模型都是对训练数据做数学运算,并以此求得模型参数的估计值。

所以我们需要保证两点:

  • ***,训练数据能进行数学运算;
  • 第二,对变量所做的数学运算是合理的。

对于***点,通常只在一些特定的应用场景里才需要比较复杂的处理,比如自然语言处理、图像识别等。

但对于第二点,几乎所有的场景都会遇到。

这里将注重研究第二点“对变量所做的数学运算是合理的”,它表示的内涵是:对于变量,数字的运算有相应的实际意义,包括以下两个方面:

  • 数字的大小关系。
  • 数字的四则运算。

为了更好地讨论问题,将模型的自变量分类。正如前面章节所提到的,在模型里使用的变量可以分为两类:数值型变量和类别型变量。如图1所示。

 


图1

数值型变量,在学术上也被称为定量变量(quantitative variable),如长度、收入、重量等。它们的数值表示具体的测量或计数。事实上,定量变量按是否连续可进一步细分为连续型变量和离散型变量。在一定区间内可以任意取值的变量叫连续型变量,比如人的身高、体重等;反之则是离散型变量,比如公司员工人数等。对于这类变量,数字间的不等关系是有实际意义的。比如对于收入,在数学上,100小于1000;在实际生活中,100元也小于1000元。数字间的四则运算也同理,这里就不赘述了。当然由于数字的等于关系和四则运算,数值型变量常常隐含着边际效应恒定的假设,正如我们在第5章里讨论的那样。在某些场景下,这个隐含假设与现实不符,直接使用变量会影响模型的效果。

类别型变量,也被称为定性变量(categorical variable)。它并不是表示数量上的变化,而是表示类别。比如性别、省份、学历、产品等级等。这类变量的取值通常是用文字而非数字来表示。比如对于性别这个变量,可能的取值为男、女。因此要将文字变量转换为数字变量,并且保证对于转换之后的变量,数学运算是有意义的,这并不是一件容易的事情。通常针对一个类别型变量,我们会用一个数字去表示其中的一个类别,但这样的转换方法并不能满足要求:

对于有序的类别型变量,比如产品等级,0表示合格、1表示良好、2表示优秀。这种情况下,0小于1的确对应着合格等级次于良好等级,但数字间的四则运算就没有对应意义了。数学上2减1等于1,但对于产品等级,优秀减去良好还等于良好吗?

对于无序的类别型变量,比如对于省份,0表示北京、1表示上海、2表示深圳等。数字间的大小关系和四则运算都是没有实际意义的。

因此,在模型里直接使用类别型变量是没有任何道理的,也会严重影响模型的效果。由此可见,不管是数值型变量还是类别型变量,通常都需要根据问题场景做相应变换后,再放到模型中使用。具体的方法将在后续的文章中详细讨论。

责任编辑:未丽燕 来源: 网络大数据
相关推荐

2018-07-12 13:47:04

数据科学变量虚拟变量

2018-05-15 08:40:40

Linux命令数学运算

2009-07-21 09:31:00

Scala数学运算逻辑操作位操作符

2020-08-11 13:00:34

GNU bcLinuxShell

2020-09-30 14:24:58

PythonSet对象

2023-05-04 12:35:39

AI科学

2015-09-18 16:26:54

NaSC运算Ubuntu

2023-12-04 09:37:00

C++静态变量

2022-12-07 07:43:21

2021-02-22 17:25:19

数据科学数据技能可视化

2019-08-18 23:10:14

数据科学算法数学

2017-07-05 16:09:25

LED智慧城市

2019-08-29 10:20:13

大数据IT互联网

2019-08-27 09:34:29

数据科学统计机器学习

2019-12-13 07:58:34

数据科学数据科学家统计

2021-09-14 10:39:16

入侵检测数据泄露日志文件

2022-04-28 10:29:38

数据数据收集

2009-11-06 13:57:52

C#

2023-05-12 15:32:00

形态学运算图像处理

2017-12-13 10:08:26

大数据图数据推理数据科学
点赞
收藏

51CTO技术栈公众号