数据治理丨“鸡同鸭讲”——字段?不就是变量嘛?

数据seminar每天18:00与您准时见面!

查看原文:【数据seminar】数据治理丨“鸡同鸭讲”——字段?不就是变量嘛?

摘要

本文介绍了经济计量领域的变量和数据领域的字段两个概念,以及字段的类型,并在此基础上讨论什么情况下字段可被直接视为变量,何时需要对字段进行必要的前期处理和信息提取才能形成变量。未来可供经济学者分析的数据类型会越来越多,数据库中字段的类型和取值也将越来越复杂而难以简单处理,如何将其转化为经济实证分析中可用的变量,将会越来越考验研究人员的能力和耐心。

目录

前言

01  对变量的各种定义

02  字段的定义和类型

字段的定义

字段的类型

1 数值类型

2 时间和日期类型

3 字符串类型

03  字段何时可当作变量

04  总结


前言

近年来,越来越多的经济学者开始尝试采用大数据进行经济分析。这为经济学实证研究提供了新的发展窗口期,但同时也带来了许多挑战。当处理的数据量从几千、几万条,一下子跃升到数百万、数千万甚至更多的时候,就要采用新的数据处理技术和分析软件,甚至需要与统计学、计算机领域学者开展跨学科合作研究。然而,不管是独立研究还是开展合作,经济学者都需要先了解一些数据科学领域的相关术语,尤其需要将其与经济实证领域相近的术语之间的联系和区别理解清楚。

当经济学者与数据服务商沟通,或者与计算机领域的合作者就数据库管理和数据分析进行交流时,常会听到“字段”的概念。可是从形式上看,这不就是变量吗?

尽管形式上很像,但严格来讲,将两者视为等同并不准确,本文将说明数据领域的“字段”和统计计量领域的“变量”这两个概念之间到底有何异同,并讨论在何时数据库中的字段可以直接被当做变量使用。

01  对变量的各种定义

事实上,变量本身的定义也不是唯一的,不同学科对变量的定义存在明显差异:

在计算机领域,变量是一种使用方便的占位符,是计算机语言中能储存计算结果或能表示值的抽象概念。而在物理学中,变量又称非常量,具体可分为独立变量和非独立变量,例如速度、时间、温度等。

在数学领域,变量一般出现在函数中,作为函数的形式参数。比如下面的函数式:y=x+1,描述了变量y和变量x之间的关系,在这里x是自变量,y是因变量,y随着x的变化而变化。在计量经济模型中,也同样区分自变量和因变量。

在统计学中,变量是统计学研究中对象的特征,它可以是定性的也可以是定量的,如反映员工的性别、教育程度的就是定性变量,这种变量只能分类,不能说明具体量的大小和差异;而像月收入、销售额等变量既能分类也能测量具体大小和差异,就被称为定量变量。在经验研究中,经济学者在建模时会根据自变量或因变量是否为定性变量而对变量进行进一步处理或者采用特定计量模型。

总的来说,虽然各个学科对变量给出了不同的解释,但是我们可以确定一点,变量是“取值变化的量”,例如,对于数值型变量s,我们可以取1、2、3等值。

当使用存放于数据库中的结构化数据来做经济分析时,经济学者在关系型数据库的二维表中会看到所谓的“(数值型)字段”,其取值也是变化的,包含1、2、3等值。那么,它与存放在excel表格或stata的dta文件中的“变量”有何区别呢?

接下来,我们正式介绍SQL数据库中字段的概念和类型,并探讨其与统计计量中变量这一概念之间的联系和区别。

02  字段的定义和类型

字段的定义

在关系型数据库中,表就是一个数据的集合体,简单地理解就是一个二维数据表格。字段是指表格中的列,即具有相同属性的数据集合。每个字段都有相应的描述信息,如数据类型、数据宽度等,而且每个字段都必须有一个唯一的名称,称为字段名。就像“通讯录”数据库中,“姓名”、“联系电话”这些都是表中所有行共有的属性,所以把这些列称为“姓名”字段和“联系电话”字段,“姓名”、“联系电话”就称为字段名。

有时候,利用表中已有的列,可以很容易地生成新的字段。举个例子,用AS语句在SQL中,as可以被用作重命名列名或者表名。例如:查询student表中的所有数据并把表命名为ss,此时可使用代码:select * from student as ss,这里的as的作用就是将表student命名为ss将列的内容经计算,“存入”另一个字段。如在表A中只有列“ID”,内容为“1”,运用“SELECT ID , ID * 5 AS ABC from A”语句,得出的结果如下:

ID

ABC

1

5

字段的类型

真实的数据库中充满着五花八门的字段内容,但归总起来可以分为三大类。接下来我们依次介绍数值型、时间和日期类型,以及字符串类型这三大类字段的基本情况。

数值类型

数值类型可以细分为严格数值数据类型(INTEGER、SMALLINT和DECIMAL等)和近似数值数据类型(FLOAT、REAL和DOUBLE)。为方便大家进一步理解数值型字段,表2列出了主要数据类型,并对其范围和用途进行了简单介绍。其中,范围分为有符号和没符号两大类。

2 时间和日期类型

表示时间值的日期和时间类型字段,包括YEAR、DATE、TIMESTAMP、TIME、YEAR。其中,YEAR类型是一个单字节类型,用于表示年,在储存时只需要1字节;TIME类型用在只需要时间信息的值,在储存时需要3个字节;DATE类型用在仅需要日期值时,没有时间部分,在存储时需要3个字节;DATETIME类型用在需要同时包含日期和时间信息的值,在存储时需要8个字节;TIMESTAMP是支持小数秒和时区的日期/时间类型,存储既有日期又有时间的数据,对秒的精确度更高。

字符串类型

字符串类型包含CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET等8种类型:

关于CHAR和VARCHAR。字符串以定长字符串的形式存储在被指定为CHAR的列中,当字符串长度达不到最大长度的时候,使用半角空格补足,而在VARCHAR中,该类型的列是以可变长字符串的形式来保存字符串的,即使字符数未达到最大长度,也不会用半角空格补足。例如在CHAR(5)类型的列中输入“bcd”的时候,会以“bcd  ”(bcd后面会有2个半角空格)的形式保存起来,而在VARCHAR中,会以“bcd”形式保存起来。(后面没有半角空格)

再来谈一谈BINARY和VARBINARY ,BINARY (n),固定长度的n个字节二进制数据。n必须从1到8000。存储空间大小为 n+4 字节。VARBINARY (n) ,n个字节变长二进制数据。n必须从1到 8000。存储空间大小为实际输入数据长度+4个字节,而不是n个字节,输入的数据长度可能为0字节。

对于ENUM和SET来说,它们都是比较特殊的字符串类型,它们的取值范围是一个预先定义好的列表。ENUM和SET的主要区别是:ENUM只能取单值,它的数据列表是一个枚举集合。它的合法取值列表最多允许有65535个成员。例如:ENUM(“N”,“Y”)表示,该数据列的取值要么是“Y”,要么就是“N”。SET可取多值。它的合法取值列表最多允许有64个成员,例如SET(“Y”,“N”),可以同时选择“Y”和“N”。空字符串也是一个合法的SET值。

BLOB常常是数据库中用来存储二进制文件的字段类型,BLOB是一个大文件,典型的BLOB是一张图片或一个声音文件。最后,TEXT列用于保存非二进制字符串,如文章内容、评论等。

03  字段何时可当作变量

在统计和计量领域,变量主要用于说明研究对象的特征,将某个研究对象的某个特征以数字或文字等形式表现出来(比如说“性别”特征以文字形式表示为“男”或“女”,而“年龄”特征则以数字的形式表现出来等),从这一层面上来说,字段和变量存在“共通点”。

上文提到,字段分为三大类,它们有些可以直接进入计量模型,有些则必须经过转换处理,才能成为可以在模型进行估计的“变量”。

比较“简单”的字段,其取值可以直接作为变量的值进入计量分析。先看数值型的例子,在研究消费者收入对支出的影响时,消费者的支出是因变量,收入为自变量。假设我们只调查三个消费者,分别为消费者A、B、C(即被抽取的样本),令其收入分别为“2000、3000、4000”(即自变量“收入”的取值),可将这些取值代入相应的计量模型,就能得到估计结果。假设我们要在数据库中建一张消费者基本信息表以保存上述信息,通常将“2000、3000、4000”分别写入上述三条记录中(三个消费者各一行,每行代表一条记录)的“收入”列中,这一列字段名就是“收入”,用于保存消费者的收入信息。在做实证分析的时候,可以直接将字段“收入”作为计量模型中变量的取值。

对于一些只能分类信息的字段,计量分析中可对其进行“量化”处理,比如说前面提到的“性别”,我们会进行赋值,即男生=1,女生=0,然后再代入模型使用;或者我们也可直接视为字符串类型的变量进入模型估计。

然而,在真实的大数据分析场景中,我们会遇到的字段就不是那么简单了,许多不能直接作为变量。以图2所示CCAD数据库中家庭农场(企业)变更信息表为例,(详见推文:CCAD | 变量详解之二——变更信息表的变量其中就有某些字段的类型无法直接作为变量代入模型当中。根据我们的定义可知,一个变更事项的说明就是一个字段(即图中的ALTBE字段),但是却不能作为变量直接代入模型,原因在于一个变更事项的字段内容多为字符串类型,并且常为一句话,属于文本信息,如果直接作为变量,其取值代表何意?不同取值之间的差异如何理解?这些都是问题,通常需要处理(比如先做文本分析或者对其进行信息提取)后才能放入模型。

家庭农场(企业)变更信息表(示例)

注:图2中的SAMPLE_ID、ENTNAME、S_EXT_NODENUM、ALTITEM_CN、ALTBE字段均为VARCHAR型(可变长字符串)

特别地,属于字符串类型的BLOB类字段,其通常是图片或声音文件,在数据库中存放体积较大的多媒体对象就是数据库管理器处理BLOB的典型例子。显而易见,对于这类多媒体对象,我们更是不可能将其直接代入模型进行计量分析。在这些时候,字段不可被当作变量直接使用,还需要前期进行文本分析、图片信息处理等步骤,方可提取有用信息,才能构建相应的指标来作为变量。

04  总结

越来越多的经济学研究依赖于大数据资源。在开始分析之前,我们必须先了解一些数据科学领域的相关术语。变量和字段这对从形式上看很相似的概念其实在各自的场景中有完全不同的用途。前者主要用于建立经济计量模型,对经济变量之间的关系进行实证分析;而后者则是通过表的形式将相关数据保存起来,方便用户进行一系列的操作,如查找符合条件的内容。

本文对变量和字段的概念进行了总结,列举了字段的类型,并在此基础上讨论了什么情况下字段的取值可以直接被用于变量的取值。未来可供经济学者分析的数据类型会越来越多,字段的内容也将越来越复杂而难以处理,如何将其转化为经济实证分析中可用的变量,将会越来越考验研究人员的能力和耐心。

参考文献

1. 李子奈 潘文卿.计量经济学[M].(第四版).高等教育出版社, 2015年出版 10-11页

2.https://zhuanlan.zhihu.com/p/33589825?utm_source=wechat_session&utm_medium=social&utm_oi=1019464872513466368(源于知乎)

3. https://m.html.cn/qa/other/20219.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值