由437必赢会员中心、必赢健康医疗大数据国家研究院、必赢数据挖掘研究中心朱建平团队承担的2020年国家统计局重大专项“适用于社会经济统计的大数据技术方法体系研究”(2020ZX20),于2021年11月顺利结项,并得到好评。经过锤炼,其研究成果的核心内容被国家统计局《统计制度方法研究》(2022 年第 19 期)收录。该研究成果的整理凝练稿,2022年8月18日整版刊登在《中国信息报》。
“适用于社会经济统计的大数据技术方法体系研究”成果的整理凝练稿
适用于社会经济统计的大数据技术方法
本文围绕大数据概念剖析、大数据收集清洗转换等准备工作以及大数据技术的基本理论和方法,对社会经济统计常用的大数据技术方法以及软件使用进行说明,并提出了统计学理论及应用研究未来发展趋势,以期为大数据和统计业务的结合应用提供一个通用技术简明手册,供业务人员借鉴使用。
一、大数据概念剖析
从统计学科与计算机科学性质出发来定义的大数据是指,超过传统数据系统处理能力、超越经典统计思想研究范围、不借用网络无法用主流软件工具及技术进行单机分析的复杂数据的集合。对于这一数据集合,在一定的条件下和合理的时间内,可以通过现代计算机技术和创新统计方法,有目的地进行设计、获取、管理、分析,揭示隐藏在其中的有价值的模式和知识。
大数据技术是针对大数据的复杂集合,在一定的条件下和合理的时间内,通过现代计算机技术和创新统计方法,有目的地进行设计、获取、管理、分析,揭示隐藏在其中的有价值的模式和知识。该领域已经涌现出了大量新的技术,它们成为大数据采集、存储、处理和展现的有力武器。
二、数据处理
数据准备是模型开发过程中最重要的步骤之一。本节将较为系统地介绍网页数据获取和去噪、缺失值填充、不平衡数据处理和数据变换等内容。
(一)定向资料收集——网络爬虫
网络爬虫是人为编写的用于自动下载网页数据的程序或脚本,主要目的是将互联网上的公开数据下载至本地计算机。数据爬取方式主要有两类:一是静态数据爬取,网络爬虫通过解析工具(如python的lxml解析库)将网页HTML源码下载至本地并提取数据;二是动态数据爬取,网页编写者通过JavaScript语言将网站服务器数据库发送的数据进行处理并呈现在网页上,实现动态加载的网页和服务器进行数据通信时传输的数据一般为JSON格式,使用相关的软件(如python提供的json模块包)可解析这部分数据。
(二)数据去噪
数据去噪是数据分析的重要前提,能否有效消除数据噪声直接影响到算法有效性。常见方法主要有:聚类方法将相似或相邻近的数据聚合到一起形成各个聚类集合,落在聚类集合之外的值被认为是孤立点,作为噪声删除;样条方法通过一组给定数据点的曲线拟合数据,可通过调整曲线光滑度去除噪声;Bin方法通过利用数据点周围的值对数据进行平滑,排序后数据被分配到“桶”或箱中。
(三)缺失值处理
数据预处理是根据数据不同特点制定缺失值的处理方法。主要方法有:基于完全随机缺失值(MCAR)替代,包括单值替代、类均值替代、回归替代等;时间序列缺失值填充法,包括前推法、后推法、插值法、加权移动平均法填充、线性模型填充法等。
(四)不平衡数据处理
数据集的类别分布表现出失衡时,称为不平衡数据。处理方法有以下两种:
1.数据层面的采样处理。当数据由于随机欠采样造成信息丢失时,可采用Easy Ensemble、Balance Cascade等改进的采样算法;当随机过采样发生模型过拟合问题时,可采用基于数据合成的过采样方法SMOTE,通过KNN技术模拟生成少数类别的新样本并添加到数据集中;采用基于聚类的采样方法,先分别对正负例样本进行聚类,再进行过采样或欠采样方法,解决类间和类别内部不平衡问题。
2.算法层面的代价敏感型学习。通过调整样本权重,对不同类别分错的代价不同,将更多的误分类代价分配给少数类,以达到对少数类更多关注。用贝叶斯风险理论来解释,把代价敏感学习看成是分类结果的一种后处理,按照传统方法学习到一个模型,以实现损失最小为目标对结果进行调整。
(五)数据变换
1.数据标准化。由于数据量纲不同,常用最小-最大标准化、标准差标准化等方法进行数据标准化。
2.消减数据维数。一是主成分分析,把原来的指标重新组合为一组新的互相无关的几个综合指标来代替原有指标,同时根据实际需要从中选取几个影响较大的综合指标来表示原有指标的信息;二是小波分析法,通过小波变换把一个数据向量转换为另一个数据向量,且这两个向量的长度相同。实际应用中一般使用通用层次算法(Hierarchical Pyramid Algorithm)在每次循环时把数据一分为二处理,以获得更高的运算效率。
三、社会经济统计大数据技术方法
本节主要介绍常见的适用于社会经济统计的大数据方法及实现软件简介。
(一)网络分析
社会网络(SocialNetwork)是由社会关系构成的网络结构。其中,网络节点表示社会行动者,通常指个体或组织,如个人、公司、城市、国家等,网络连边表示行动者之间的关系,通常指节点间的各种社会互动关系,如朋友关系、竞争关系、贸易关系等,整合而成的网络结构将社会行动者通过其社会关系连接串联起来,形成社会网络。相比传统统计方法常用于“属性数据”的分析,社会网络适用于“关系数据”的分析,通过数学分析、图论等定量分析方法研究网络关系,有助于把个体间关系、“微观”网络与大规模的社会系统的“宏观”结构结合起来。
R语言程序包igraph可用于社会网络的可视化、网络特征分析等研究。
(二)粗糙集
粗糙集理论(RoughSet)是一种用于处理不确定性和不精确性知识的数学工具。其基本思想是在保持分类能力不变的前提下,通过知识约简提取分类或决策规则。它以不完全信息处理不分明现象,或依据观察、度量到的某些不精确结果进行数据分类。
1.数据降维。属性约简或知识约简是粗糙集理论的核心内容之一。属性约简在保持信息系统分类能力不变的情况下,删除冗余变量。随着大数据的快速发展,数据集的规模变得越来越大,粗糙集可通过无监督学习实现对高维数据的降维目的。
2.事务项压缩。粗糙集的属性约简针对的是高维数据降维,大数据的事务项压缩则是通过数据库压缩解决这一问题,将一些无关或多余的信息丢掉而不影响其原有的功能。使用信息熵作为信息源统计量度,压缩后提供的信息量可以反映原有信息系统。R语言Roughsets包可用于实现粗糙集方法。
(三)文本挖掘
文本数据挖掘是从自然语言文本中挖掘用户所感兴趣的模式和知识的技术,其难点在于对非结构化自然语言文本内容的分析和理解。通常利用智能算法抽取或标记关键字词、字词间的关系,并按照内容对文本进行分类或聚类,获取有用的模式和知识。
1.文本数据预处理。首先对非结构化数据进行初步清洗,如去重、缺失值处理、无效字符过滤等;然后对文本分词,主要方法有基于词表的分词方法(如正向最大匹配法)、基于统计模型的分词方法(如N-gram语言模型)、基于序列标注的分词方法(如隐马尔科夫模型)。常用分词工具有中科院的ICTCLAS、jieba等,ICTCLAS算法支持用户自定义词典,对新词、人名、地名等的发现具有良好效果,对应R包为jiebaR;jieba分词工具词性标注方便,具有更快的分词速度,对应R包为Rwordseg。
2.文本表示。文本表示是用文本的特征集合来代表原始文本的过程。
(1)离散式文本表示。一是One-Hot编码,将词表示成一个向量,向量中当前词的位置的值为1,其余的位置为0,得到高维稀疏矩阵;二是词袋模型,利用词频来建立向量;三是TF-IDF模型,可区分常用词和专有名词对文本的重要性。
(2)分布式文本表示。常用Word2vec模型训练词向量,包括两种方法,一是CBOW(continuous bag-of-words model)利用上下文的词预测中心目标词,二是Skip-gram模型利用中心目标词预测上下文的词。
3.主要应用。
(1)文本分类。根据一个已经被标注的训练文本集合找到文本特征和文本类别之间的关系模型,并利用此模型对新文本进行类别判断。常用的文本分类算法包括:朴素贝叶斯、Logistic回归、最大熵模型、K-最近邻、支持向量机、随机森林以及以卷积神经网络和循环神经网络为代表的深度神经网络技术等。
(2)文本聚类。将给定文本集按照某种特征划分为不同类别,可提供大规模文档集内容的总括,识别隐藏的文档间的相似度等。具体算法包括:K-均值聚类、单遍聚类、层次聚类、密度聚类、基于网格的聚类、基于子空间的聚类、基于神经网络的聚类、图聚类、谱聚类和后缀树聚类等。
(3)主题模型。将文本向量从高维词项空间映射到一个低维语义空间,挖掘隐含在词汇背后的主题和概念。常用模型包括:潜在语义分析、概率潜在语义分析和潜在狄克雷分布等。
(4)情感分析与观点挖掘。对带有情感色彩的主观性文本进行提取、分析、处理、归纳和推理,根据文本所表达的观点和态度等主观信息进行分类。
(四)深度神经网络
深度学习经常应用于各种监督模型的识别问题,包含输入层、输出层以及多个隐藏层。传统的多层感知神经网络训练的反向传播(BP)算法为核心算法。
1.自编码机(AE)与限制性玻尔兹曼机(RBM)。其基本原理是基于非监督学习找到数据内在规律的特征表示,然后用于监督学习的深层神经网络模型中。自编码机的网络结构有编码器和解码器两部分,将输入信息作为学习目标进行特征学习及降维。限制性玻尔兹曼机是通过建立概率分布和能量函数间的关系,求解出能量函数,并且刻画出数据内在的规律。方法实现主要采用python语言,多层自编码器是首先导入tensorflow和Dense模块,通过Dense构造编码层和解码层,然后通过Model搭建编码模型,最后训练自编码器;限制性玻尔兹曼机可以通过sklearn.neural_network导入。
2.卷积神经网络(CNN)。CNN一般包含降采样层、卷积层、全连接层以及输出,进行特征提取是卷积层的作用。采用CNN方法把一句话转化成二维矩阵,卷积核的宽度选用词向量维数,对矩阵进行卷积操作,从而从句子中提取关键词语、词组特征。通过R软件加载keras、caret库,导入数据集,定义和拟合模型,可以实现卷积神经网络。
3.递归神经网络(RNN)。RNN是对序列型数据进行建模,需要保留序列上下文的信息,所以它的隐节点中存在反馈环,即当前时刻的隐含节点值不仅和当前节点的输入有关系,还与前一时刻的隐含节点值有关系。可利用长短时记忆模型(LSTM)来改进RNN梯度消散现象。使用R软件安装并运行包rnn、包digest,并设置网络参数,即可实现RNN。
4.生成对抗网络(GAN)。GAN不依赖任何分布假设,以简单的方式从潜在空间生成真实的样本。可使用python语言实现,在tensorflow框架下导入keras,使用keras.Sequential搭建生成器模型和辨别器模型,通过定义批次训练函数实现参数训练。
5.深度迁移学习。迁移学习是利用相关领域知识来提高学习性能,可充分利用之前标注好的数据,同时又保证新任务模型精度。深度迁移学习实现主要采用python语言。首先,在tensorfl ow框架下,导入keras、numpy和matplotlib等相关模块;然后,通过class类封装网络结构,使用model.compile配置训练方法;最后,在model.fit()中执行训练过程。
(五)集成算法
集成学习(ensembl elearning)是用于训练多个学习器并组合输出的过程。其基本思想是认识到现实世界中每个模型都有其局限性,并且可能会出错,集成学习的目的是管理它们的优势和劣势,最终做出最佳决策。
主要方法有:一是提升法(Boosting),建立在其它分类的基础上为每个训练样本集分配一个权重,最终合并到模型中。其中,XGBoost算法在分类效果、业务解释性、建模效率等方面获得了业界广泛的认可;二是套袋法(Bagging),对所有基学习器一致对待,在大部分情况下,经过bagging得到的结果方差更小;三是堆叠法(Stacking),核心思想是通过增加基学习器的异质性和使用元学习组合基学习器预测的结果来减少泛化误差。
集成算法的实现代码可查询R语言mlr包和mlbench包。
(六)正则化模型
正则化可以进行系数压缩估计,是一种常用的大数据技术方法。社会经济统计中常常遇到高维小样本数据,此类数据的特点是自变量维度远远大于样本量,数据包含许多与因变量无关的冗余变量,影响模型的解释力度和估计精度,且样本量小容易导致过拟合问题,降低模型的泛化能力和稳定性。正则化是结构风险最小化策略的实现,该方法基于全部解释变量建模,在经验风险上加正则化项(惩罚项),通过对系数加惩罚约束将系数估计值往零的方向压缩。常用的正则化方法有岭回归、Lasso以及基于VAR(p)的Lasso方法。
(七)贝叶斯方法与深度学习
贝叶斯深度学习是结合深度学习和贝叶斯模型的概率框架,通过对文本或图像、音频等的感知提升更高层次推理的能力,实现双向反馈和推断。
1.贝叶斯网络。作为一种不确定性的因果推断模型,贝叶斯网络的拓朴结构是一个有向无环图(DAG),每个节点代表一个随机变量,节点之间的边代表随机变量间的概率依赖关系。将有因果关系的变量用箭头来连接,若两个节点间以一个单箭头连接在一起,表示其中一个节点是“因”,另一个是“果”,两节点就会产生一个条件概率值。在概率图中,用贝叶斯网络或马尔科夫随机场转换为因子图变量,再结合Sum-product等算法高效地求解各变量的边缘分布。
2.贝叶斯分类及回归树。多元统计中很多经典的回归模型、主成分分析、因子分析、结构方程模型、典型相关分析、空间计量等都可以用贝叶斯方法进行估计。贝叶斯方法的不同在于为数据集建立完整的概率模型,其本身具有树结构集成算法的特性,根据后验分布进行均值预测的过程与随机森林类似。
3.非参数贝叶斯模型。非参数贝叶斯模型中参数的先验分布具有非参数的特点,参数个数会随着数据的变化自适应地调整,有更强的描述数据能力,这种特性对于解决大数据背景下的复杂问题尤为重要。贝叶斯非参数模型包括未知成分的混合模型、隐式特征模型、刻画连续函数的高斯过程等。
4.贝叶斯神经网络。贝叶斯和神经网络的结合,常用的训练方法有三种:用MCMC采样近似复杂积分、变分法和蒙特卡洛Dropout。通过多次采样贝叶斯深度学习可以有效地解决权重微小改变对深度学习的影响,更具稳健性。也可以提供不确定性的表达,包括网络结构参数、任务目标相关的参数和信息传递参数的不确定性,用概率分布来表示这些参数可以方便地将这些不确定性统一起来。
(八)函数型数据分析
函数型数据分析在处理曲线和图像数据中具有较大优势。函数型数据本质上是无限维的,对函数型数据进行建模和统计推断的关键是对函数变量进行降维。降维技术主要有:一是函数型主成分,把具有无限维特征的函数型数据转换为有限维的得分向量,起到降维作用;二是函数型数据聚类,函数型数据具有无穷维特征,首先对函数型数据之间的相异性程度进行度量,然后使用已有的聚类算法进行聚类,其中常见的相异性程度度量方法有距离、基于模型的相异性度量、基于主成分的相异性度量和基于函数曲线极值点的相异性度量。
相关代码可查询R语言包fd、fdasrvf和fdapace。
四、大数据背景下的统计学理论及应用研究展望
本节从以下六个方面展示大数据背景下统计学研究的重要领域及方向,为统计工作者的研究方向提供参考。
(一)处理社会经济复杂适应系统的统计学理论与方法研究
社会经济动态随机系统是一个以人为核心,涉及人类活动的各个方面和生存环境的诸多复杂因素的巨系统,它是一类重要的、典型的复杂适应系统(CAS)。社会经济复杂适应系统具有若干特殊的情况与性质,使得它更难于认识、描述和控制。类似的例子还经常在环境、生态问题中遇到,如地球气候状况、温室效应问题、环境污染状况、大范围变化问题等。传统的统计学方法的适用性受到限制,需要全新的统计理论方法进行处理,这将是今后相当长时期内统计学发展的重要趋势之一。
(二)数据要素的开发与应用研究
“数据”成为日益重要的生产要素,相关统计学理论和应用研究方向为:一是“数据”作为“要素”,其概念界定和统计对象研究,包括数据与自然资源、资本、劳动和技术要素的联系与区别;二是数据要素统计框架的构建,包括数据要素市场统计,数据要素生产收入核算;三是数据要素的增长贡献及其对国民经济各部门、国家治理各领域的影响测度等。
(三)数字经济测度研究
数字经济的发展给传统经济统计带来挑战,其研究可从以下几个方向开展:数据经济运行机制模拟及运行状况评价研究;数字经济核算的系统理论框架与方法体系研究;数字经济环境下的宏观经济的统计监测及预警研究;数字经济与经济增长和其他产业的联动效应研究等。
(四)大数据质量提升研究
与传统数据相比,大数据更容易产生数据质量问题,直接影响到数据在流转环节中的各个方面,给数据存储处理分析性能、数据质量保障都带来了挑战。为改进和提高数据质量,要从产生大数据的源头抓起,从管理入手,对数据运行的全过程进行监控,密切关注数据质量的发展和变化,深入研究数据质量问题所遵循的客观规律,分析其产生的机理,探索科学有效的控制方法和改进措施;强化全面数据质量管理理念,把这一理念渗透到数据生命周期的全过程。大数据质量如何保障与界定是需要明确的重要研究领域。
(五)遥感信息与空间统计学的理论和应用研究
随着遥感技术的发展,遥感数据空间分辨率、时间分辨率、光谱分辨率和辐射分辨率越来越高,数据类型越来越丰富。与此同时,数据量也越来越大,遥感大数据向传统的遥感数据智能处理提出了新的挑战。空间统计学大量的应用在很大程度上激发人们对该理论和方法的浓厚兴趣。例如遥感大数据稀疏表征理论和方法的研究,基函数的构建和稀疏分解的方法研究;时空数据挖掘技术的研究,典型例子包括气象模式的发现、城市或土地利用演变模式的发现、地震或飓风等
自然灾害的预测、传染病聚集性的发现、交通行为预测等;遥感大数据内在的结构特征和存在形式的建模问题,针对研究学习机制或途径,研究如何有效利用数据和信息,数据降维、特征选择、模式分类和知识表达等方面都面临着新的问题。
(六)社会经济大数据计算研究(计算社会经济学)
通过卫星遥感、移动通讯、社交媒体、物联网等产生的新型数据对以统计分析为主要工具的传统社会科学研究者提出了挑战。这些数据规模更大、实时性更强、精度更高,通过分析可以更好地把握社会经济态势,启发和孕育新理论,发现可能的异常,预测未来的趋势等。应用领域可延伸到利用物联网数据进行决策科学化的应用、利用通讯定位数据进行风险风控方面的应用,以及统计学方法和计算机结合在社会科学研究中的应用等。
感谢国家统计局统计科学研究所汤志华,根据项目报告在整理和撰写过程中做了大量的工作。
项目:2020年国家统计局重大专项“适用于社会经济统计的大数据技术方法体系研究”( 2020ZX20)
项目负责人:朱建平
项目组成员:陈宇晟、冯冲、符羽彤、梁振杰、苏萌、孙俊歌、唐鑫寅、王玮玮、王玉莹、翁福添、吴淇、吴小龙、谢邦昌、叶玲珑、于洋、郑陈璐、朱建平、庄穆妮(按姓氏拼音先后为序)
项目单位:437必赢会员中心、必赢健康医疗大数据国家研究院、必赢数据挖掘研究中心
必赢数据挖掘研究中心