客户行为序列分类及福利债务预防
Customer Activity Sequence Classification for Debt Prevention in Social Security
-
摘要: 序列数据存在于许多研究和应用领域。在生物信息处理中,DNA,RNA和蛋白质都是由分子序列构成;在网络安全分析中,主要分析对象是由TCP/IP包形成的数据序列;在文本数据挖掘中,大量的文字和标点符号形成数据序列。由于在序列数据中,可以用于分类的特征数量十分巨大,序列分类一直是一个极具挑战性的问题,许多学者对此进行了长期深入的研究,也提出了许多切实可行的算法。但是,现有的大部分序列分类算法都存在两方面的不足。第一,这些算法都是针对具体问题提出,分类模型往往依赖于具体的背景知识;第二,这些算法大都建立了相对复杂的模型来处理序列分类问题,而这些模型很难用于处理大数据集。
在社会保障领域,客户同福利部门的互动被称为客户的“行为”,一系列的互动纪录就构成了每一个客户独特的“行为”序列。另一方面,由于各种各样的原因,一些客户会收到并不属于他们的社会福利,这些福利最终会形成政府的债务。由于社会福利往往涉及巨大的社会财富,由此产生的债务数额也十分惊人,如何检测并防止债务的发生是福利部门以及整个政府面临的一个重要问题。社会保障领域的分析专家相信,客户的行为序列和债务之间存在紧密的联系,如何利用客户的行为序列构建分类器并预测债务的发生就成为数据挖掘在社会保障领域一个紧迫而又富有挑战性的研究课题。同时,由于社会保障是一种面向整个社会的行为,需要处理的数据量十分庞大,现有的序类分类算法无法对如此大量的客户行为序列进行分析和分类。
近年来,数据挖掘领域取得了许多令人瞩目的进展,研究者提出了许多处理大型数据库的高效算法,也为序列分类的研究提供了新的思路。从数据挖掘的角度来看,序列分类问题可以表达为,用数据库中频繁出现的序列模式来构建分类器从而实现分类和预测的目的。然而,在大型数据库上挖掘所有可能的序列模式仍然是一项极端费时的工作,而且大量的待选模式使得诸如模式删减,覆盖检验等后续处理都十分费时。
事实上,在序列分类问题上,挖掘那些具有强分类特性的序列模式远比寻找所有可能的模式重要。在这篇论文中,我们提出了一种新型的序列分类的分层算法,每层子分类器及最终的序列分类器的构建方法如下。首先,在序列挖掘的过程中,不是遍历所有可能的序列模式,而是只搜索那些同目标类别强烈关联的序列模式。在这一步,我们采用了一种激进策略,从而大大缩小了搜索空间。其次,针对这些挖掘出来的序列模式,分别进行模式删减和覆盖检验,只有通过覆盖检验的模式才被用于构建子分类器。当构建了一层子分类器以后,那些没有被覆盖的样本被反馈回序列挖掘阶段并更新兴趣度测量的参数以寻找新的序列模式,挖掘得到的序列模式再经过模式删减和覆盖检验以构建下一层子分类器。这个过程一直持续到所有的样本都被序列模式覆盖或者达到预设的兴趣度参数阈值,最终的序列分类器就是由上述多层子分类器构成。
在我们提出的算法框架下,整个算法的搜索空间极大地减小,同时很好地保持了分类器的性能。我们将提出的算法应用于澳大利亚联邦政府的社会保障部门Centrelink,利用客户的行为序列对债务发生的可能性进行预测,在真实环境中的大数据集上进行的测试表明我们的算法具有很高的效率和很好的分类效果。Abstract: From a data mining perspective, sequence classification is to build a classifier using frequent sequential patterns. However, mining for a complete set of sequential patterns on a large dataset can be extremely time-consuming and the large number of patterns discovered also makes the pattern selection and classifier building very time-consuming. The fact is that, in sequence classification, it is much more important to discover discriminative patterns than a complete pattern set. In this paper, we propose a novel hierarchical algorithm to build sequential classifiers using discriminative sequential patterns. Firstly, we mine for the sequential patterns which are the most strongly correlated to each target class. In this step, an aggressive strategy is employed to select a small set of sequential patterns. Secondly, pattern pruning and serial coverage test are done on the mined patterns. The patterns that pass the serial test are used to build the sub-classifier at the first level of the final classifier. And thirdly, the training samples that cannot be covered are fed back to the sequential pattern mining stage with updated parameters. This process continues until predefined interestingness measure thresholds are reached, or all samples are covered. The patterns generated in each loop form the sub-classifier at each level of the final classifier. Within this framework, the searching space can be reduced dramatically while a good classification performance is achieved. The proposed algorithm is tested in a real-world business application for debt prevention in social security area. The novel sequence classification algorithm shows the effectiveness and efficiency for predicting debt occurrences based on customer activity sequence data.