基于数据挖掘的用户信息分析构件系统
2010-08-15罗曦
罗 曦
闽江学院计算机科学系,福建福州 350108
0 引言
我国的移动通信企业经过前几年的高速发展,现在正步入缓慢增长期,各移动运营商之间的竞争越来越激烈,用户资源成了企业竞争的焦点。大量而频繁的用户流失给企业造成了巨大的损失。成功挽留一个即将离网的用户比重新发展一个新用户所需的成本要低,因此,预测用户流失的可能性,分析用户流失原因,同时对现有用户进行进一步细分以及高低价值用户分析,采取针对性的措施调整市场策略,增加用户满意度,减少用户流失,提高用户消费水平,充分占有市场,是移动通信企业在激烈市场竞争中制胜的关键。
基于构件的系统开发不仅能提高系统的质量和效率而且能适应业务流程的变化。同时,构件化软件开发是软件开发人员面对新市场需求的一种新型软件研发技术和提高软件生产效率和保证软件质量的新型策略。
通过数据挖掘技术对用户特征分析是目前移动通信企业商业智能技术应用的热点之一,开发此类构件具有较大的实用价值。
1 系统设计理念
本系统采用构件化的软件设计原理,选取数据挖掘中既高效又适合用于用户信息分析的ID3算法,采用平台独立、可移植性强的Java技术实现,基于JavaBean的处理构件,每一个处理模块都封装成独立的小型构件,可方便的运用与软件开发以及自定义组装个性化的新型构件:
具体解决办法如下:
1)采用基于构件的设计与开发方法;
2)采用J2SE的平台标准进行JavaBean的设计,既保证了构件的安全性和高效性,又可以方便地进行平台移植和系统移植;
3)根据数据挖掘中数据的筛选原则,采用ID3算法,对用户信息中的敏感信息进行筛选;
4)采用XML和properties做配置文件,对构件可能依赖的运行环境进行独立化,实现软件模块的解耦;
5)采用基于数据挖掘中的ID3算法为底层设计;
6)提供软件开发者以使用接口,可方便的与现有系统进行无缝集成;
7)对处理后的数据提供导出接口,可直接导出数据,也可导出中间数据集以便用于与下一系统模块的链接。
2 构件实现的关键点
2.1 领域内定义业务问题
业务问题定义要明确数据挖掘技术解决的是何种问题,对用户流失管理来说就是要定义何为流失。电信运营商的用户流失有3方面的含义:1)指用户从一个电信运营商转网到其他电信运营商,这是流失分析的重点;2)指用户ARPU(指每用户月平均消费量)降低,从高价值用户成为低价值用户;3)指用户自然流失和被动流失。在用户流失分析中有两个核心变量:财务原因/非财务原因、主动流失/被动流失。用户流失可以相应分为4种类型:其中非财务原因主动流失的用户往往是高价值的用户。他们会正常支付服务费用,并容易对市场活动有所响应。这种用户是电信企业真正需要保住的用户。
2.2 用户信息数据的预处理
数据挖掘的处理对象是大量的数据,这些数据一般存储在数据库系统中,是长期积累的结果。但往往不适合直接挖掘,需要做数据的预处理工作,一般包括数据的选择(选择相关的数据)、净化(消除冗余数据)、转换、归约等。数据预处理工作准备是否充分,对于挖掘算法的效率乃至正确性都有关键性的影响。
2.3 ID3算法的Java语言实现
根据ID3算法的策略和设计思想,用Java语言设计相应数据结构和模型类进行实现,由于需要结合Java语言的特性和设计规则才能使得实现的算法具有高效率和高准确性。
2.4 数据格式化过程对应配置信息的自动装载
由于数据的格式(即量化)过程需要依赖配置的配置规则,而各个字段配置的量化规则分布在不同的规则文件中,需要设计一种机制使其能自动识别自身对应的配置文件并自动加载,而不需要程序员手动去实现。
3 关于构件模型的描述
本文ID3 决策树分类算法应用于移动通信企业用户信息分析构件具体的实现过程分为以下几个步骤:
1)数据准备:从历史用户数据库表中抽取流失用户和忠诚用户作为训练集,对其他的流失用户和忠诚用户再进行抽样 得到测试集;流失用户与忠诚用户的比例与离网率相当。从移动通信业务数据库中的定单表、帐单表、用户信息表等相关表 中经过数据清洗抽取出用户自然属性、用户消费行为、用户通话情况等信息放入数据库相关的表中,并给表中的每个用户赋予是否流失、高价值或低价值用户、是否欠费的标志;
2)建立模型:使用改进的 ID3 决策树算法建立决策树模型;
3)验证和评价模型:使用测试集的数据对所生成的模型 进行验证和评价,如果模型的检验率、误检率、覆盖率以及花费的时间开销都能基本达到要求的话,则证明该模型是有效且合适的;
4)结果运用:根据决策树模型对当前在网高低价值用户区分、是否欠费分析预测、用户进行流失预测,将概率较大的用户名单及其对应的判断规则(原因)提交给业务部门加以用户关怀和用户挽留,提升用户价值、减少欠费用户数量,降低用户流失率。
4 性能测试分析
由于用户信息分析3个构件的设计原理相似,以下仅以用户流失预测分析构件为例进行性能的测试与分析。
4.1 测试集的研究与选择
训练集和测试集的选取一直是数据挖掘中有待研究的问题,至今尚未找到完全令人满意的解决方案。根据我们的实验和相关的数据挖掘实践,我们知道,对训练集轻微的扰动,都可能造成生成的决策树有较大的差异。训练集的合理选择一直是决策树挖掘中的一大难题。同时,测试集的选取又涉及分类准确性的评估问题。
随着业务的进行和时间的推移,数据源中的业务数据总是在不断地增加。如何从业务数据源中选取合适的数据集进行挖掘将成为一个难题。如果选择全部的、不断增涨中的数据源,则会造成:
1)由于在不同的时间存在不同的训练集,从而生成不同的分类器。即不同的训练集生成不同的决策树。同时,由于测试集的不同,就会产生不同的评估结果。
2)随着数据源中数据的快速增涨,决策树的生成速度和准确性的评估过程将会明显变慢,并最终可能超过现有硬件的承载能力,使人无法容忍。因而,通常的做法是对业务数据源进行抽样,选取出一个大小适中的数据集。保证选取出的数据集样本尽可能地包含有全部业务数据源的信息。
一般的方法是从业务数据源中随机地抽取出一些数据项组成挖掘数据集,这样抽取的样本才具有代表性。我们在本项目软件中使用的方法和步骤是:
1)首先,对业务数据源中的数据记录在与挖掘无关的某个属性(测试属性和预测属性之外的其它属性)上进行排序;
2)然后,从前至后随机地选取出一定数量的数据项至挖掘数据集中;
3) 选择不同的无关属性,重复以上两步,最终选取出大小合适的数据集。
但是,由于本项目中的用户流失为稀少结果,我们不得不采用过抽样的方法,希望较稀少的结果占模型集的10%~40%的比例附近。
4.2 实例测试结果
运用决策树分析结论来对公司主动流失用户的具体情况进行分析,可以看出在费用变化率大的人群中中年人群用户最易流失,这是因为这一部分人大多有相对稳定的工作、收入相对较高,基本上每人都有自己的移动通信工具,孩子较大且大多在外读书或已经上班,家中很少有人在,因使用频率低而销户。
实验结果表明,使用该算法进行用户信息的分析和预测是可行的和有效的,它可以帮助管理者更好地了解用户的流失、高低价值以及是否欠费受哪些因素的影响,以便在今后的市场营销中有针对性地对那些反面概率高的用户做好服务工作,防止用户的流失以及劣化引发的经营危机,这对于提高公司的竞争力、改善用户关系具有重要意义。
5 结论
由于数据挖掘的要求的海量数据和高性能执行效率,本构件在数据分析上尚不能承受大于万条以上的数据量,此数量级为本构件的性能瓶颈,因此需要本构件还需在今后的研究中运用数据结构的原理和思想进一步优化其设计从而提高数据量的瓶颈和执行速度。此外,由于用户分析需要用户的资料,但目前通信领域各通信运营商的用户资料尚属于秘密资料,因此无法获得完全真实的用户数据,暂只能以调研当前各运营商营业时使用的用户信息结构为依据进行数据的模拟,在今后的进一步研究中还需根据获得的调研信息不断晚上模拟数据的设计。从总体上看,本构件的设计已基本符合当前对构件化软件的开发要求和智能分析软件的功能需求,并成功地将二者进行结合,实现了对用户信息的智能化分析。
[1]关佶红,申浩蕻.基于软件重用技术的软件开发方法研究[J].计算机与现代化,2000(1).
[2]原欣伟,覃正,卢致远.基于耦合性分析的事务构件识别方法研究[J].控制与决策,2004(9).
[3]石双元,陈琼,吴新明.基于构件的信息开发框架[J].计算机工程与科学,2004(9).
[4]许峰丁珂,王志坚.基于JavaBeans的软件构件复用技术研究[J].计算机工程,2007(5).
[5]宋旭东,王毅,刘晓冰,张通学.基于构件的综合决策支持系统[J].计算机工程,2008(7).
[6]梁循.数据挖掘算法与应用[M].北京:北京大学出版社,2006.
[7]杨芙清,梅宏.构件化软件设计与实现[M].北京:清华大学出版社,2008.