羅 曦
閩江學(xué)院計(jì)算機(jī)科學(xué)系,福建福州 350108
我國(guó)的移動(dòng)通信企業(yè)經(jīng)過前幾年的高速發(fā)展,現(xiàn)在正步入緩慢增長(zhǎng)期,各移動(dòng)運(yùn)營(yíng)商之間的競(jìng)爭(zhēng)越來越激烈,用戶資源成了企業(yè)競(jìng)爭(zhēng)的焦點(diǎn)。大量而頻繁的用戶流失給企業(yè)造成了巨大的損失。成功挽留一個(gè)即將離網(wǎng)的用戶比重新發(fā)展一個(gè)新用戶所需的成本要低,因此,預(yù)測(cè)用戶流失的可能性,分析用戶流失原因,同時(shí)對(duì)現(xiàn)有用戶進(jìn)行進(jìn)一步細(xì)分以及高低價(jià)值用戶分析,采取針對(duì)性的措施調(diào)整市場(chǎng)策略,增加用戶滿意度,減少用戶流失,提高用戶消費(fèi)水平,充分占有市場(chǎng),是移動(dòng)通信企業(yè)在激烈市場(chǎng)競(jìng)爭(zhēng)中制勝的關(guān)鍵。
基于構(gòu)件的系統(tǒng)開發(fā)不僅能提高系統(tǒng)的質(zhì)量和效率而且能適應(yīng)業(yè)務(wù)流程的變化。同時(shí),構(gòu)件化軟件開發(fā)是軟件開發(fā)人員面對(duì)新市場(chǎng)需求的一種新型軟件研發(fā)技術(shù)和提高軟件生產(chǎn)效率和保證軟件質(zhì)量的新型策略。
通過數(shù)據(jù)挖掘技術(shù)對(duì)用戶特征分析是目前移動(dòng)通信企業(yè)商業(yè)智能技術(shù)應(yīng)用的熱點(diǎn)之一,開發(fā)此類構(gòu)件具有較大的實(shí)用價(jià)值。
本系統(tǒng)采用構(gòu)件化的軟件設(shè)計(jì)原理,選取數(shù)據(jù)挖掘中既高效又適合用于用戶信息分析的ID3算法,采用平臺(tái)獨(dú)立、可移植性強(qiáng)的Java技術(shù)實(shí)現(xiàn),基于JavaBean的處理構(gòu)件,每一個(gè)處理模塊都封裝成獨(dú)立的小型構(gòu)件,可方便的運(yùn)用與軟件開發(fā)以及自定義組裝個(gè)性化的新型構(gòu)件:
具體解決辦法如下:
1)采用基于構(gòu)件的設(shè)計(jì)與開發(fā)方法;
2)采用J2SE的平臺(tái)標(biāo)準(zhǔn)進(jìn)行JavaBean的設(shè)計(jì),既保證了構(gòu)件的安全性和高效性,又可以方便地進(jìn)行平臺(tái)移植和系統(tǒng)移植;
3)根據(jù)數(shù)據(jù)挖掘中數(shù)據(jù)的篩選原則,采用ID3算法,對(duì)用戶信息中的敏感信息進(jìn)行篩選;
4)采用XML和properties做配置文件,對(duì)構(gòu)件可能依賴的運(yùn)行環(huán)境進(jìn)行獨(dú)立化,實(shí)現(xiàn)軟件模塊的解耦;
5)采用基于數(shù)據(jù)挖掘中的ID3算法為底層設(shè)計(jì);
6)提供軟件開發(fā)者以使用接口,可方便的與現(xiàn)有系統(tǒng)進(jìn)行無縫集成;
7)對(duì)處理后的數(shù)據(jù)提供導(dǎo)出接口,可直接導(dǎo)出數(shù)據(jù),也可導(dǎo)出中間數(shù)據(jù)集以便用于與下一系統(tǒng)模塊的鏈接。
業(yè)務(wù)問題定義要明確數(shù)據(jù)挖掘技術(shù)解決的是何種問題,對(duì)用戶流失管理來說就是要定義何為流失。電信運(yùn)營(yíng)商的用戶流失有3方面的含義:1)指用戶從一個(gè)電信運(yùn)營(yíng)商轉(zhuǎn)網(wǎng)到其他電信運(yùn)營(yíng)商,這是流失分析的重點(diǎn);2)指用戶ARPU(指每用戶月平均消費(fèi)量)降低,從高價(jià)值用戶成為低價(jià)值用戶;3)指用戶自然流失和被動(dòng)流失。在用戶流失分析中有兩個(gè)核心變量:財(cái)務(wù)原因/非財(cái)務(wù)原因、主動(dòng)流失/被動(dòng)流失。用戶流失可以相應(yīng)分為4種類型:其中非財(cái)務(wù)原因主動(dòng)流失的用戶往往是高價(jià)值的用戶。他們會(huì)正常支付服務(wù)費(fèi)用,并容易對(duì)市場(chǎng)活動(dòng)有所響應(yīng)。這種用戶是電信企業(yè)真正需要保住的用戶。
數(shù)據(jù)挖掘的處理對(duì)象是大量的數(shù)據(jù),這些數(shù)據(jù)一般存儲(chǔ)在數(shù)據(jù)庫(kù)系統(tǒng)中,是長(zhǎng)期積累的結(jié)果。但往往不適合直接挖掘,需要做數(shù)據(jù)的預(yù)處理工作,一般包括數(shù)據(jù)的選擇(選擇相關(guān)的數(shù)據(jù))、凈化(消除冗余數(shù)據(jù))、轉(zhuǎn)換、歸約等。數(shù)據(jù)預(yù)處理工作準(zhǔn)備是否充分,對(duì)于挖掘算法的效率乃至正確性都有關(guān)鍵性的影響。
根據(jù)ID3算法的策略和設(shè)計(jì)思想,用Java語言設(shè)計(jì)相應(yīng)數(shù)據(jù)結(jié)構(gòu)和模型類進(jìn)行實(shí)現(xiàn),由于需要結(jié)合Java語言的特性和設(shè)計(jì)規(guī)則才能使得實(shí)現(xiàn)的算法具有高效率和高準(zhǔn)確性。
由于數(shù)據(jù)的格式(即量化)過程需要依賴配置的配置規(guī)則,而各個(gè)字段配置的量化規(guī)則分布在不同的規(guī)則文件中,需要設(shè)計(jì)一種機(jī)制使其能自動(dòng)識(shí)別自身對(duì)應(yīng)的配置文件并自動(dòng)加載,而不需要程序員手動(dòng)去實(shí)現(xiàn)。
本文ID3 決策樹分類算法應(yīng)用于移動(dòng)通信企業(yè)用戶信息分析構(gòu)件具體的實(shí)現(xiàn)過程分為以下幾個(gè)步驟:
1)數(shù)據(jù)準(zhǔn)備:從歷史用戶數(shù)據(jù)庫(kù)表中抽取流失用戶和忠誠(chéng)用戶作為訓(xùn)練集,對(duì)其他的流失用戶和忠誠(chéng)用戶再進(jìn)行抽樣 得到測(cè)試集;流失用戶與忠誠(chéng)用戶的比例與離網(wǎng)率相當(dāng)。從移動(dòng)通信業(yè)務(wù)數(shù)據(jù)庫(kù)中的定單表、帳單表、用戶信息表等相關(guān)表 中經(jīng)過數(shù)據(jù)清洗抽取出用戶自然屬性、用戶消費(fèi)行為、用戶通話情況等信息放入數(shù)據(jù)庫(kù)相關(guān)的表中,并給表中的每個(gè)用戶賦予是否流失、高價(jià)值或低價(jià)值用戶、是否欠費(fèi)的標(biāo)志;
2)建立模型:使用改進(jìn)的 ID3 決策樹算法建立決策樹模型;
3)驗(yàn)證和評(píng)價(jià)模型:使用測(cè)試集的數(shù)據(jù)對(duì)所生成的模型 進(jìn)行驗(yàn)證和評(píng)價(jià),如果模型的檢驗(yàn)率、誤檢率、覆蓋率以及花費(fèi)的時(shí)間開銷都能基本達(dá)到要求的話,則證明該模型是有效且合適的;
4)結(jié)果運(yùn)用:根據(jù)決策樹模型對(duì)當(dāng)前在網(wǎng)高低價(jià)值用戶區(qū)分、是否欠費(fèi)分析預(yù)測(cè)、用戶進(jìn)行流失預(yù)測(cè),將概率較大的用戶名單及其對(duì)應(yīng)的判斷規(guī)則(原因)提交給業(yè)務(wù)部門加以用戶關(guān)懷和用戶挽留,提升用戶價(jià)值、減少欠費(fèi)用戶數(shù)量,降低用戶流失率。
由于用戶信息分析3個(gè)構(gòu)件的設(shè)計(jì)原理相似,以下僅以用戶流失預(yù)測(cè)分析構(gòu)件為例進(jìn)行性能的測(cè)試與分析。
訓(xùn)練集和測(cè)試集的選取一直是數(shù)據(jù)挖掘中有待研究的問題,至今尚未找到完全令人滿意的解決方案。根據(jù)我們的實(shí)驗(yàn)和相關(guān)的數(shù)據(jù)挖掘?qū)嵺`,我們知道,對(duì)訓(xùn)練集輕微的擾動(dòng),都可能造成生成的決策樹有較大的差異。訓(xùn)練集的合理選擇一直是決策樹挖掘中的一大難題。同時(shí),測(cè)試集的選取又涉及分類準(zhǔn)確性的評(píng)估問題。
隨著業(yè)務(wù)的進(jìn)行和時(shí)間的推移,數(shù)據(jù)源中的業(yè)務(wù)數(shù)據(jù)總是在不斷地增加。如何從業(yè)務(wù)數(shù)據(jù)源中選取合適的數(shù)據(jù)集進(jìn)行挖掘?qū)⒊蔀橐粋€(gè)難題。如果選擇全部的、不斷增漲中的數(shù)據(jù)源,則會(huì)造成:
1)由于在不同的時(shí)間存在不同的訓(xùn)練集,從而生成不同的分類器。即不同的訓(xùn)練集生成不同的決策樹。同時(shí),由于測(cè)試集的不同,就會(huì)產(chǎn)生不同的評(píng)估結(jié)果。
2)隨著數(shù)據(jù)源中數(shù)據(jù)的快速增漲,決策樹的生成速度和準(zhǔn)確性的評(píng)估過程將會(huì)明顯變慢,并最終可能超過現(xiàn)有硬件的承載能力,使人無法容忍。因而,通常的做法是對(duì)業(yè)務(wù)數(shù)據(jù)源進(jìn)行抽樣,選取出一個(gè)大小適中的數(shù)據(jù)集。保證選取出的數(shù)據(jù)集樣本盡可能地包含有全部業(yè)務(wù)數(shù)據(jù)源的信息。
一般的方法是從業(yè)務(wù)數(shù)據(jù)源中隨機(jī)地抽取出一些數(shù)據(jù)項(xiàng)組成挖掘數(shù)據(jù)集,這樣抽取的樣本才具有代表性。我們?cè)诒卷?xiàng)目軟件中使用的方法和步驟是:
1)首先,對(duì)業(yè)務(wù)數(shù)據(jù)源中的數(shù)據(jù)記錄在與挖掘無關(guān)的某個(gè)屬性(測(cè)試屬性和預(yù)測(cè)屬性之外的其它屬性)上進(jìn)行排序;
2)然后,從前至后隨機(jī)地選取出一定數(shù)量的數(shù)據(jù)項(xiàng)至挖掘數(shù)據(jù)集中;
3) 選擇不同的無關(guān)屬性,重復(fù)以上兩步,最終選取出大小合適的數(shù)據(jù)集。
但是,由于本項(xiàng)目中的用戶流失為稀少結(jié)果,我們不得不采用過抽樣的方法,希望較稀少的結(jié)果占模型集的10%~40%的比例附近。
運(yùn)用決策樹分析結(jié)論來對(duì)公司主動(dòng)流失用戶的具體情況進(jìn)行分析,可以看出在費(fèi)用變化率大的人群中中年人群用戶最易流失,這是因?yàn)檫@一部分人大多有相對(duì)穩(wěn)定的工作、收入相對(duì)較高,基本上每人都有自己的移動(dòng)通信工具,孩子較大且大多在外讀書或已經(jīng)上班,家中很少有人在,因使用頻率低而銷戶。
實(shí)驗(yàn)結(jié)果表明,使用該算法進(jìn)行用戶信息的分析和預(yù)測(cè)是可行的和有效的,它可以幫助管理者更好地了解用戶的流失、高低價(jià)值以及是否欠費(fèi)受哪些因素的影響,以便在今后的市場(chǎng)營(yíng)銷中有針對(duì)性地對(duì)那些反面概率高的用戶做好服務(wù)工作,防止用戶的流失以及劣化引發(fā)的經(jīng)營(yíng)危機(jī),這對(duì)于提高公司的競(jìng)爭(zhēng)力、改善用戶關(guān)系具有重要意義。
由于數(shù)據(jù)挖掘的要求的海量數(shù)據(jù)和高性能執(zhí)行效率,本構(gòu)件在數(shù)據(jù)分析上尚不能承受大于萬條以上的數(shù)據(jù)量,此數(shù)量級(jí)為本構(gòu)件的性能瓶頸,因此需要本構(gòu)件還需在今后的研究中運(yùn)用數(shù)據(jù)結(jié)構(gòu)的原理和思想進(jìn)一步優(yōu)化其設(shè)計(jì)從而提高數(shù)據(jù)量的瓶頸和執(zhí)行速度。此外,由于用戶分析需要用戶的資料,但目前通信領(lǐng)域各通信運(yùn)營(yíng)商的用戶資料尚屬于秘密資料,因此無法獲得完全真實(shí)的用戶數(shù)據(jù),暫只能以調(diào)研當(dāng)前各運(yùn)營(yíng)商營(yíng)業(yè)時(shí)使用的用戶信息結(jié)構(gòu)為依據(jù)進(jìn)行數(shù)據(jù)的模擬,在今后的進(jìn)一步研究中還需根據(jù)獲得的調(diào)研信息不斷晚上模擬數(shù)據(jù)的設(shè)計(jì)。從總體上看,本構(gòu)件的設(shè)計(jì)已基本符合當(dāng)前對(duì)構(gòu)件化軟件的開發(fā)要求和智能分析軟件的功能需求,并成功地將二者進(jìn)行結(jié)合,實(shí)現(xiàn)了對(duì)用戶信息的智能化分析。
[1]關(guān)佶紅,申浩蕻.基于軟件重用技術(shù)的軟件開發(fā)方法研究[J].計(jì)算機(jī)與現(xiàn)代化,2000(1).
[2]原欣偉,覃正,盧致遠(yuǎn).基于耦合性分析的事務(wù)構(gòu)件識(shí)別方法研究[J].控制與決策,2004(9).
[3]石雙元,陳瓊,吳新明.基于構(gòu)件的信息開發(fā)框架[J].計(jì)算機(jī)工程與科學(xué),2004(9).
[4]許峰丁珂,王志堅(jiān).基于JavaBeans的軟件構(gòu)件復(fù)用技術(shù)研究[J].計(jì)算機(jī)工程,2007(5).
[5]宋旭東,王毅,劉曉冰,張通學(xué).基于構(gòu)件的綜合決策支持系統(tǒng)[J].計(jì)算機(jī)工程,2008(7).
[6]梁循.數(shù)據(jù)挖掘算法與應(yīng)用[M].北京:北京大學(xué)出版社,2006.
[7]楊芙清,梅宏.構(gòu)件化軟件設(shè)計(jì)與實(shí)現(xiàn)[M].北京:清華大學(xué)出版社,2008.