基于大数据的用户画像和评级研究

来源: 未知 作者:paper 发布时间: 2020-03-06 14:02
论文地区:中国 论文语言:中文 论文类型:工程管理
摘要 随着互联网的不断演进和智能设备的不断普及,人们可以通过各 种各样的方式接入互联网。互联网在给生活带来便利的同时也积累了 大量的数据,如何对这些数据进行挖掘分析从
摘要
随着互联网的不断演进和智能设备的不断普及,人们可以通过各 种各样的方式接入互联网。互联网在给生活带来便利的同时也积累了 大量的数据,如何对这些数据进行挖掘分析从而发挥数据的价值是一 个研究的热点问题。另一方面,在目前的形势下,用户扮演着非常重 要的角色。有了用户企业才会有收益,才会有长远发展。如何在大数 据的基础上分析用户的特点,从而针对不同的用户群体提供定制化服 务也是一个非常有意义的研宄问题。本文的研宄内容如下:
首先,研究了金融机构用户画像的问题。针对一个具体的金融机 构:A市市中心银行网点,基于用户的储蓄数据使用Elkank-means 算法将用户划分为活跃型用户群、潜力型用户群、稳定型用户群和流 失型用户群四类群体。针对不同的用户群体,使用用户属性数据对用 户群进行画像,分析用户群特点。进一步,基于用户的储蓄数据,使 用SVR回归预测算法对用户的储蓄潜力进行预测。通过在个人层面 和整体层面进行评价,预测准确率较高。
其次,提出了一个用户评级机制。针对具体的运营商机构:B市 运营商分公司,提取包括产生流量、使用时长、不同类型业务流量占 比三个维度的用户数据,进而得到用户贡献数据和用户行为数据。使 用Elkan k-means算法对用户贡献数据进行划分,根据用户对运营商 的贡献程度确定聚类类簇定义,得到用户级别信息。基于用户行为数 据和用户级别信息使用随机森林、CART树和逻辑回归进行预测分析, 随机森林的分类效果最好,模型准确率为81%左右。
最后,开发了一套大数据可视化分析平台。该平台采用MVC系 统架构,主要由后台和前端两个部分组成。后台部分通过Django框 架搭建,可以实现数据存取、数据分析、数据传输的功能;前端部分 通过HTML5、CSS3、JavaScript组合搭建,图表通过ECharts呈现, 可以实现对数据的动态展示以及与用户进行实时交互等功能。
第一章绪论   1
U研究背景 1
1.2研究现状   2
1.3研究内容 5
1A论文结构 6
第二章大数据分析概述 7
2.1数据预处理 7
2丄1数据清洗   7
2.1.2数据集成 8
2.1.3数据规约 9
2.1,4数据变换 9
2,2数据挖掘分析   10
2.2.1无监督学习 10
2.2.2有监督学习   11
2.3模型效果评估 11
2.4本章小结 12
第三章用户画像分析 13
3.1数据预处理   13
3.2用户群分析 14
3.2.1Elkank,means 算法 14
3.2.2用户群划分 16
3.2.3用户群画像 17
3.3用户分析 20
3.3.1支持向量回归 20
3.3.2用户储蓄潜力预测 22
3.4本章小结 23
第四章用户评级研究 25
4.1数据预处理 25
4.2用户级别分析 27
4.3分类预测模型 29
4.3.1随机森林 29
4.3.2CART 树 31
4.3.3逻辑回归 32
4.4用户级别预测   33
4.5本章小结   36
第五章可视化平台的设计和实现 37
5.1关键技术 37
5.2编程语言   38
5.3系统框架 38
5.4需求分析 39
5.4.1后台需求分析 40
5.4.2前端需求分析 41
5.5具体实现 41
5.5.1后台具体实现 41
5.5.2前端具体实现 42
5.6本章小结 45
第六章总结与展望 47
6.1论文总结 47

第一章绪论
1.1研究背景
随着社会的不断进步,人们越来越多地通过互联网来享受各种便捷服务。人 们可以通过不同的网站浏览自己关注的信息,通过各种电商平台购买自己需要的 物品,通过各种社交平台与朋友进行沟通交流等等。在这种大环境下,用户扮演 着非常重要的角色。对于企业来讲,用户就是上帝,有了用户,企业的效益才能 增加,有了用户,企业才能取得长远发展[1]。所以,基于用户的行为数据挖掘用 户群体特征,对用户进行全方位精准画像,从而更准确、更有针对性的为用户提 供定制服务就变得尤为重要,是一个研究的热点问题。
随着各项技术的不断成熟,数据共享会逐渐成为一个趋势,可以使更多的人 更充分地利用己有数据资源,减少资料收集、数据采集等重复劳动,而把精力重 点放在数据挖掘分析上[2]。数据共享的一个难点就在于对用户进行分级,根据不 同的级别对用户开放不同的权限;互联网金融方面,风险控制对互联网金融的健 康持续发展非常重要。根据用户的历史纪录对用户进行信用评级,基于评级结果 对用户制定相应的措施,从而在最大程度上降低风险是十分必要的W。所以,在 大数据的基础上对用户进行评级研究也是一个很有研究意义的问题。
目前,互联网己经涉及到生活的方方面面,随之而来的是数据量积累越来越 大。如何充分利用这些数据,分析数据中存在的规律,从而在最大程度上发挥数 据的价值是一个研宄的热点问题。下面以两个典型机构为例进行分析:运营商和 金融机构。虽然是两个机构的数据,但是数据的组成结构是类似的,主要包括以 下两个方面:基于CRM (Customer Relationship Management,用户关系管理)系 统的人口自然属性及业务数据和用户行为数据。
1、人口自然属性及业务数据主要包含了姓名、性别、身份证号、家庭住址、 工作单位等用户身份信息和用户所办理的业务信息[4]。目前大部分业务都需要用 户进行实名制认证,所以这部分数据会变得更加准确,可用性更强。具体来讲, 对于运营商这部分数据指的是在计费系统中记录的用户话费和通话记录等信息, 这些数据可以清晰地反映出用户的消费水平和通话喜好,从而分析出用户特征和 用户关系网对于金融机构,这部分数据指的是用户的理财情况,银行卡、信 用卡的持卡情况等,这些数据可以从侧面反映出用户的收入情况以及用户的理财 喜好等彳g息。
2、用户行为数据指的是用户在使用业务的过程中产生的动态数据。具体来 讲,对于运营商,随着互联网逐渐深入到生活中,人们可以随时随地地通过电脑、 手机、平板等各种终端接入网络,随时随地地享受互联网带来的便利。而运营商 作为基础网络服务提供商,所有的互联网数据均要通过运营商网络进行传输,所 以运营商在获取用户上网行为数据方面具有得天独厚的的优势,通过用户的上网 行为数据可以准确的分析出用户的生活习惯;对于金融机构,用户行为数据主要 包括用户的存取款记录、消费记录和资产流向等信息,可以通过这些数据分析用 户的消费喜好,构建用户转账关系网,挖掘用户的常驻位置,推断用户收入情况 等增加对用户的了解程度,从而为用户提供一些量身定制的服务,在提高用户满 意程度的基础上增加金融机构收益。
1.2研究现状
用户画像在某种意义上也可以被理解为人群画像,是指在用户人口统计学数 据、用户间社交关系、用户行为偏好习惯等信息的基础上对用户进行标签刻画的 方法用户画像是一个相对比较广泛的定义,只要是在某些方面对用户进行信 息刻画都属于用户画像的范畴。从用户画像的定义可以看出其核心工作就是在为 用户定制标签,这些标签主要可以通过两种方式获得:一种是通过对用户的行为 数据直接进行统计分析的方式;另一种是针对一些具体的指标,使用一系列机器 学习方法挖掘分析的方式。第一种方式相对比较容易理解,例如用户在浏览网站 或者使用APP的过程中会主动填写一些信息,这些信息都可以成为画像的基础 数据,而且目前很多平台都要求用户上传身份证信息、学生证信息、银行卡信息 等真实性信息,这样用户画像的准确性就会得到很大提升。第二种方式相对比较 复杂一些,例如对用户的购买行为进行预测,需要分析用户的购买历史,使用关 联规则推断用户的购买习惯,从而对用户的下一次购买需求进行预测。
针对不同的画像主体,通过统计分析主体的各项指标,从多方面进行信息刻 画,可以很好地将这些画像主体进行关联、匹配,从而在个体画像的基础之上衍 生出一系列基于用户需求进行特色服务的系统架构,例如目前十分火热的内容推 荐系统、智能物联系统、精准营销系统等等[7]。另外,用户画像可以和上面提到 的一系列系统做到相互弥补。对于内容推荐系统,可以在为用户推荐内容之后收 集用户基于推荐内容的反馈信息,从而更加完善用户的画像信息,在最大程度上 提升用户的满意度[8,9]。用户画像不仅仅是对用户的潜在研宄,更是对用户的持续 性研究、实时性研究[1G]。随着业务需求的不断增长以及用户数据的不断获取分析, 刻画用户的信息维度将会得到不断地修正和完善,能够为用户提供的个性化服的
数量和质量都在不断提升。
目前,用户画像方面已经有了一定的研究成果:CaoL通过对用户的行为模 式进行分析发现了用户的异常行为,可以提前做出预防措施[11]; Chen HH在电 子商务网站上生成了用户观看和购买行为的分布式表示,通过利用不同上下文中 项目行为的分布式表示之间的余弦距离,可以更加精确地预测用户的下一次点击 或购买行为[12]; Fan YC等人基于移动设备的Wi-Fi日志来挖掘用户偏好,提出 了一个数据清理框架用来对Wi-Fi日志信息进行清洗、纠正和重定义,提出了一 个数据分析框架用来对处理之后的Wi-Fi数据进行挖掘分析[13]; DevineniP等人 从用户的社交数据出发,在不同的时间间隔上分析用户的社交行为,并提出了一 个展示用户个性化行为的可视化框架[14]; Ma J等人基于在线社交网络数据对用 户进行画像,提出了一个综合使用用户个人信息和在线社交网络数据的联合解决 方案[15]; KhodadadiA等人提出了相互依赖的多维时间点过程,除了同伴影响和 内容因素之外,还可以捕捉奖励对用户参与的影响,提出了一种基于变分-期望 最大化的推理算法,可以更加有效地学习模型参数进而更加准确地预测用户行为 MI; Gong L等人基于不同类型的用户生成数据之间的依赖关系,开发了概率生 成模型,以便为用户整合自定义内容建模和社交网络结构建模的两个伴随学习任 务,从而通过共享全局先验分布来聚集任务以捕获用户之间的同质性[17]; GuimaraesRG等人基于社交网络数据,使用深度学习的思想提取用户特征,从 而对用户的年龄组进行分类[1S]; Long C等人发现对服务满意的用户数量与服务 所获取的收益之间存在权衡关系,提出了一种最大化利润并保证满意用户数量的 算法ComarelaG等人使用网络浏览历史作为选民中候选人偏好的新指标,克 服了缺乏合适的实况数据以及用户群在时间和空间上的异质性问题,实现了较高 准确度的选举结果预测[2()]等等。
用户评级是通过机器学习方法将用户进行分类,产生不同的级别,从而根据 不同级别的用户采取更有针对性的措施,因此其核心部分可以理解为经典的多分 类问题。用户评级可以应用在很多领域,例如用户需求评级、用户权限评级、以 及用户信用评级等等。
用户需求评级方面,在目前的大环境下,随着信息量与日俱增,数据积累量 也越来越大,人们已经进入了大数据时代,数据的价值逐渐呈现出来。但是在这 个过程中也产生了很多问题,例如数据的有效管理、实现数据价值最大化等等, 这些问题始终没有找到一个完美的解决方案。数据在不同时间段,对于不同业务 需求,其所能展现出的价值也不尽相同。将用户的需求按照一个特定的标准分为 不同的级别,基于不同级别的用户需求,实现对数据按需分配可以尽最大可能发 挥数据的价值。
用户权限评级方面,目前由于不同企业、不同部门之间相互独立,数据存储 系统和数据存储结构都存在很大的不同,数据之间很难进行共享分析,从而产生 了信息孤岛的现象,数据的价值只展现出很小的一部分。同时,面对互联网环境 下庞大的用户群体,在进行数据共享分析的过程中,数据的安全性和隐私性是一 个不可回避的问题。为了对上述问题进行解决,数据治理已经成为目前较为热门 的一个研宄方向。数据治理的最终目的是要建立一个规范化、标准化平台,使得 针对不同的数据源,能够对数据进行生命周期管理,进而帮助不同需求的用户完 成对数据的相应操作(如数据筛选、数据迁移以及数据审计等),从而实现数据 价值的最大化121,22]。该统一化标准平台的一个核心部分是需要针对不同用户,根 据不同级别的用户开放不同的操作权限,从而保证系统的正常运转。
用户信用评级方面,主要可以分为以下两个评级主体,个人用户和企业用户。 其中针对个人用户的信用评级随着银行卡消费的占比逐渐提升,个人用户的消费 行为更容易被金融机构捕捉到[23],再结合金融机构中个人用户的社会属性信息, 例如性别、年龄、工作、家庭住址等等,可以分析出用户的消费习惯和收支情况 等信息,从而完成对个人用户的信用评级[24,25];针对企业用户的信用评级则需要 通过综合衡量企业的盈利情况、企业的发展情况、企业的管理人员变动情况等信 息构建其还贷能力,通过综合衡量企业的历史信用记录、企业的高层领导素质来 确定其还贷意愿,最后对这些指标进行建模,从而完成对企业用户的信用评级。
用户评级方面目前也有了一定的研究基础:Gao J等人通过在原始的基于组 的排序方法中引入迭代信誉分配过程提出基于迭代组的排序方法,基于用户评级 组的加权大小对用户的信誉进行评级,反复更新直到评级结果变得稳定Luo W等人提出了一种新的信用评级模型,综合使用逻辑回归和随机森林方法,在保 证用户隐私的前提下从多角度进行信用评级[27]; Mao Y等人基于用户之间的交 互内容进行信用评级,提出了一种“信用网”的新型评级模型ChenRC等人 提出了一种在不平衡数据集中训练深度学习模型的方法:使用集合模型来学习每 个课程目标(用户评分),并使用一个基础深度学习分类器模型学习用户评论, 最终通过其拟合模型学习每个评级[29h Wang Y等人同时考虑用户偏好和用户购 买力对评级行为的影响,根据用户的评级和购买力设计了合理的前N推荐策略 [3G]; CenaF等人提供了评级量表对用户评级影响的经验信息,证明了在一些时 候线性函数具有最佳的评级效果YinH等人提出了 LA-LDA位置感知概率生 成模型,利用用户的位置信息进行评级,进而对用户的配置文件进行建模并给出 建议信息[32]; JiangM等人提出了一种贝叶斯模型,将传统的协同过滤技术与主 体模型相结合,通过用户的评论内容对用户实现评级研究[33]; HarperFM等人在 在线电影推荐系统中构建了一个用户贡献评级模型,并通过用户行为数据对模型 参数进行校准[34]; Pham HX等人实现了一个互动推荐系统,该系统可以根据用 户的反馈信息对用户的评级操作进行完善,再基于调整的评级结果对用户进行推 荐[35]等等。
1.3研究内容
本论文在大数据的基础上,通过恰当的数据挖掘方式从画像和评级两个方面 对用户进行了分析。用户画像方面,通过对金融数据进行分析发现用户可以被划 分为不同的群体,每个群体都有自己的特征,了解群体特征可以为金融机构提供 更多的指导意见。用户评级方面,通过对运营商数据进行分析发现可以对用户进 行评级操作,根据不同级别的用户制定更有针对性的服务或措施,从而在最大程 度上提升收益。本文的主要研究内容如下:
1、 用户群划分
基于金融机构用户的储蓄数据,使用聚类算法将用户划分四个类别,然后根 据每一类用户的储蓄情况确定每个类别的定义。
2、 用户群画像
针对以上划分出的四类用户群,使用用户属性数据对用户群进行画像,分析 用户群特点。
3、 用户储蓄潜力预测
基于金融机构用户的储蓄数据,使用回归算法对用户的储蓄值进行预测。分 析用户的储蓄潜力,便于金融机构合理安排资源。
4、 用户特征提取
基于运营商用户上网记录数据,从产生流量、使用时长、不同类型业务流量 占比三个维度提取特征,得到用户数据。
5、 用户级别分析
基于用户数据提取用户贡献数据,使用聚类算法对用户贡献数据进行划分。 基于用户对运营商的贡献程度确定聚类类簇定义,得到用户级别信息。
6、 建模分析
基于用户数据提取用户行为数据,整合用户级别信息,选取随机森林、CART 树、逻辑回归三种模型进行预测分析,通过准确率、召回率、F1值三个指标对模 型的分类表现进行评价。
7、 可视化系统后台搭建
基于可视化系统的后台需求:数据存取、数据分析、数据传输,使用Django 框架完成可视化系统的后台搭建。
8、可视化系统前端搭建
使用HTML5、CSS3、JavaScript组合搭建可视化系统的前端界面,使之能够
完成对数据的动态展示以及与用户进行实时交互。
1.4论文结构
本文首先基于金融机构的多维用户数据,将用户划分为不同的群体,然后针 对不同的用户群体进行画像分析;进一步,基于运营商的用户上网数据,根据特 征工程理论提取最有代表性的用户特征,研究多分类算法,完成对用户的评级研 究;最后,开发一套对用户友好的大数据可视化分析平台。本文共有六章内容, 结构安排如下:
第一章是绪论,首先介绍了用户画像和用户评级方面的研究背景和研究现状, 其次介绍了本课题的研宄内容和论文的结构安排。
第二章介绍了大数据分析相关的内容。该部分从大数据分析的整个流程入手, 首先介绍了数据预处理的相关内容;然后介绍了大数据分析的核心部分:数据挖 掘;最后对分析效果的评估方式进行了介绍。
第三章介绍了用户画像相关的内容。首先使用聚类算法按照不同储蓄潜力将 用户群进行划分;接下来针对不同的用户群体选取有代表性的维度特征进行画像; 最后使用回归算法对用户的储蓄潜力进行预测。
第四章介绍了用户评级相关的内容。首先,基于运营商的原始用户上网数据 处理得到以用户为维度的包含使用流量、上网时长、不同类型业务流量比重的用 户数据;然后使用聚类算法用户进行划分,根据用户贡献规则得到用户的级别信 息;最后使用三种分类模型对用户进行预测分析,完成用户的评级研究。
第五章介绍了大数据可视化分析平台相关的内容。首先,针对开发该平台需 要使用的关键技术、编程语言和系统框架进行了介绍;其次,对该平台的功能进 行了需求分析,分为前台功能需求分析和后台功能需求分析;最后是该平台的具 体实现部分。
第六章是全文的总结和展望。该部分对本课题的研究工作进行了总结,并为 下一步的研宄点明了方向。
第二章大数据分析概述
随着社会的不断进步,人们已经进入了大数据时代。在大数据时代中,随时 随地都在产生着大量的数据,例如通过微信、QQ等社交软件与朋友进行交流会 产生社交大数据,通过京东、淘宝等电商平台购买物品会产生购物大数据,通过 摩拜、滴滴等交通方式出行会产生出行大数据等等。这些数据内部存在着很高的 分析价值,所以大数据分析成为了当下的热点研究问题。本章从大数据分析的整 体流程入手,将大数据分析过程中涉及到的重要部分进行了详细阐述。
2.1数据预处理
对于大数据分析,首先要解决的问题是数据预处理,因为现实中的数据与想 象中的数据完全不一样,数据质量非常差。标准的数据格式是一个二维表格,其 中纵向表示的是数据的条目,横向表示的是每一条数据的属性信息。但是现实接 触的数据普遍存在缺失值、异常值的情况,数据格式也是多种多样。所以在数据 分析之前需要进行数据预处理,使数据成为标准数据格式,以便对数据内部的价 值进行挖掘。数据预处理包含很多内容,其中比较重要的是以下几个部分:数据 清洗、数据集成、数据规约和数据变换。
2.1.1数据清洗
现实中的数据总是不完美的,因为在数据的采集、存储过程中总会存在各种 各样的问题,所以需要对数据进行清理,主要通过以下两种方式来进行:缺失值 处理和异常值处理。
对于原始数据,存在缺失值是非常普遍的现象,因为获得的原始数据大部分 都是通过人工或者机器采集。人工釆集的不确定因素很大,采集人员可能认为一 些数据不重要便没有釆集,而这部分数据恰恰是有价值的;机器采集虽然不确定 因素相比于人工采集较小,但也会存在网络故障、机器自身运转不正常等问题, 难免会存在漏采的情况。对于存在缺失值的数据集,如果不完善的数据条目在整 体数据中占比较小,可以将这些不完善的数据滤除;反之不能进行滤除操作,因 为这样会改变数据整体的分布规律,进而影响最终的数据分析结果。这种情况下, 需要对数据集进行缺失值填充。缺失值填充有以下三种方式:首先是人工填充, 该方式对于较小的数据集比较适用,可以根据实际情况进行填充,但是数据量较 大时会费时费力,效果还很一般;其次是使用定值填充,这种方式虽然效率很高, 但是填充效果不是很理想;最后是结合数据的分布规律,使用均值、中位数或者 算法预测值进行填充,该方式考虑了数据本身的分布规律,可想而知,填充效果 较前两种都好,是应用较为广泛的缺失值填充方式。
在数据分析过程中,异常值不仅会干扰分析结果,还会增加计算量,对资源 造成浪费。异常值指的是由于人为原因、系统错误或者数据变异导致的某些与数 据分布特征不一致的值。对于异常值,可以采取以下方式进行处理:首先是分箱 操作,通过将数据放入不同的箱子中,然后使用箱子的中位数或者边界值对数据 进行平滑处理,消除异常值,具体的平滑粒度与箱子的范围设定有关;其次是使 用函数对数据分布特征进行拟合,然后找出异常值并通过分布函数消除异常值, 该方法和机器学习中的回归算法有相似的思想;最后是使用聚类算法将数据集划 分为不同的簇,然后找出离群点(也就是异常值)并将其归入最近的簇,从而消 除异常值。
以上是数据清理过程中两种比较常见的问题和对应的解决方法,在实际的数 据处理操作中要根据具体的场景采用合适的方法,从而为接下来的数据分析奠定 良好的基础。
2.1.2数据集成
在大数据的分析过程中经常需要将两个甚至多个数据集联合在一起进行分 析,因为单个数据集的价值是有限的,分析多个数据集可以得到更多、更有价值 的信息。这时便需要对不同来源的数据集进行集成操作。
数据集成首先要解决的问题是理清数据结构,确定对数据集进行联合的属性: 对于不同来源的数据,数据的存储结构存在差异,需要将其转化为标准数据格式。 在标准数据格式中,存在一个主键属性key,通过其可以唯一地对数据信息进行 检索。理清数据结构后,需要确定数据集要按照哪些字段进行集成,这些字段在 原始数据集中代表的含义以及是否允许空值、零值、mill值等等;其次要解决的 是数据集成带来的冗余问题。对两个或多个数据集进行集成,难免会出现集成冗 佘的情况。例如,当从数据集A中选择身份证号字段,从数据集B中选择出生 年日期字段进行集成,便会出现集成冗余的情况,因为出生日期字段可以由身份 证号字段得出。集成冗余通常采用相关性分析原则判断。当属性之间的相关性较 大,有很大概率会出现冗余的情况,反之则不会。最后要解决的是集成带来的数 据冲突问题。对于不同来源的数据集,数据采集标准必然存在差异,导致对于同 一个数据实体不同数据集的描述存在差异性。例如,对于本科阶段的成绩评定, 有的高校以成绩和学分的加权均值作为准则,有的高校是以GPA作为准则,这 样进行数据集成就会产生冲突。对于数据冲突并没有明确的规则来处理,需要根
据实际情况对数据集进行调整,从而得到一个相对比较完善的数据集。
2.1.3数据规约
目前,随着数据采集设备和数据存储设备的不断升级,数据分析的体量越来 越大。这就带来一个问题:数据量越大,分析成本越高。如何在保证分析结果准 确性的前提下对数据进行处理,从而降低分析的时间和空间复杂度是非常有必要 的,也是数据规约致力于解决的问题。数据规约主要从以下两个方面进行:数据 维度规约和数据数量规约。
数据维度规约指的是对数据集进行橫向约束,减少分析的数据属性数目。目 前,进行分析的数据大部分都是高维数据,虽然数据属性十分丰富,但是分析较 为困难,而且一些属性对于最终的分析结果没有意义。例如本论文中应用到的运 营商数据集,其中包含了各种各样的属性信息,但是分析目的是用户上网行为, 用户接入的基站信息是无用属性,需要滤除掉。数据维度规约可以通过多种方式 进行,例如属性子集选择、主成分分析、小波变换等等。其中属性子集选择是在 尽可能接近原始数据分布的前提下寻找最小的属性子集,通常通过贪心算法来实 现,而主成分分析的目标是找出k个正交向量,从而将原始数据集映射到一个低 维空间。每种方法都有优缺点,需要根据具体场景选择合适的方法进行规约。
数据数量规约指的是对数据集进行纵向约束,减少数据集的条目数量。在大 数据场景下,原始数据可能是千万级、亿级的数据量,但是分析过程并不需要如 此大的数据量,需要从数据条目的角度进行规约。数据数量规约可以通过多种方 式进行,例如分层抽样、簇抽样等等。分层抽样指的是依据一个或多个数据属性 字段将数据集划分成几个互斥的样本集,然后根据具体比例在互斥样本集中抽样, 这样一方面不会改变数据原始的分布特征,另一方面数据数量有较大程度的降低。 簇抽样与分层抽样的思想类似,但是在划分样本集时使用了聚类算法,将数据集 划分成不同的簇,然后在簇内进行抽样,进而完成数据数量规约。
2.1.4数据变换
为了使大数据分析结果更加准确,通常需要在数据预处理阶段对数据进行变 换。数据变换是一个相对比较广泛的定义,其中涵盖了很多内容,下面将分别进 行介绍。
首先是数据规范化。在数据集中,数据属性的取值范围不尽相同,但是一些 算法对数据属性比较敏感,要求数据属性是在统一的范围之内。这种情况下,对 数据进行规范化处理,将数据的属性值范围按照一定的比例进行缩放就变得很有 意义。常用的规范化方法包括min-max规范化、z-score规范化以及小数定标规 范化等等,其中min-max规范化通常是将属性值映射到[0,1]区间中,z-score规范 化使得数据属性值服从标准正态分布,即均值为0,标准差为1。其次是数据离 散化。针对数据集中的属性信息,通过离散化处理会对最终的分析结果产生意想 不到的效果。根据不同的离散方向可以将数据离散化分为自顶而下和自底而上两 种方式,其中自顶而下将数据属性进行细分,自底而上将数据属性进行合并,都 是采用了递归的思想。最后是特征构造。在大数据领域流传着一句经典话语:“数 据和特征决定了最终分析结果的上限,使用不同的数据挖掘方式只是在不断逼近 这个上限。”所以特征对于大数据分析尤为重要。原始数据集中的属性很大概率 都不是理想的数据特征,需要根据分析目的在原始数据集的基础上对数据属性信 息进行加工,构造出对分析结果有贡献的特征,从而分析出更有价值的信息。
2.2数据挖掘分析
数据预处理是大数据分析过程中的第一个步骤,接下来要进行的是数据挖掘。 数据挖掘指的是运用各种机器学习方法分析数据内部规律,挖掘数据中存在的价 值,从而解决生活中面临的一些问题。机器学习方法按照训练数据是否需要标签 可以分为无监督学习和有监督学习,下面将对这两类方法进行介绍。
2.2.1无监督学习
无监督学习指的是在数据集没有标记信息的前提下,通过机器学习方法揭示 数据内部规律,为接下来的分析提供指导性信息。该类机器学习方法中最有代表 性的是聚类算法,应用非常广泛。聚类算法的目的很明确:找到一个最优的划分 方式,将数据集划分为不同的簇,使得簇间数据样本的“距离”较大,簇内数据 样本的“距离”较小。聚类算法主要有以下三种实现方式:原型聚类、密度聚类 和层次聚类.原型聚类假设聚类结果总是可以通过一组聚类原型进行刻画,在算 法的初始阶段先初始化一组聚类原型,然后通过迭代计算不断对这组原型进行优 化,使之与假设原型最为接近。原型聚类较为经典的是k-means算法。密度聚类 假设数据集总是可以通过数据样本之间的紧密程度进行划分。该类算法的核心思 想是确定数据样本之间的可连接性,如果数据样本之间是可连接的,则可以将其 划分到一个簇中。密度聚类较为经典的是DBSCAN算法。层次聚类假设数据集 总是可以基于不同的数据层次进行划分。该类算法以数据层次作为划分标准,可 以釆用从上到下或者从下到上两个方向进行,直到划分粒度或者迭代次数满足终 止条件,最终整个聚类过程会形成一个树形结构。层次聚类较为常用的是AGNES
算法。
2.2.2有监督学习
有监督学习相比于无监督学习多了“监督”的思想,即使用数据标记信息对 模型不断修正,所以有监督学习需要满足数据集存在标记信息的条件。有监督学 习通过以下方式进行:首先,将带有标记信息的数据集分为训练数据集和测试数 据集两部分(为了提升模型效果也可以增加验证数据集);然后根据要解决的实 际问题选择合适的监督学习方法并通过训练数据集进行训练,得到模型参数;最 后选取一些模型评价指标,综合分析模型在测试数据集上的表现效果。有监督学 习大部分是为了解决预测问题,根据预测问题的不同类型可以分为回归和分类两 种。对于回归问题,模型的预测输出值为连续型变量,例如预测明天的降雨量, 预测股票的下一次涨跌幅度等等。常用的回归算法包括线性回归、支持向量回归 以及神经网络等等。对于分类问题,模型的预测输出值是离散型变量。根据模型 输出值的取值范围又可以将分类问题进一步划分:如果模型的输出值只有两种可 能,则属于二分类问题,例如预测一个西瓜是好瓜还是坏瓜、预测学生成绩是否 及格等等;如果模型输出有多种可能的取值,则属于多分类问题,例如用户级别 预测、用户年龄段预测等等。常用的分类算法包括支持向量机、朴素贝叶斯、逻 辑回归等等。
2.3模型效果评估
在大数据分析过程中,得到机器学习模型后需要使用一些指标对模型进行评 价。只有在各个方面都有良好表现的模型才可以用来解决生活中的实际问题。下 面将对两种典型的模型效果评估方式进行介绍。
首先是k折交叉验证。与常用的数据集划分方式不同,该方法首先将数据集 划分为k个数量相等的数据子集,然后遍历每一个数据子集,使其作为测试数据 集,其余k_:l个数据子集作为训练数据集,对模型进行训练和测试。这样,可以 得到k个模型的测试效果,然后对其取均值作为最终模型的表现。通常将k的值 设置为10。该方法相比于传统的数据集划分方式减小了随机误差,提升了模型 效果。其次是混淆矩阵。对于二分类问题,预测结果只会出现两种情况:对或者 错。所以可以根据模型的具体表现得到分类结果表,如表2-1所示。
表2-1分类结果表


其中TP指的是真正例,即实际值是正例,预测值也是正例,其余的以此类 推。表2-1也被称为混淆矩阵,通过其可以计算出很多模型评估指标,应用较为 广泛的是准确率P、召回率和F1值,具体的计算方式为:


2.4本章小结
本章从大数据分析的整体流程入手,对大数据分析过程中较为重要的部分进 行了阐述。首先是数据预处理,通过数据清洗、数据集成、数据规约和数据变换 四个方面进行介绍。数据预处理在整个分析流程中发挥着非常重要的作用,数据 预处理的质量直接决定了最终数据分析能达到的程度;其次是数据挖掘,主要介 绍了数据挖掘过程中应用到的机器学习方法,通过无监督学习和有监督学习两方 面进行介绍。这两类方法的主要区别是数据集是否存在标记信息,需要结合具体 的场景选择合适的方法;最后是模型效果评估,主要介绍了一种减小随机性误差 的模型评估方式以及通过混淆矩阵计算模型效果评价指标的方法。
第三章用户画像分析
本章将对用户进行画像分析。首先,基于金融大数据提取用户的属性数据和 储蓄数据;然后使用聚类算法将用户群进行划分,针对每一类用户群使用用户属 性数据进行画像;最后,基于用户储蓄数据使用回归模型对用户储蓄潜力进行预 测分析。
3.1数据预处理
通过与A市某银行合作,得到了银行数据库中的用户原始数据,原始数据 主要包含两部分:个人用户基本信息表和对私用户资产信息表。其中,个人用户 基本信息表描述的是用户的一些基本信息,主要包括以下字段:用户号、性别、 出生日期、年龄、星座、婚姻状况、政治面貌、证件类型、证件号码、教育程度 等;对私用户资产信息表描述的是用户的存款情况,主要包括以下字段.•数据曰 期、开户机构、用户号、活期月日均余额、定期月日均余额、活期季日均余额、 定期季日均余额、活期年日均余额、定期年日均余额等,每条数据由用户的唯一 标识用户号进行区分,存储条目包含用户的活期存款和定期存款两项内容,时间 粒度分为月日均、季日均、年日均三种。
对于个人用户基本信息表,不需要进行过多处理,只要从中选出对用户画像 有价值的数据属性即可。针对对私用户资产信息表,选取月日均余额作为研宄对 象,将活期与定期求和作为用户的月日均余额。月日均余额的定义如下:该用户 每天的余额之和除以该月的天数,即该月内用户每天的余额均值。通过对数据日 期属性进行distinct操作可以发现该表包含从2017年4月到2018年3月共12个 月的数据,选择用户的用户号和月日均余额两个属性并存储到201704到201803 对应的月份表中,可以得到12张用户的月日均余额表。在月份表中对用户进行 order by操作发现存在一个用户号对应多条记录的情况,这是因为一个用户可能 持有多张银行卡,需要将所有的银行卡余额进行求和来表示用户的月日均余额。 12张月份表的数据条目大约都在百万级左右。鉴于每张表的数据量过大,同时 每张表的数据包含很多开户机构(对应于不同的银行网点),不同银行网点之间 的用户群体由于地理位置的差距存在较大差异,所以将每张表的用户数据通过开 户机构属性进一步划分。最终,选取A市中心网点作为开户机构进行筛选,然后 通过用户的唯一属性标识用户号将12张月份表的用户数据进行联合,最终得到 包含25万条数据,每条数据涵盖12个月储蓄值的用户月日均余额表,数据格式 如表3-1所示。
表3-1用户月日均余额表


其中,第1列为用户号,代表用户的唯一标识,其余分别对应于2017年4 月到2018年3年用户在当月的月日均余额,单位为元。
3.2用户群分析
用户群分析需要按照以下步骤完成:首先对用户群进行划分,然后针对每一 类用户分析其特点,得到该类用户群特征。
3,2.1 Elkan k-means 算法
对用户群进行划分,本论文应用的是Elkan k-means算法,是对k-means算 法的一种优化。k-means是一种传统的无监督聚类算法,思想比较简单:计算数 据样本之间的距离,距离较近的样本划分为同一个簇,距离较远的样本划分为不 同的簇。算法伪代码如下:


在k-means算法的执行过程中,每次迭代都要遍历所有样本来计算样本和每 个均值向量的距离,在样本数量过大或者样本属性特征过多时算法效率比较低。 Elkan k-means算法米用了如下的思想对k-means算法进行了优化:


1、 对于给定的样本点X和两个均值向量^/^^,两个均值向量之间的距离
若存在
D{x,ju)<^D{pXp,ju) (3-5)
则有
D(x,^)<D(x,ju) (3-6)
2、 对于给定的样本点X和两个均值向量,两个均值向量之间的距离


通过使用以上两个结论,Elkan k-means算法的迭代速度相比于k-means算
法有较大提高,算法效率有较大提升。 3.2.2用户群划分
对用户群进行划分之前,并不知道划分的类别数以及划分出的每个类别的定 义,因为聚类算法是一种无监督的机器学习方法,所以采取了一种基于聚类误差 来确定用户划分的方法。这里的聚类误差通过SSE (within-clustersuniofsquared errors,簇内误差平方和)进行评估,SSE的计算方式为:
SSE^Y, Z (3-9)
p^1 X^CP #
其中/:表示簇的个数,表示第p个簇,表示第P个簇的中心。
首先,选取用户月日均余额表中12个月月日均余额作为聚类算法的输入特 征;然后将算法的n_clusters参数设置为1到20之间的整数值,针对每个n」:lusters 参数进行一次聚类分析并计算SSE的值;最后绘制出聚类误差SSE与聚类簇数 k之间的折线关系图,如图3-1所示。

寻找最优划分方式被称之为“手肘法”,即在SSE与k的折线关 系图中找到“手肘点”,该点对应的k值即为最优的划分类别。从图3-1中不难 发现,k=5对应的点即为“手肘点”,所以选取5作为聚类的簇数。将^clusters 参数设置为5进行聚类之后发现有一个类别的用户数非常少,与其他四个类别不 属于同一个数量级,所以最终选取4作为最优的聚类簇数,通过Elkan k-means 算法划分出四类用户群。
3.2.3用户群画像
基于Elkan k-means算法划分出的四类用户群,绘制出用户的月日均余额和 月份之间的折线关系图,下面将分别进行分析。对于第一类用户群,用户的月日 均余额随着时间的变化会产生较大波动,会达到一个较高的峰值或者一个较低的 谷值,该类用户是活跃型用户,月日均余额随月份变化的折线图如图3-2所示; 对于第二类用户群,用户的月日均余额在前期有一个较低的值,随着时间的推移, 月日均余额逐渐增加,最后达到一个较高的峰值,该类用户是潜力型用户,月日 均余额随月份变化的折线图如图3-3所示;对于第三类用户群,用户的月日均余 额在前期会达到一个较高的峰值,随着时间的推移,月日均余额逐渐降低,最后 达到一个较低的稳定值,该类用户是流失型用户,月日均余额随月份变化的折线 图如图3-4所示;对于第四类用户群,用户的月日均余额不会随着时间的变化产 生波动,该类用户是稳定型用户,月日均余额随月份变化的折线图如图3-5所示。

针对以上划分出的四类用户群,选取两个用户特征进行画像:性别、年龄。

对于性别特征,在每个用户群中分别统计男、女性的人数,根据性别分布做 出的饼图如图3-6所示。
活跃型用户 潜力®用户
图3-6不同用户群的性别分布饼图
从图3-6可以看出,活跃型用户与其他三类呈现的结果相反,男性占比少于 女性,在为活跃型用户提供定制服务时可以对女性用户有所偏向;潜力型用户和 稳定型用户的男性占比要稍大于女性,与四个用户群总体的男女占比接近,在性 别方面没有明显的偏向趋势•,流失型用户的男性占比要远大于女性,超过四个用 户群总体的男女占比,反映出该机构中男性成为流失用户的比例要高于女性,在 制定用户挽留策略时可以对男性用户有所偏向,以便提高收益;
对于年龄属性,分别统计每个用户群的用户年龄,做出的年龄分布柱形图如 图3-7所不。


从用户年龄分布柱形图可以看出在每个用户群中年龄在40岁左右的用户都 占有最大比重,说明该机构的用户群在年龄结构方面呈现出中年特征;对于活跃 型用户,用户的年龄结构总体上呈现出正态分布,是一个健康的分布特征;对于 潜力型用户,40岁以下用户占比较大,在制定发展潜力型用户的措施时可以对 40岁以下用户有所偏向;对于流失型用户,相比于其他三类用户群,在年龄段的 两端都覆盖了一些用户,在制定用户挽留策略时应该增加年龄段两端用户的权重; 对于稳定型用户,在低年龄段基本没有多少用户,用户大部分都分布在中年及中 老年,制定稳定理财策略时应该对这部分群体有所倾向。
3.3用户分析 3.3.1支持向置回归
SVR (Support Vector Regression,支持向量回归)是在 SVM (Support Vector Machine,支持向量机)基础上进行改进,使其可以用来解决回归问题。在介绍 SVR之前,需要先了解一下SVM。

给定训练样本集i) = {(%,%),〇c2,j^2),…,Ocn,>^)},:^ {-1,+1>,分类算法最
基本的思想是在给定的样本集d的基础上得到一个划分超平面,使用该超平面可 以将不同类别的样本进行区分。超平面的划分方式有很多种,如图3-8所示,应 该找到图中加粗的划分方式,因为该划分超平面对样本的“容忍”度最高,模型 的分类效果更好。
可以采用这样的方式对样本空间的划分方式进行描述:
g>tx+0 = Q (3-10)
其中必= (q;吟;代表的是与超平面垂直的法向量,0代表的是超平面 和原点之间的距离。这样,对于任意一种划分方式,都可以通过法向量你和位移 项0将超平面表示出来。对于数据集中的任意一个点X,其到超平面(私的的距离 可以表示为:
\(〇1x+0\
_ M
假设超平面(叫内可以将训练样本正确分类,即对于乃中的任意一点3;;),
若凡=+1,则6/;^+沒>0成立;若兄=-1,则沒<0成立。令
^ +1, j; = +1
0)1 Xi+d
这样,距离超平面最近的训练样本会使式(3-12)的等号成立,这些训练样本 被称为“支持向量”(Support Vector),两个不同类支持向量到超平面的距离之和 为:

2
M
7被称之为“间隔”。
为了使分类结果更加准确,需要找到具有最大“间隔”的划分超平面,即找 到满足式(3-10)条件约束的(叫❸,使得7最大,即在满足
少 + 之 1,/二 1,2,".,《 (3-14)
的条件下求max^y的值,进一步转化为求mini||仍||2的值,这就是SVM的原 ^ \\〇)\\ ^ ^ 211 11
型。
对于SVR,最终希望求得一个回归模型
f(x) = 〇)Tx+0 (3-15)
使得/(x)与少尽可能相近,其中砂0是待求的参数。在计算模型误差方面, SVR与传统的回归模型有一些不同。传统的回归模型是根据真实值和模型预 测值/(x)之间的距离作为模型误差,当和/(x)相同时,模型的误差为0。对于 SVR,有一个误差的容忍范围当少和/〇〇之间的距离小于^时,便认为模型 的预测是准确的,只有当少和/〇〇之间的距离大于^时才会认为模型产生了误差。 这样,SVR问题便可以表示为:
+ (3-16)
,z /=i
其中C为正则化常数,^为损失函数。通过拉格朗日乘子法和对偶问题可以求解 出最终的SVR模型。
3.3.2用户储蓄潜力预测
该部分的研究目标是对用户的储蓄潜力进行预测。具体地,通过对前11个 月用户的储蓄值数据进行分析,使用SVR算法预测最后1个月用户的储蓄值, 分析过程如下:
首先,基于用户月日均余额表,提取出从2017年4月到2018年2月共11 个月的月日均余额作为输入特征,提取2018年3月的月日均佘额作为输出变量, 得到一个包含25w条数据的分析数据集;然后将数据集按照比例划分为训练样 本集和测试样本集,根据经验,选择7: 3的比例进行划分;最后,在训练样本

集上对SVR算法进行训练,得到模型参数,在测试样本集上评估模型表现。 为了更好地对模型进行评估,选取两个指标衡量预测效果:
尽=^£丨乃 _/(')丨 (3-17)
N
— (3-18)
Z/⑷
r=l
其中晃在个人层面进行评价,针对每个人计算出预测值和真实值之间误差的绝 对值,然后计算均值;尽在整体层面进行评价,将所有人的真实值和预测值分别 求和,然后计算比例。经过模型的训练和预测,乓=512.64元,即对于每个用户, 预测的误差均值为512.64元;晃=1.04,即对于该机构的所有用户,预测值和真 实值较为接近。
通过对用户的储蓄潜力进行分析预测,一方面可以从中找出有潜力的用户, 针对这部分用户制定更有针对性的服务措施,例如推荐一些增值业务;另一方面, 可以在整体层面对机构的储蓄潜力进行分析,从而合理安排资源。
3.4本章小结
本章对用户画像部分进行了阐述,主要通过以下几个部分展开:
首先,基于A市某银行中心网点的用户储蓄数据使用Elkank-means算法对 用户群进行划分,通过分析聚类误差SSE以及考虑到实际情况,最终划分出四 个用户群。其次,在整体层面对四个用户群绘制了用户月日均余额与月份之间的 折线关系图,通过对折线图进行分析得到了四类用户群的类别标签:活跃型用户 群、潜力型用户群、流失型用户型和稳定型用户群。接下来,针对每一类具体的 用户群,选取性别和年龄这两个维度特征对用户群进行画像,通过画像信息可以 在性别和年龄两个方面对银行提供一些可行性建议,从而在提高用户满意度的基 础上最大化银行收益;最后,选取月日均余额表中用户的前11个月余额,使用 SVR算法对用户的最后1个月余额进行预测,预测准确度较高。通过对用户储 蓄潜力进行预测可以使银行合理安排资源,有一定的研究意义。

第四章用户评级研究
本章将对用户进行评级研究,研究思路如图4-1所示。首先,基于运营商大 数据从产生流量、使用时长、不同业务流量占比三个维度提取用户贡献数据和用 户行为数据•,然后使用聚类算法对用户贡献数据进行划分,根据用户贡献程度确 .定划分类簇的标签信息;最后整合用户行为数据和用户标签信息,使用三种分类 算法进行训练预测,从而得到用户级别信息预测模型。

图4-1用户评级研究思路图

4.1数据预处理
通过与运营商B市分公司合作,获取到该市所有用户使用手机的上网记录 数据集。该数据集包含从2014年7月17日到2014年7月25日共9天的用户上 网记录。数据集中每条记录包含多个属性,例如用户id、基站位置、业务类型、 产生流量的开始时间、结束时间、产生的上行流量、下行流量以及总流量。数据 集中覆盖的业务种类繁多,按照业务类型进行区分可以分为以下几种:Web上网 业务,例如WAP、HTTP等;即时通信业务,例如QQ、WeChat、飞信等;流媒 体业务,例如PPS、PPTV、迅雷看看等;邮件业务,例如SMTP、POP3等;以 及彩信业务等等。数据集原始样本如表4-1所示。
表4-1数据集原始样本
数据处理规则如下:


首先,选取从2014年7月18日到2014年7月24日整一周的数据,其中 19日和20日为周六日。原因如下:一方面,从9天中选取7天是因为7天刚好 是工作日和休息日的一个周期,更容易呈现出周期性规律;另一方面,9天中第 一天(2014年7月H日)和最后一天(2014年7月25日)的数据质量并不好, 数据条目较少,数据缺失值较多。由于是针对用户进行分析,所以数据处理需要 以用户(PHONENUMBER)为维度进行操作。
其次,针对产生流量(TRAFHC)和上网时长(DURATION)从时段的角度 对用户的上网记录数据进行统计。由于最终目标是对用户进行分级,所以要尽可 能地对用户进行区分,从而制定了下面的时段划分规则:工作日的时段划分为 00:00-06:00、06:00-12:00、12:00-18:00、18:00-24:00 共四个时段,休息日的时段 划分为 00:00-04:00、04:00-08:00、08:00-12:00、12:00-16:00、16:00-20:00、20:00- 24:00共六个时段。休息日的时段划分比工作日更加频繁是因为休息日用户会产 生更多的上网记录,从而呈现出更多的特征。
最后,从不同业务类型的流量占比角度对用户的上网记录数据进行统计。从 用户上网记录中选取三个最能对用户进行区分的业务类型:即时通信(IM)、上 网(WEB)和彩信(MES),统计从2014年7月18日到2014年7月24日中用 户在这三种类型业务上产生的流量,然后统计用户在这七天中每天产生的总流量, 最后计算每天每种业务类型的流量占比。
最终,可以得到一个以用户为维度,时间范围覆盖一周的用户数据,数据格 式如表4-2,4-3所示。
表4-2用户数据表(工作日)
从左到右的属性依次为:用户号、WEB上网流量占比、即时通信流量占比、 彩信流量占比、00:00-06:00、06:00-12:00、12:00-18:00、18:00-24:00 四个时段的 流量(TRA)和时长(DUR)。


表4-3用户数据表(休息日)
从左到右的属性依次为:用户号、WEB上网流量占比、即时通信流量占比、 彩信流量占比、00:00-04:00、04:00-08:00、08:00-12:00、12:0046:00、16:00-20:00、 20:00-24:00六个时段的流量(TRA)和时长(DUR)。


4.2用户级别分析
本文采用以下思想对用户进行级别分析:首先,基于数据预处理得到的用户
数据提取用户贡献数据,用户贡献数据包含用户在各个时段产生的流量和当天总
流量与总时长的比值;然后,基于用户贡献数据,使用聚类算法对用户进行划分;
最后,根据用户对运营商的贡献程度制定规则,按照规则确定聚类类簇的定义,
从而得到用户级别信息。
下面将对整个用户级别分析的过程进行阐述:
27
首先,在用户数据的基础上提取用户贡献数据。从运营商的角度来讲,用户 的贡献程度主要体现在两个方面:产生的流量总值和单位时间产生的流量值。基 于这两个方面,选取用户贡献数据的格式如表4-4,表4-5所示:
表4-4用户贡献数据表(工作日)


从左到右的属性依次为:用户号、00:00-06:00、06:00-12:00、12:00-18:00、 18:00-24:00四个时段的流量(TRA)以及总流量和总时长的比值。
表4-5用户贡献数据表(休息日)
从左到右的属性依次为:用户号、00:00-04:00、04:00-08:00、08:00-12:00、 12:00-16:00、16:00-20:00、20:00-24:00六个时段的流量(TRA)以及总流量和总 时长的比值。


其次,在用户贡献数据中,每个属性的取值范围是不同的,量纲不统一,所 以在使用聚类算法对用户进行划分之前,需要将用户贡献数据进行特征缩放,从 而保证每个属性对最终划分结果的影响相同。本文采用了应用非常广泛的min- max归一化的方式实现特征缩放。mhwnax归一化的定义如下:通过对原始数据 进行线性变换,将数据值映射到[0,1]之间,映射函数为:


其冲义_力■该歹_性数据白勺最小值,义_力^歹1」謝生数据白勺最大I
然后,在归一化的基础上,使用Elkank-means算法对用户贡献数据进行划 分(Elkank-means的算法流程见3.2.1)。由于最终需要将用户确定为三个级別: 贡献程度高用户、贡献程度中等用户、贡献程度低用户,所以将聚类的簇数设定 为3,即n_clusters=3。通过Elkan k-means算法可以得到三个用户类簾和对应类 簇的中心。
最后,基于聚类类簇中心和用户对运营商的贡献程度确定用户级别信息。首 先,将每个聚类中心的前n-1项求和(n代表聚类数据属性个数),表示该类用户 的总流量的均值,记为TRA_AVG,将第n项记为TRA/DUR_AVG,表示该类用 户总流量与总时长比值的均值;然后通过比较TRA_AVG和TRA/DUR_AVG确 定每个类簇的定义。比较规则为:值越大表示用户贡献程度越高,其中TRA_AVG 的优先级高于TRA/DUR_AVG。7月18日用户贡献数据的聚类结果如表4-6所 示:
表4-6 7月18日用户贡献数据聚类结果表


表4-6解释如下:第一列代表的是每个类簇的标签;第二列代表的是每个类 簇的中心•,第三列代表的是每个类簇的总流量均值和总流量与总时长之比的均值; 第四列代表的是每个类簇包含的用户人数;第五列代表的是每个类簇的定义,即 用户级别信息。从表4-6可以看出,贡献程度低的用户人数最多,约为32.5万 人,贡献程度中等的用户人数最少,约为5.8万人。
4.3分类预测模型
本部分将对实现用户分级的分类预测算法进行介绍,具体如下:
4.3.1随机森林
随机森林采用的是集成学习的思想,即先产生一组基学习器,然后通过某种 策略将这些基学习器组织起来,从而获得比单一学习器更为显著的泛化性能,达 到更好的效果。随机森林的随机性主要体现在以下两个方面:对原始样本的有放 回取样和样本特征的随机选择。
对原始样本的有放回取样通过自助采样法(bootstrap sampling)完成,定义 如下:给定一个包含3,个样本的数据集Z),每次从£>中随机选取一个样本,将其 放入Z)’中,然后再将该样本放回原数据集D,使得该样本在下一次采样时依旧 有概率被选中。将这个采样过程重复>,次可以得到一个包含个样本的数据集办, 完成自助采样过程。在这个过程中,乃中的一部分样本会重复出现在办中,一部 分样本则不会出现。样本在一次采样中不被选中的概率为

(4-4)
式(4-4)说明通过自助釆样法原始数据集/)中有63.2%的样本可以被釆集到 数据集办中,有36.8%的样本不会出现在数据集中。
样本属性随机选择体现在决策树的构建过程中。传统的决策树构建过程是在 当前树节点的所有属性中选择一个最优属性,选择标准可以是信息熵,也可以是 基尼指数。而在随机森林的构建过程中,对于基学习器的每个树节点,先从所有 属性中随机选择灸个作为属性集合,再从属性集合中选择最优的属性进行划分。 在这个过程中,灸是一个引入的随机性控制变量。当A: = l时相当于随机选择一个 属性进行划分;当;t = d时相当于没有引入随机性,与传统决策树构建过程相同。 在实际使用过程中,it值一般取l〇g2J或者
随机森林是一种由多个基学习器组成的集成学习方法。通常选择决策树作为 随机森林的基学习器,每棵决策树都有一个输出结果,然后通过投票或者平均的 方式将结果进行整合。对于每一个基学习器,通过bootstrap采样从原始样本中 选取训练样本,在训练过程中引入样本属性随机选择机制,完成森林的构建过程, 示意图如图4-2所示。

 CART 树
分类与回归树(Classification and Regression Tree,CART),是一种应用广泛 的决策树模型。CART是这样一种学习方法:对于给定的随机变量X,输出随机 变量F的条件概率分布。CART的定义比较抽象,可以这样进行理解:CART假 设决策树是一种二叉树的结构,树节点有两个取值:“是”或者“否”,对于一个 节点的两个子节点,左节点对应于“是”,右节点对应于“否”。这样,从CART 的根节点开始,使用递归的思想遍历整棵树,将从根节点到叶子节点的特征组成 一个特征向量,所有特征向量组成了特征空间。反过来想,也就是将特征空间划 分为有限个特征向量,并在这些特征向量上确定预测的概率分布。
由于要解决的是分类问题,所以这里介绍分类树的生成过程。假设有两个变 量x和y,其中/为输入变量,r为输出变量。针对给定的数据集
一颗分类树代表对特征空间的—个划分,并且给 出在该划分空间上的输出值。假设将特征空间划分为#个单元q,c2,...,c„,将 每个单元的输出值设定为v„,则可以得到分类树模型
f(x)^vnI(xGCn) (4-5)
H=I
其中/(X)是指示函数,;c成立时值为1,x不成立时值为0。
分类树的生成过程依赖基尼指数。假设有M个类,数据样本属于第m类的 概率为;7m,那么其基尼指数为:
Gini(p)=£ Pm =
对于一个给定的样本集D,其基尼指数为:
(4-7)
其中,。^是样本集D的第m个子集,M是样本集i)中类别的个数。
如果考虑某一个特征r是否取某一个值/,那么就可以将样本集Z)划分为两 个部分DpZ)2
iDl={(x)y)eD\T(x) = t}
[n^D-D, "
这样,在特征r的条件下,样本集Z)的基尼指数为:

Gini(Ar)=^Gini(A)+^Gini(A) (4-9)
其中,样本集的基尼指数Gini(D)对应于样本集D的不确定性,在特征r的条件 下样本集D的基尼指数Gini(Z),r)对应于经过条件7 = ?分割后样本集Z)的不确 定性。基尼指数与熵相对应,数值越大,代表样本集的不确定性越高。
综上,分类树的生成过程如下:首先,针对一个确定的特征,遍历其所有的 取值,再遍历所有的特征,找到使样本集基尼指数最小的最优特征和最优取值组 合;然后,根据选取的最优组合,将树节点划分为两个子节点,将数据集按照划 分方式分配到两个子节点中;最后,重复以上过程,直到满足停止条件,分类树 生成。
4A3逻辑回归
LR (logistic regression,逻辑斯蒂回归)是一种思想比较简单应用却非常广 泛的机器学习方法,虽然有回归两个字,但是其面向的却是分类问题。在介绍逻 辑斯蒂冋归模型之前需要先了解一下逻辑斯蒂分布。逻辑斯蒂分布的分布函数 和密度函数/⑻为:


其中//为位置参数,A >0为形状参数。
从逻辑斯蒂分布的分布函数可以看出其图形是一条类似S形的曲线,曲线的 中心对称点是
(4-12)
即将图形围绕该点进行180°旋转之后可以与原图形重合,同时离中心对称点越近 函数增速越快,离中心对称点越远函数增速越慢;从逻辑斯蒂分布的密度函数可 以看出其图形是一个左右对称的图形,在对称点达到函数的最大值。
前面己经介绍到,逻辑斯蒂回归是一种用于解决分类问题的模型,其可以由 一个条件概率分布来进行表示户(7|;〇。条件概率分布中的x是一个随机变量, 对应于算法的输入特征参数,7也是一个随机变量,对应于算法的输出,如果要 解决的是二分类问题,那么7的取值就是0和1。通常将逻辑斯蒂回归映射为一 个带有参数的逻辑斯蒂分布,即


其中似是一个权重参数,0是一个偏置参数。这样,对于一个特定的输入变量;C, 可以按照上式计算出输出为0和输出为1的两个条件概率分布,通过比较两个概 率分布的值从而选出较大的一个作为x的输出类别。
4.4用户级别预测
本部分将对用户级别信息进行预测分析,具体流程如下:
首先,基于数据预处理得到的用户数据提取用户行为数据,用户行为数据包 括WEB、IM、MES三种业务类型流量占比和各个时段的上网时长;然后整合用 户级别分析得到的用户级别信息和用户行为数据,将数据集按照7: 3的比例划 分为训练数据集和测试数据集;最后分别使用随机森林、CART树、逻辑回归三 种分类算法建立预测模型,模型效果采用准确率P、召回率7?以及F1值三个指 标进行评价,指标的计算方式见式(2-1)(2-2)(2-3)。
通过在2014年7月18日到2014年7月24日整一周的数据集上对随机森 林、CART树、逻辑回归三种模型进行训练和测试,可以得到以下结果:
三种模型在7月18日数据集上的表现如表4-7、表4-8、表4-9所示。
表4-7随机森林评价结果表


表4-8 CART树评价结果表


表4-9逻辑回归评价结果表
为了便于分析,我们绘制了 7月18日数据集上三种模型评价指标直方图, 如图4-3所示。


The result on 7.18


图4-3 7月18日数据集上三种模型评价指标直方图 进一步,我们绘制了 7月19日-7月24日数据集上三种模型评价指标直方 图,如图4-4所示。
图4-47月19日-7月24日数据集上三种模型评价指标直方图 通过图4-3和图4-4可以发现无论是准确率、召回率还是F1值随机森林的 表现都比CART树和逻辑回归要好,分类准确率稳定在81%左右,体现出了集 成学习在分类预测方面的优势;同时,不难发现CART树的准确率、召回率和F1 值均要略高于逻辑回归,体现出了树形结构在多分类问题上的优势,逻辑回归更 适合处理二分类问题。
对于分类模型的评价指标,F1值是准确率和召回率的调和值,更能体现分 类预测模型的表现。三种模型在7月18日-7月24日数据集上的F1值对比图如 图4-5所示。

图4-5可以看出随机森林的表现最好,F1值稳定在81%左右;CART树次 之,F1值稳定在76%左右;逻辑回归的表现最差,F1值大部分在75%以下,且 有较大波动。所以综合考虑,随机森林最适合应用在用户级别信息预测中。
4.5本章小结
本章对用户评级研究进行了介绍,主要分为以下几个部分:
首先,选取一周的运营商用户上网数据在产生流量、使用时长、不同类型业 务流量占比三个维度提取特征。产生流量和使用时长方面,分时段提取特征,工 作曰划分为四个时段,休息曰划分为六个时段;不同类型业务流量占比方面,选 取即时通信(IM)、上网(WEB)和彩信(MES)业务,统计该种业务类型产生 流量占总流量的比例,得到用户数据。
其次,基于数据预处理得到的用户数据提取用户贡献数据,用户贡献数据包 括用户在各个时段产生的流量和产生总流量与使用总时长的比值,使用聚类算法 对用户贡献数据进行划分。根据用户对运营商的贡献程度对聚类类簇进行定义, 贡献程度从两方面体现:用户产生的总流量和用户单位时间产生的流量。
最后,基于用户数据提取用户行为数据,用户行为数据包括三种类型业务流 量占比和各个时段的使用时长,并将用户级别信息整合到用户行为数据中,得到 训练数据集和测试数据集。选取三个分类预测模型:随机森林、CART树以及逻 辑回归进行预测分析,模型效果通过准确率P、召回率以及F1值进行评价。 通过分析发现随机森林的表现最好,CART树次之,逻辑回归最差。
第五章可视化平台的设计和实现
对于大数据分析,最终目的是得到有价值的分析结果,所以如何将分析结果 形象生动地呈现出来是至关重要的。鉴于此,本文开发了一套可视化系统。该系 统包含后台和前端两部分,后台部分可以实现数据存取、数据分析、数据传输等 功能,前端部分可以实现对数据分析结果的动态展示并与用户实时交互。
5.1关键技术
1、 MVC设计模式
在系统开发过程中,MVC是应用非常广泛的设计模式。M (Model)指的是 模型,负责实现后台的具体逻辑;V (View)指的是视图,负责分析结果的渲染 和呈现;C (Controller)指的是控制器,负责Model和View之间的逻辑连接。 MVC流程如下:首先,用户在浏览器中点击链接,前端界面发起请求;然后, 系统后台拦截到请求的URL并进行解析,根据具体的映射规则确定请求对应的 控制器,控制器将请求转发给对应的Model;接下来,Model对请求进行处理并 将处理结果返回控制器;最后,控制器渲染处理结果并在视图层展示,浏览器呈 现出链接对应的界面。MVC设计模式采用分层的思想,将系统的设计分为模型、 控制器和视图三个模块,每个模块只需要完成各自负责的内容,从而在最大程度 上实现解耦,避免出现修改小部分功能整个系统都要改动的情况发生。
2、 API规范
API规范指的是RESTftilAPI规范,是一种交互的接口规范。在实际应用过 程中,RESTflil接口规范通常都是和HTTP协议绑定在一起,主要包括以下几部 分:
在HTTP协议中,有四个对资源进行操作的动词:GET、POST、;PUT以及 DELETE。其中GET表示从服务器获取资源,例如在网页上获取用户的个人信 息;POST表示在服务器上创建新资源,例如在注册过程中将个人信息填写之后 提交到服务器;PUT表示更新资源到服务器;DELETE表示从服务器上删除资 源。
统一资源定位符(Uniform Resource Location,URL)指的是互联网中标准资 源的地址。在RESTful接口规范中,每个URL代表一个资源的位置,所以在URL 中只能存在名词,不能存在动词。资源通常都存储在数据库中,所以URL中用 到的名词通常要与数据库中的表名相对应,并且使用复数。另外,如果资源较多, 只需要获取部分资源,可以在URL中通过(? conditiomx)的方式提供过滤参
数。
对服务器上的资源进行操作时,需要知道操作是否成功,如果没有成功需要 反馈失败的原因,这些功能可以通过状态码实现。状态码是一个三位数字,范围 从100-500,常用的状态码信息如下:200: OK,服务器成功返回用户请求的资 源;404: Not Found,用户请求的资源不存在;500: Internal Server Error,服务
器发生错误等等。
5.2编程语言
该系统的开发主要使用了以下三种语言:HTML5, CSS3以及JavaScript。 HTML (HyperText Markup Language,超文本标记语言)是标准通用标记语
言的应用,也是规范化网页表现的规范和标准。HTML制定了一套规则,规定浏 览器如何把丰富多彩的界面呈现出来。HTML5是HTML的第五个版本,在原来 的版本上增加了很多新的特性:例如媒介回放元素、更好地支持离线存储、新的 表单控件等等,是前端开发应用最为广泛的一种编程语言。在该可视化平台的开 发过程中,前端界面所有元素的排版都是通过HTML完成的,例如图表、文字、 按钮等等。
CSS (Cascading Style Sheets,层叠样式表),是一种用来为结构化文档添加 样式的编程语言。在开发过程中,CSS通常和HTML —起使用,为HTML增加 装饰效果。简单来讲,HTML确定了网页中包含哪些内容,CSS负责将这些内容 进行展现,包括网页内容的布局、颜色、尺寸等等。CSS可以直接在页面中进行 设置,也可以编写全局CSS文件,然后在不同的页面中引用。CSS3是最新的CSS 标准,相比于之前的版本更加突出了模块化的思想,开发更为便捷。
JavaScript是一种解释执行的编程语言。JavaScript通常将代码嵌入到HTML 中,以便实现在Web界面中链接多个对象,完成与Web的交互。例如页面中存 在一个button,可以使用JavaScript来为其添加点击事件,点击之后就会产生跳 转或者其他的预期效果。JavaScript特性如下:逐行解释执行,面向对象,实时 交互,跨平台等等,这些特点都决定了 JavaScript是一种对开发人员友好的编程 语言。
5.3系统框架
搭建本系统主要使用了以下三种框架:开发Web应用的Django框架、开发
动态图表的ECharts图库和集成JavaScript的jQuery框架。
Django是一个基于Python的Web开发框架,具有高效、开源的特性。对于
38
Web开发,有很多重复的步骡和繁琐的部分,这些内容对于开发人员并不是十分 重要,所以就将这些内容抽取出来,集成了一套开发框架。这样,对于一个新的 Web应用,开发人员只需要注重Web核心功能开发,通用流程完全由框架实现, 在最大程度上提高了开发效率,同时也保证了框架的实用性。由于该可视化平台 是一个整体,需要在前端界面进行数据展示,后台部分进行数据处理,并且python 在数据处理方面有显著优势,所以本系统选择了 Django框架。
ECharts是一个基于JavaScript、内容丰富的图表库,支持在各种PC设备或 者移动设备上运行,对当下流行的浏览器均兼容,例如Chrome, Firefox,Safari 等等。ECharts可以提供多种常用类型的图表,例如折线图、散点图、柱形图、 雷达图、力导向布局图、仪表盘等等,还可以提供多个交互组件,例如.•图表标 题、图表图例、工具箱、时间轴等等,从而可以在短时间内开发出形象生动的图 表,在增加用户体验的同时提高了开发效率。该可视化平台前端展示的图表部分 都是通过ECharts呈现,开发流程如下:首先,根据需求选取合适的图表类型; 然后根据ECharts API对图表进行设置;最后解析后台传输的数据并进行展示。
jQuery是一个简单高效、颇受欢迎的JavaScript框架。jQuery —贯的设计理 念是“Write Less, Do More”,即倡导写更少的代码,实现更多的功能,这一点 充分体现出jQuery的高效性。jQuery的核心特性如下:将文档对象模型中的某 个元素转换为jQuery对象,使用库中的方法对该对象进行操纵;插件扩展机制 较为完善,有丰富的插件供开发人员使用;支持跨平台操作,对主流的浏览器兼 容性好,代码可移植性强。对于该可视化平台的开发,jQuery是不可或缺的,很 多功能都需要jQuery实现。以点击响应为例,首先,需要在HTML内部添加点 击事件,然后通过jQuery定义点击函数,从而做出响应,例如跳转、翻页、隐藏 等等。
5.4需求分析
该系统旨在构建一个展示内容丰富、对用户友好的数据可视化分析平台,其 设计风格符合当下应用较为广泛的Web系统的设计规范。为了得到更好的展示 效果,该系统采用B-S (Browser-Server,浏览器-服务器)的设计架构,而不是 C-S (Client-Server•,用户端-服务器)架构。该系统采用模块化的设计思想,将系 统拆分为不同的模块,每个模块负责各自的功能实现,降低了系统内部的耦合, 为系统的开发和维护提供便利。整体上看,该系统主要可以分为前端和后台两部 分,下面将分别进行系统需求分析。
5.4.1后台需求分析
后台作为系统的一部分,虽然不直接与用户进行交互,但是其在整个系统中 扮演的角色却是非常重要的。后台功能设计的完善程度直接决定系统是否能够正 常运转,所以后台功能需求分析在系统整体需求分析中占有重要地位,下面将从 三个方面进行介绍:
1、 数据存取
对于数据可视化分析平台,数据是不可或缺的,数据存取是必须要解决的一 个问题。数据存取要实现对不同来源的数据进行存取操作,常用的数据来源包括 以下三种:对于数据量较小的场景,为了便于操作,通常直接采用单个文件进行 存储;对于数据量较大的场景,例如TB级别的数据量,若数据处理需求不高, 通常存储在数据库中,应用较为广泛的是MySQL和Oracle;若数据处理需求较 高,通常采用Hive存储数据,Hive是一种分布式的关系型数据库,可以并行分 布式处理大量数据。由于本系统的数据处理部分集中在算法分析方面,数据存取 模块并不需要进行过多的数据处理,所以当数据量较小时使用CSV文件进行存 取,当数据量较大时使用Oracle进行存取。
2、 算法分析
对于数据可视化分析平台,算法分析是影响整个平台展示效果的重要部分。 首先,该部分要实现对上个步骤中读取到的数据进行预处理:对于无监督机器学 习方法,例如聚类,需要进行归一化、标准化等统一量纲的处理操作;对于有监 督机器学习方法,例如分类、回归等,需要将原始数据集处理得到训练集和测试 集等等。接下来,该部分要根据具体的分析问题选择对应的算法模型,可以调用 己经集成好的Sdkit-Leam算法包,也可以根据具体的需求在现有算法上进行改 进。最后是模型输出,包括算法的误差分析、不同类别的样本数据等等。
3、 前后端通信
在系统幵发过程中,采用模块化思想,将前端后台分别开发可以尽量减少系 统之间的耦合,但是这样就会出现一个问题:前端和后台如何实现通信。首先是 后台到前端:前端界面中所有的内容都是基于后端的数据分析结果进行展示的, 所以将数据分析结果采用合适的格式传输到前端尤为重耍,决定了系统的稳定性, 如果传输延迟性较大系统就会处于瘫痪的状态;其次是前端到后台,因为系统设 计采用模块化的思想,前端只负责结果展示部分,所有的数据处理操作都在后台 进行。用户在前端发出的请求要及时、准确地传输到后台,以便对用户的请求进 行处理和响应。


5.4.2前端需求分析
前端界面是直接与用户进行交互的部分,该部分的整体布局和功能设计是否 合理会直接影响用户的实际体验,其重要性不言而喻。下面将从两个方面进行需 求分析:
1、 用户群层面展示
在用户群层面,首先,使用聚类算法对用户进行一级分类,按照不同储蓄潜 力的用户群进行展示,作为系统首页;其次,在一级分类的基础上继续细分,进 行用户群二级分类展示,•最后,针对每个二级分类用户群,对用户存款时间分布 和用户储蓄值的均值、最大值进行展示,以便从中发现规律,提供更有针对性的 服务。
2、 个人用户层面展示
在个人用户层面,首先,根据储蓄潜力选取代表性用户,对用户的十二个月 储蓄值进行展示;其次,使用回归预测算法,预测用户最后一个月的储蓄值,将 预测结果和预测误差展示到系统中•,最后,基于用户的消费记录数据,消费情况 分为POS机、微信、支付宝三种方式,统计每种消费方式的消费总值和消费次 数,展示到平台的个人用户画像界面中。
5.5具体实现 5.5.1后台具体实现
后台部分主要是基于Django框架实现,在保证系统可用性和稳定性的前提 下,提高了开发效率。后台模块示意图如图5-1所示。


图5_1后台模块示意图
下面将对后台功能需求分析的每个部分进行具体实现:
首先,为了提高系统的兼容性,设计两种方式进行数据存取。第一种方式是 基于文本文件,以CSV文件为例。配置好文件路径信息之后使用open和readline 命令将CSV文件读入,然后将文件关闭。值得注意的是从CSV文件读取的数据 是字符串格式,而且数据行之间没有分隔,需要使用split命令进行分割,然后转 化为int类型。第二种方式是面向数据库。首先是数据库连接,需要在settings.py 文件中配置数据库信息,包括数据库名字、用户名、密码、主机IP地址以及端 口号。本系统的数据库信息是基于实验室的Oracle数据库进行配置的。接下来, 需要编写SQL代码对数据进行存取。为了便于开发,Django集成了对数据库进 行增、删、改、查等常用操作的SQL语句,只需要修改字段信息、查询条件便 可以完成数据存取操作。
其次,为了进一步完善系统功能,在后台实现了算法分析部分。算法分析通 过以下两个子部分实现:首先是Elkank-means算法,用来对用户群进行划分, 从而针对不同的用户群进行画像。Elkank-means是一种无监督聚类算法,需要使 用聚类误差SSE来衡量聚类效果,从而选取最优的聚类类别;其次是SVR算法, 用来对用户储蓄值进行预测。SVR是一种有监督机器学习方法,需要使用留出法 将数据集划分为训练集和测试集,留出法的具体实现通过Scikit-Leam中的 train—test_split 完成。
最后,实现了前后端通信的功能。首先,对Django框架中的settings.py文 件进行配置,主要包括设置项目路径、设置前端代码路径、设置网络参数等等。 settings.py文件是Django框架中较为核心的文件,对框架的大部分设置操作都是 在这个文件中完成。其次,配置url.py文件。mlpy文件中定义了 URL映射规 则,在文件中增加URL映射信息,后台才能够对前端的URL请求进行响应。最 后,实现数据传输类,将数据分析结果转换成JSON格式进行传输。:(SON是目 前应用非常广泛的一种数据传输格式,尤其是在前后端通信方面。前后端通信的 整体流程如下:首先,在浏览器中访问如下URL: 127.0.0上8000/Source,其中 127.0.0.1对应于本地的IP地址,因为该系统后台部署在本地,8000是规定的前 后端通信端口,Source是前端的请求字段;然后,后台拦截到该URL并解析出 前端请求的Source字段,根据URL映射规则跳转到数据处理类;最后,后台进 行数据处理并将结果通过:(SON格式发送给前端。
5.5.2前端具体实现
前端部分通过HTML5、CSS3、JavaScript组合构建,在构建过程中釆用了 jQuery框架,图表的展示通过ECharts图表库完成。下面将对前端的每个页面进 行阐述。
首先,基于用户的储蓄值使用聚类算法将用户群划分为四个类别:稳定型用
户群、活跃型用户群、潜力型用户群和流失型用户群。由于稳定型用户群相比其 他三类占比较大,所以为了更直观地展示,对于活跃型用户群、潜力型用户群和
流失型用户群这三类又增加了一个饼图,展示的系统界面如图5-2所示。

图5-2用户群一级分类界面
在用户群一级分类界面中,左侧饼图表示的是稳定型用户群和其他三类用户 群的总体占比情况,右侧饼图表示的是活跃型用户群、潜力型用户群以及流失型 用户群的占比情况。

接下来,为了对用户群的分析更加深入,在一级分类的基础上继续使用聚类 算法进行划分,其中稳定型用户群被划分出5个二级分类用户群,分别为稳定型 1到稳定型5;活跃型用户群被划分出2个二级分类用户群,对应于活跃型1、 活跃型2;流失型用户群被划分出2个二级分类用户群,对应于流失型1、流失 型2;潜力型用户群被划分出2个二级分类用户群,对应于潜力型1、潜力型2。 然后针对二级分类的用户群进行画像,如图5-3所示。

图5-3用户群二级分类画像界面
在图5-3中(图中以稳定型用户群为例),左侧展示的是用户群二级分类的

占比情况,其中稳定型1的占比最高,稳定型4的占比最低。右侧展示的是二级 分类用户群的平均储蓄水平。这部分通三个指标进行展示,分别是2017年4 月到2017年9的平均储蓄值、2017年10月到2018年3月的平均储蓄值以及从 2017年4月到2018年3月的平均储蓄值。从图5-3可以看出对于具体的稳定型 用户群,这三个指标的值非常接近,反映出用户的储蓄潜力较为稳定;另一方面, 不同的稳定型用户群的平均水平并不一样,从稳定型1到稳定型5平均水平在逐 渐提升,说明对稳定型用户群进行二级分类是非常有意义的。下侧展示的是所有 二级分类用户群的储蓄均值和最大值分布情况,其中黑色的表示的是储蓄最大值, 白色表示的是储蓄均值。
最后是个人用户画像界面,该部分选择了用户群中有代表性的用户进行展示 (图中展示的用户属于波动型用户群)。用户的画像信息一方面通过预测算法对 用户储蓄值进行预测并计算预测误差,另一方面基于统计信息得到,展示界面如
图5-4所示。

图5*4个人用户画像界面

在图5-4中,左侧展示的是用户的储蓄值分布图,选取从2017年4月到2018 年3月共12个月的用户储蓄值进行展示。从图5-4可以看出该用户的储蓄波动 情况较大,在2017年6月达到了最大值14148元,在2017年10月达到了最小 值5664元,体现出储蓄潜力波动的特点。右上角展示的是预测算法得到的储蓄 预测值以及预测误差,预测误差通过相对误差进行计算,即误差值的绝对值与真 实值之比。从图5-4可以看出储蓄预测值为13251元,预测误差为0.185,预测 值与真实值较为接近,算法效果较好。右下角展示的是用户的消费占比情况,从 图5-4可以看出该用户的支付宝消费占比较高,其次是微信,POS机的消费占比 最低,这与实际生活中的消费情况十分吻合。
5.6本章小结
本章介绍了大数据可视化分析平台的设计和实现部分。首先,对系统的设计 和开发过程中用到的关键技术、编程语言和系统框架进行介绍,主要包括系统采 用的MVC设计架构、遵守的RESTM API规范、使用的Django、jQuery、ECharts 框架等内容。接下来,对系统进行需求分析,包括后台功能需求分析和前端功能 需求分析两部分。最后在功能需求分析的基础上对系统进行实现。该系统的后台 部分可以对数据进行存取、算法分析、实现前后端通信等功能,前端可以针对用 户群和个人用户两个主体从多个角度进行画像,实现了一个可以与用户进行交互、 对用户友好的可视化系统。



第六章总结与展望
6.1论文总结
随着网络技术和智能设备的不断升级,人类己经步入了互联网时代,互联网 逐渐成为生活中不可或缺的一部分。在享受互联网带来便捷服务的同时,用户也 在产生着大量的上网行为数据,因此互联网时代也被称之为大数据时代。另一方 面,在目前的大环境下,用户的重要性逐渐彰显出来。对于企业或者机构,有了 用户才能有收益,才能继续发展下去。所以如何在大数据的基础上对用户进行分 析,从而提升用户在享受服务时的满意程度是一个很有研究意义的问题。
本论文首先基于大数据分析的整体流程,从数据预处理、数据挖掘、模型评 估三个方面进行介绍。对于数据预处理,选取四个较为常用并且十分重要的部分 进行介绍:数据清洗、数据集成、数据规约和数据变换。数据清洗的目的在于对 原始数据中存在的异常值和缺失值进行处理;数据集成的目的在于对多个来源的 数据进行整合,丰富数据的多样性;数据规约的目的在于降低数据分析的时间成 本和空间成本,从数据数量和数据属性两个方面降低数据量;数据变换的目的在 于从数据规范化和数据离散化两个方面对数据进行处理,以便于后续分析。
本论文的主要研宄内容有:
1、 用户画像分析
首先,基于银行大数据使用Elkank-means算法对用户群进行划分。通过使 用SSE衡量聚类效果以及考虑到实际情况,发现将用户群划分为四类是一种最 优的划分方式;然后根据每一类用户群的储蓄值情况将其分别定义为活跃型用户 群、稳定型用户群、潜力型用户群和流失型用户群,针对不用的用户群在性别和 年龄两个属性上进行画像,分析用户群特点;最后使用支持向量回归算法对用户 的储蓄值进行预测,个人层面预测的误差均值为512.64元,整体层面预测值和 真实值较为接近。
2、 用户评级研究
首先,基于运营商大数据在产生流量、使用时长、不同类型业务流量占比三 个层面抽取特征,得到用户数据;然后从用户数据中提取用户贡献数据,使用 Elkank-means算法对用户贡献数据进行划分,基于用户对运营商的贡献程度定 义聚类类簇,得到用户的级别信息;最后从用户数据中提取用户行为数据,整合 用户级别信息并使用分类模型进行训练和预测,模型选用随机森林、CART树和 逻辑回归。经过分析发现随机森林的效果最好,准确率在81%左右。
3、可视化平台的设计和实现
基于MVC系统架构,设计并实现一个大数据可视化分析平台。该平台包含 后台和前端两部分,其中后台部分通过Django框架搭建,可以实现从数据库或 者文本文件对数据进行存取,使用机器学习方法对数据进行分析,将分析结果呈 现给前端展示等功能;前端部分通过HTML5、CSS3、JavaScript组合搭建,数据 展示是通过ECharts图表库完成,可以实现针对用户群体和用户个体在多个维度 进行画像,展示信息丰富。
6.2未来展望
首先,用户画像方面,由于数据源的限制只能针对某个机构的用户进行画像。 随着技术的不断演进和数据的不断积累,未来将多个机构、不同来源的数据进行 融合会成为一个趋势,从而实现从多个角度对用户进行画像,画像信息更加丰富, 画像指导意义更强;其次,用户评级方面,目前的评级研究都是针对某个领域, 随着数据量的积累越来越大,未来会实现跨域评级机制,从而实现将本领域的评 级结果作为主体,将从其他领域的跨域评级结果作为辅助,评级的准确性和时效 性会有很大提升。
参考文献
[1]刘海,卢慧,阮金花,etal.基于”用户画像”挖掘的精准营销细分模型研宄[J]. 丝绸;2015, 52(12).
[2] 杨琳,高洪美,宋俊典,等.大数据环境下的数据治理框架研究及应用[J].计 算机应用与软件,2017, 34(4):65-69.
[3]孙晔,杨照东,陈德华.大数据用户画像技术在商业银行的应用[J].数字通 信世界,2016(9).
[4]Natal I D P, Garcia A C B. Activity Recognition Model Based on GPS Data, Points of Interest and User Profile[C]// International Symposium on Methodologies for Intelligent Systems. Springer, Cham, 2017:358-367.
[5]张慷.手机用户画像在大数据平台的实现方案[J]•信息通信,2014(2).
[6]Wang G, Zhang X, Tang S, et al. Unsupervised Clickstream Clustering for User Behavior Analysis [J]. 2016.
[7]曾鸿,吴苏倪.基于微博的大数据用户画像与精准营销[J].现代经济信息, 2016(16):306-308.
[8]Chen Y C, Yang C C, Liau Y J, et al. User behavior analysis and commodity recommendation for point-earning apps[C]// Technologies & Applications of Artificial Intelligence. 2017.
[9]Cho Y H , Kim J K, Kim S H . A personalized recommender system based on web usage mining and decision tree induction[J]. Expert Systems with Applications, 2002, 23(3):329-342.
Huang K H, Deng Y S, Chuang M C. Static a