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