APP下载

小数据在精准扶贫中的应用研究

2021-05-10孔艳春苏为斌陈国平徐子珺杨雪琼李懿航

昆明冶金高等专科学校学报 2021年1期
关键词:贝叶斯分类器朴素

孔艳春,苏为斌,陈国平,徐子珺,杨雪琼,李懿航

(1.昆明冶金高等专科学校 a.建筑工程学院;b.测绘学院;c.电气与机械学院;d.商学院;e.后勤服务中心, 云南 昆明 650033; 2.云南工商学院智能科学与工程学院,云南 昆明 651701)

近年来,大数据助力脱贫成为了研究的热点,然而,大数据具有“全局思维、混杂相关”的性质,不能很好地适用于具有“随机个体、因果关联”的扶贫小数据分析。大数据在扶贫领域的应用存在诸多问题:大数据一般以网络为基础,受限于贫困地区客观条件,比如智能手机的使用率、网络普及率低就很难实现“全数据”采集覆盖;大数据并非大家都可以使用,比如涉及个人的隐私、机密等就不宜广泛使用;大数据无论有多全面,也只能记录人的片面行为,无法确切描述人的思维;此外在技术实现上,由于大数据重“相关”轻“因果”,导致难以全面分析农户致贫原因。为了从源头根除贫困,众多学者都认识到“扶贫必先智志双扶”,人的价值观才是脱贫的最终根源。小数据从个体出发,通过统计个人信息,观察行为特征,挖掘分析数据,提高扶贫的“精准”度。该方法能够有效检测扶贫效果,改进扶贫工作方法。

1 脱贫攻坚小数据的由来

在大数据提出之前,数据本无大小之分。随着大数据的火热,越来越多的学者意识到小数据具有不可替代的价值。学术界通常把Estrin[1]于2014 年通过观察记录其父亲去世前几个月的行为数据,认定为小数据研究的开端。事实上关于小数据的应用先例早已有之:“星星之火,可以燎原”是毛泽东同志于1927年革命失败后,透过现象看本质,应用唯物辩证法,科学分析国内政治形势和敌我力量作出的正确激励;“关键少数”是习近平同志于 2015 年两会期间提出的最新热词,是抓好党员思想建设和制度保障的“精准良方”。纵观历史,小数据总能指导人们在关键时刻作出决策,解决棘手问题。

1.1 小数据的国内外研究现状

小数据的显著特征在于对单个个体或小团体范围内人的行为的全数据记录,它由多个时间标签系列的小样本组成。在国外,Augustin[2]认为,一个高质量的小样本数据要比低质量的大样本数据更具决策价值;O'Brien[3]认为,小数据能够优化大数据,实现客观报告行为与自我报告态度的同步;Robertson[4]指出,通过对个人活动中心和地理社会数据的统计分析,可以验证小数据高质量样本的“精准”特性。在国内,陈廉芳[5]指出,小数据是个体用户的“全”数据,具有大数据无法替代的作用;孙红蕾[6]认为,小数据将为数字文化治理带来新的机遇。

1.2 精准扶贫乡村振兴与小数据的关系

习近平总书记讲到,扶贫工作不能搞大水漫灌,务必要做到“六个精准”,即:因村派人精准、扶持对象精准、项目安排精准、资金使用精准、措施到位精准、脱贫成效精准。扶贫不是养懒汉,如果不能有效挖掘单个个体或小团体范围内的小数据,那么这些具体且特定的数据或有可能因大数据的分析方法而泛化,导致真正需要帮扶的人没有得到有效帮助,那些“等、靠、要”的懒汉则一次次地获得政策倾斜。针对该类问题,安素霞[7]指出,应当通过开展社会工作,解决贫困户过度依赖扶贫收益不愿意脱贫的问题;姚展鹏[8]认为,基层组织应当激励帮扶者改进帮扶方式、提升扶志效果;沈霞[9]提出,教育应当成为精准扶贫的重要保障。显然,要实现精准扶贫助力乡村振兴,必须长期做好基于小数据的社会学调查统计工作,建立科学的小数据理论分析体系,提高精准识别率。

2 脱贫攻坚小数据理论体系构建

很多学者认为大数据与小数据是矛盾关系,但事实上,它们之间存在着互补与交叉。如图1所示,学术界通常把数据间的关系定义为“因果”和“相关”。通过“获取数据样本→聚类→测定类间距离→获得相关系数”的方法属于传统大数据方法;通过“个体行为的调查研究→实验论证→得出数据因果关系”的方法属于小数据方法。显然在扶贫工作中对数据的界定与划分是本文研究的首要内容,划分方法如下:

1)若数据与数据间具有纯相关性,则送入大数据系统,不在本项目研究范畴;

2)若数据与数据间既有相关关系,又有因果关系,则采用朴素贝叶斯机器学习算法,构建混淆矩阵,分析准确率;

3)若数据与数据间属纯因果关系,则采用确定性演绎推理方法,对驻村工作中统计的具有数值属性和非数值属性的数据进行实验,验证理论可行性。

2.1 小数据的确定性推理方法

在脱贫攻坚小数据的分析过程中,依靠确定性推理能够实现问题的自动求解。“知识表示”是实现确定性推理的前提条件。所谓脱贫攻坚小数据的“知识”是对国家政策规定解读和长期的驻村扶贫工作中积累的认识和经验,而“知识表示”是对这一类知识的进一步模型化,构建谓词逻辑,形成产生式和框架表示规则[11]。“推理”是对这些知识规则,按照某种策略求解的一般过程,如表1所示。

图1 大数据与小数据的界定与划分Fig.1 Definition and division of big data and small data

表1 推理方式及分类Tab.1 Reasoning mode and classification

在推理的方向上,已知国家制订的贫困线标准,该标准为已知的知识库,也称为大前提;若有一农户收入水平在该标准之下,则由该农户数据构造的谓词逻辑称为小前提;显然得到的结论必然是该农户属于贫困户。这种由一般到个别的推理也称正向推理,是从已知实事出发的结论构建。

与之向反,若已知部分农户数据及他们向工作组反映的情况,但又找不到国家或地方相关的政策依据,那么就应当进行数据归纳,然后以某个假设目标作为出发点,寻找支持该假设的证据。这种由个别到一般的推理过程也称为逆向推理,获得的结论有利于向农户提供解释。

2.2 小数据的朴素贝叶斯分析方法

朴素贝叶斯(Naive Bayes Classifier, NBC)是基于贝叶斯定理特征条件独立假设的分类方法。具有所需估计参数少,对缺失数据不敏感等特点。结合概率统计,既可避免先验的主观偏见,又可避免单独使用样本信息的过拟合现象[10]。驻村扶贫工作统计的原始小数据往往是时间离散、格式不统一的excel表格或word文档。为了向上级呈现更加精练的数据信息,工作人员一般通过乡镇一级统一指挥,把整理后的数据录入国办数据库系统,存在录入失误和人为主观更改等问题。对驻村工作人员的原始数据进行上下文文本的朴素贝叶斯分类,能够在一定程度上规避这些问题。

驻村扶贫统计数据属于定性的样本特征向量,把这些数据代入朴素贝叶斯分类器进行训练,由此估计每种致贫因素类型的识别概率。贝叶斯分类器提供了分类程序的基本概率模型,例如统计辨别分析贝叶斯定理估计概率公式为:

(1)

(2)

(3)

公式(3)是基于小数据最终分类的朴素贝叶斯概率估计公式,其特点是在获得一个新的贫困户特征样本x时可以估计出该贫困户能否脱贫的概率。为了尽量降低错误的估计数量,应当尽可能地获得运算结果的最大值,通常取公式(3)分子的最大值来进行分类决策。

3 脱贫攻坚小数据的确定性知识表示

为了奠定小数据推理基础,需要把扶贫工作中驻村工作队与村民间的谈话和各级会议记录等形成的自然语言转换为谓词逻辑。

3.1 确定性知识表示的谓词规则

谓词是对主语的陈述或说明,指出“做什么”“是什么”或“怎么样”,是条件表达式求值返回真或假的过程。表2以小坝村为例解析了扶贫记录的谓词表示。

表2 确定性知识表示谓词公式规则

表2第一列中均出现了谓词关键字“是”,然而却有不同的含义。虽然人类可以轻易理解这种自然语言,但是计算机很难做到正确分析,会错误地把 “张老二”认定隶属于“张三”,错误地把时间“2017年”认定为“贫困户”。显然,研究人工智能谓词公式录入规则可以解决自然语言在计算机中的知识表示能力不足的问题,利于构建确定性扶贫小数据知识体系。

3.2 确定性知识表示的量词规则

扶贫小数据确定性推理的第二项重要任务是运用“量词”实现谓词公式的建立。量词分为2种,如表3所示。

表3 量词规则

需要注意的是,表3中的2个例子均有泛化属性,比如:例1泛化“小坝村的路”为x;例2泛化“鲁老三”为x。泛化的充要条件是具备“个别”与“一般”的缩放条件。

3.3 确定性知识表示的连词规则

“连词”是对已知事实即前提P与结论Q之间的关系建立,具有“否定”“合取”“析取”“蕴含”“等价”5种连接关系。如表4所示,连接词与自然语言具有相应的对照关系。

表4 连接词与自然语言对照Tab.4 Conjunctions and natural language

国家对脱贫的要求,必须做到“两不愁,三保障”。对于“吃”“穿”“教育”“医疗”“住房”,若只考虑“达到”和“未达到”2个层面。假如任取一户,存在5项中的任1项未达到,将导致全村无法实现脱贫,可描述谓词公式为:

∀(x)∀(y){吃(x)∨穿(x)∨教育(x)∨医疗(x) ∨住房(x)→达到(y)}

3.4 子句集的划分规则

小数据确定性推理的关键是把谓词公式化为子句集的过程。该过程共分为9个步骤,谓词公式不可满足的充要条件是其子句集不可满足。获得子句集的目的是为了使用鲁宾逊归结原理(消解原理)的基本思想,建立规则、事实、求证三者之间归结反演逻辑[10]。任一谓词公式通过九步法可以化成一个子句集,如图2所示,依次变换即可得到子句集。

图2 子句集划分步骤Fig.2 Clause set transformation

子句集的划分是对知识的拆解,通过鲁宾逊归结反演方法[11],可以从脱贫攻坚小数据集中抽取知识实现针对特定问题的求证。显然通过长期观察并建立确定性扶贫小数据集,该方法能够正确表达小数据确定性推理过程,提供决策辅助脱贫攻坚和乡村振兴。

4 脱贫攻坚小数据的朴素贝叶斯分类

基于小数据开展朴素贝叶斯算法可以带来更高的分类精准性。由于地区之间的语言、民族、气候、产业结构、习俗等存在差异,导致很难找到一个合适的训练数据集来支撑这种因地区差异而存在的朴素贝叶斯分类算法。本文以小坝村为例,以事实数据作为依据,科学设定统计表格,从而求出朴素贝叶斯公式的先验概率、似然概率和边际概率。通过把主动访谈与事件触发相结合的时间系列记录数据代入朴素贝叶斯公式,求解后验,更新先验,不断获得特定贫困户的趋势曲线观察。

在脱贫攻坚工作中,往往以户为单位判断是否为贫困户。在该分类过程中,根据以往的经验,工作人员通常会将收入、民族、健康状况、受教育程度等因素作为“经验”训练贫困户判断的模型要素。这一过程往往需要3个流程:

第一阶段:准备阶段。对收入、户籍人数、健康状况等特征属性进行划分。

第二阶段:训练阶段。该阶段将计算小坝村调查数据在每个类别的训练样本中的出现频率,并划分特征属性得到每个类别的条件概率。

第三阶段:应用阶段。使用分类器对新数据分类,输入分类器和新数据,输出新数据的分类结果。

4.1 朴素贝叶斯训练数据准备

本文用于朴素贝叶斯分类实验的小数据来自小坝村截至2019年的219户贫困户监测数据,如表5所示。该表列出了用于训练的特征属性样本,其中一部分具有数值属性,比如收入;一部分为非数值属性,比如文化程度。实验的目的是对这些具有混合属性的数据设计基于小数据理论的脱贫攻坚朴素贝叶斯分类器。为了保护贫困户隐私,表中姓名进行了加*替换。

表5 朴素贝叶斯分类器训练样本表

表5训练样本列出了2014—2019年每户的人均年收入数据,最后一列“脱贫评估”是人工统计后给出的综合决策。表格的第一和第二列对最后一列的脱贫评估不会造成影响,其余列均是综合评估的特征指标。“人数”列表示该户共有多少人口,人数较多的户口,其人均收入水平也会较低。设计该表的初衷在于发现脱贫与家庭人口数、民族、文化程度、健康及技能之间的关系。表中“#N/A”表示缺失,可计算一个平均值进行替换,否则会影响识别正确率。对于该表,首先需要进行数据预处理,然后使用开源数据分析工具实现朴素贝叶斯算法的性能分析。

WEKA是一款开源的机器学习及数据挖掘软件[13],它把需要训练和推理的数据分成属性和实例2个部分。一般情况下,对应了表格的列对应属性,行则对应实例,通过把表格转换为ARFF文件从而可以依靠该工具实现朴素贝叶斯分析。由于WEKA不支持中文,首先需要把表5转换为汉语拼音表格,然后去除序号、户名2列对最终决策毫无影响的属性。通常这种数据预处理过程会占用大量的工作时间,本文通过Python调用excel库,把预处理的代码发布于CSDN[14],可通过调用该代码重现。

4.2 基于WEKA工具交叉验证数据集

为了防止训练过程中的过拟合问题,通常将数据分为训练和测试集。由于测试集不参与训练,用于模型评估,这样就会在小数据集上浪费了这部分数据,无法使模型达到最优。采用K-Fold 交叉验证能够很好地解决这个问题,进而利用全部数据构建模型。交叉验证又称循环验证。它将原始数据分成K组,然后对每个子集数据做一次验证,剩下的K-1组子集数据用作训练,即可得到K个模型。最后对这K个模型验证评估结果。交叉验证能够尽可能接近模型在测试集上的表现优化模型。

针对表5的219个实例,应用WEKA选择朴素贝叶斯分类器,设定10折交叉验证可以得到如下数据:

=== Stratified cross-validation ====== Summary ===Correctly Classified Instances17278.5388%Incorrectly Classified Instances4721.4612%Kappa statistic0.133Mean absolute error0.1332Root mean squared error0.2875Relative absolute error100.6491%Root relative squared error113.8194%Total Number of Instances219

表5源自国办系统的数据导出,从分类正确率来看,实例样本还有很大的提升空间。Kappa指标与分类器正确率成正相关关系,值域为[-1,1]且越接近1越好,训练数据集值为0.133,说明统计数据对最终脱贫评估分类具有良性的支撑作用;平均绝对误差MAE为0.133 2,均方根误差RMSE为0.287 5,也获得了较好的数值范围;然而,相对绝对误差、根相对平方误差的值则过于欠佳。这也恰恰说明了脱贫攻坚和乡村振兴需要科学的小数据分析方法促进数据精准率的提升。

基于WEKA朴素贝叶斯分类器的10折交叉验证分析该数据集,还可得到如下的混淆矩阵:

可以看出主对角线上的样本总计172例,错误的肯定得到的误报数为24例,错误的否定得到的误报数为23例。此外,基于WEKA的数据集分析还可得到准确率(Precision)、召回率(Recall)、F值(F-Measure)、ROC曲线、PR曲线等评价指标参数,能够对模型效果进行科学评价,为后续算法改进提供思路。

4.3 运用训练集推理贫困户实现自动分类

运用WEKA虽然可以方便地获取数据集分析的效果,但在特征参数选取与分类上往往存在矛盾。虽然通过数据预处理,可以一定程度上减少一些无用特征,比如序号、姓名等,但是一些特征与最终分类的权重往往不能均分,比如2014—2019年的收入。显然2019年的收入权重更大,但也不是说2014—2018年的收入没有多少用。若收入属于平稳增长,则说明其返贫的概率要小得多。此外,“民族”特征属性对最终分类显然没有因果关系,但却又有一定的相关性,所以应当弱化其对最终分类的权重。基于此本文运用Python语言,以朴素贝叶斯分类公式(3)作为指导设计分类程序。

为了验证算法的有效性,我校5名驻村工作人员随机调查各抽取1户数据形成测试集,如表6所示。

表6 朴素贝叶斯分类器测试样本表Tab.6 Reasoning sample table of Naive Bayes Classifier

由于表6中序号、户名两列特征对最终推理结果分类不会产生任何贡献,导致程序的运行分类结果为:

测试 1 是 监测户

测试 2 是 监测户

测试 3 是 监测户

测试 4 是 监测户

测试 5 是 监测户

正确率: 0.4

显然可以看出这是一个错误的分类。这是由于第一列和第二列特征的条件概率计算值为0造成的分类错误。为了消除这种分类错误,可以改进公式(3)如下:

(4)

公式(4)中aj的作用在于屏蔽、开启、强化或弱化特征系列对分类结果造成的影响。若aj=0,则该特征对应概率为1,即表示屏蔽了该列特征对推理结果的影响;若aj=1,则该特征对应概率不变,既没有被强化,也没有被弱化,以本征的方式开启了朴素贝叶斯的推理运算;若01则表示弱化了特征对最终分类的影响。该朴素贝叶斯分类算法Python源代码及脱敏数据训练集可从本项目成员的CSDN博客获取[15]。

为了消除序号、户名2列特征对最终推理的影响,代入aj数列,即a=[0,0,1,1,1,1,1,1,1,1,1,1,1],然后再运行程序。所得结果与表6的人工统计结果存在1项偏差。主要是“测试2”的人工统计结果为“监测户”,而推理识别的结果为“脱贫户”,使得正确率为0.8。代入aj数列,屏蔽序号、户名可以得到程序运行的最终分类结果为:

测试1是未脱贫户

测试 2是脱贫户

测试 3是脱贫户

测试 4是监测户

测试 5是未脱贫户

正确率: 0.8

事实上监测户本来就被归纳为脱贫户,由于两者存在细微的数据差别,很难获得正确的分类。驻村工作人员往往通过到户走访,根据自身的感觉最终划分分类。由于测试集数据过少,识别正确率的实际值,可以通过增加测试数量获得。最科学的方法就是从训练集中随机抽取1/3的数据进行10次交叉验证[16]。也就是每次随机抽取训练集中的71条数据作为测试数据代入推理。同时位于最后一列,即2019年收入的权重相对较高,为了强化其作用,设定系数为0.8,即把aj数列设定为a=[0,0,1,1,1,1,1,1,1,1,1,1,0.8],得到了交叉验证准确率统计表(表7)。

表7 交叉验证准确率Tab.7 Cross validation accuracy

其算术平均准确率为0.893,这是一个相对较好的统计数据,表明该方法在脱贫攻坚小数据分析中性能优越。

当然这种方法适用于在特定区域、特定时间段的数据分析。因为地区收入水平、民风、民情、自然资源等存在差异,且认定标准会随时间变化,驻村工作人员统计标准不一,所以训练集并不能总是一成不变,应当使用最新数据更新训练集确保正确识别率。

5 结 语

在国家的贫困治理工作中,实现精准帮扶始终是核心与关键。随着大数据的火热,小数据也以其独特的魅力让更多的学者注意到它。小数据侧重个体、决定、精准、因果的特性为精准帮扶工作开创了新路径。它针对个体,能够从根源上提高扶贫的“精准”度,在当前扶贫攻坚的关键时期,具有帮助扶贫工作者作出决策、预防“大水漫灌”的风险、测试帮扶成效、降低返贫风险的科学价值。

本课题组常年驻村扶贫,深刻体会到通过采集、整理获取小数据精准样本的重要性。本文致力于构建脱贫攻坚小数据理论体系,应用机器学习、数据理论中的推理方法和相关性分析方法,对扶贫工作中的数据进行分析验证,提出基于朴素贝叶斯的小数据分析方法。通过反复实践,证明该方法计算简便,能够得出扶贫成效的准确率,具有推广使用的价值。

猜你喜欢

贝叶斯分类器朴素
少样本条件下基于K-最近邻及多分类器协同的样本扩增分类
学贯中西(6):阐述ML分类器的工作流程
隔离朴素
基于朴素Bayes组合的简易集成分类器①
朴素的安慰(组诗)
他是那样“笨拙”和朴素——30多年后,我们为什么还需要读路遥?
最神奇最朴素的两本书
租赁房地产的多主体贝叶斯博弈研究
租赁房地产的多主体贝叶斯博弈研究
贝叶斯网络概述