上海聯(lián)通大數(shù)據(jù)與機器學(xué)習(xí)驅(qū)動的離網(wǎng)預(yù)測模型

責(zé)任編輯:王李通

作者:沈可 劉志剛 姚健 袁明軒 曾嘉

2015-07-10 09:12:05

摘自:《程序員》電子刊

電信運營商提供基礎(chǔ)通信管道連接每一位用戶。每天數(shù)以億計的用戶會在管道中留下通信行為數(shù)據(jù),構(gòu)成運營商大數(shù)據(jù)。如何挖掘大數(shù)據(jù)來智能支撐運營商各項業(yè)務(wù)并進行業(yè)務(wù)轉(zhuǎn)型是一個需要深入思考的問題。

電信運營商提供基礎(chǔ)通信管道連接每一位用戶。每天數(shù)以億計的用戶會在管道中留下通信行為數(shù)據(jù),構(gòu)成運營商大數(shù)據(jù)。如何挖掘大數(shù)據(jù)來智能支撐運營商各項業(yè)務(wù)并進行業(yè)務(wù)轉(zhuǎn)型是一個需要深入思考的問題。本文主要介紹如何利用大數(shù)據(jù)與機器學(xué)習(xí)來支撐用戶離網(wǎng)管理。

隨著通信行業(yè)競爭日益激烈,每月都有大量的用戶離網(wǎng),即不再使用運營商的通信服務(wù)。圖1展示的是上海聯(lián)通近一年預(yù)付費用戶流失率統(tǒng)計圖。從圖中可以看出預(yù)付費用戶由于沒有綁定合約,流失率比后付費用戶要高很多,平均每月有大約9.4%的預(yù)付費用戶流失,導(dǎo)致營收大幅下降。此外,吸引 新用戶入網(wǎng)的成本要比維系挽留有離網(wǎng)傾向用戶的成本要高大約3倍,因此使用數(shù)據(jù)挖掘方法進行離網(wǎng)預(yù)測,穩(wěn)定在網(wǎng)用戶數(shù)是一項至關(guān)重要的任務(wù)。本文驗證了使用運營商大數(shù)據(jù)能顯著提高離網(wǎng)預(yù)測精度。上海聯(lián)通對高離網(wǎng)傾向用戶進行維挽活動,有效降低離網(wǎng)率。由于預(yù)付費離網(wǎng)用戶基數(shù)龐大,每降低1%離網(wǎng)率,就能每年額外獲得數(shù)百萬元營收。同時,通過大數(shù)據(jù)驅(qū)動的離網(wǎng)預(yù)測模型,我們還回答了關(guān)于大數(shù)據(jù)的三個科學(xué)問題:

Volume:是不是訓(xùn)練數(shù)據(jù)量越大,預(yù)測模型精度越高?

Variety:是不是特征種類越多,預(yù)測模型精度越高?

Velocity:是不是訓(xùn)練數(shù)據(jù)更新越快,預(yù)測模型精度越高?

  圖1 預(yù)付費/后付費用戶流失率統(tǒng)計圖

運營商大數(shù)據(jù)平臺

在大數(shù)據(jù)時代,如果把數(shù)據(jù)比作黃金的話,那么運營商就是一座大金礦,每天都會產(chǎn)生TB(Terabyte)級別的數(shù)據(jù)。我們使用的運營商數(shù)據(jù)大致來自兩個系統(tǒng),BSS(業(yè)務(wù)支持系統(tǒng))和OSS(運營支持系統(tǒng))。BSS是運營商向用戶開展業(yè)務(wù)的主要IT組成部分。OSS是電信服務(wù)提供商用來管理通信網(wǎng)絡(luò)的系統(tǒng)。

通常,這兩個系統(tǒng)分開獨立工作并產(chǎn)生自己的數(shù)據(jù)。大數(shù)據(jù)平臺把兩個獨立系統(tǒng)的數(shù)據(jù)整合起來支撐數(shù)據(jù)驅(qū)動的運營業(yè)務(wù)決策。BSS的數(shù)據(jù)主要分為四個部分:用戶信息/行為數(shù)據(jù)(User Base/Behavior)、投訴數(shù)據(jù)(Compliant)、賬單數(shù)據(jù)(Billing)和通話/短信數(shù)據(jù)(Voice/SMS CDR)。這些數(shù)據(jù)涵蓋了用戶個人的信息、通話行為(包括通話連接基站號、通話時間和時長等)、短信行為、消費情況、賬戶情況、投訴行為等等。每天BSS能夠新生成大約20GB數(shù)據(jù)。OSS的數(shù)據(jù)大致可以分為三塊:電路交換數(shù)據(jù)(Circuit Switch,CS)、分組交換數(shù)據(jù)(Package Switch,PS)和測量報告數(shù)據(jù)(Measurement Report,MR)。CS數(shù)據(jù)描述的是用戶的通話質(zhì)量,比如掉話率、通話連接的成功率等。PS數(shù)據(jù)通常也被叫做MBB數(shù)據(jù)(Mobile BroadBand),它描述了用戶連接網(wǎng)絡(luò)的情況,比如上網(wǎng)速度、連接成功率和移動搜索文本信息等。MR數(shù)據(jù)來自無線電網(wǎng)絡(luò)控制器(Radio NetworkController,RNC),這些數(shù)據(jù)可以用來粗略的給用戶定位,獲知用戶運動的軌跡。每天OSS產(chǎn)生大約2TB數(shù)據(jù),超過大數(shù)據(jù)平臺存儲數(shù)據(jù)的90%。除了BSS和OSS數(shù)據(jù),我們還用爬蟲獲取了一些互聯(lián)網(wǎng)數(shù)據(jù),比如地圖數(shù)據(jù)和一些社交網(wǎng)絡(luò)數(shù)據(jù)進行整合。

  圖2 大數(shù)據(jù)平臺架構(gòu)圖

圖2展示的是運營商大數(shù)據(jù)平臺的整體架構(gòu)。我們將原始數(shù)據(jù)存儲在了Hadoop分布式文件系統(tǒng)中(HDFS)。然后再用Hive和Spark進行特征生成和處理工作。這些構(gòu)成了數(shù)據(jù)層(DataLayer),負責(zé)定期收集更新來自 BSS和OSS的數(shù)據(jù)表。數(shù)據(jù)層通過數(shù)據(jù)總線連接到能力層(CapabilityLayer),我們在能力層構(gòu)建了兩種不同的模型,業(yè)務(wù)部分和網(wǎng)絡(luò)部分。通過設(shè)計和業(yè)務(wù)相關(guān)的特征加上數(shù)據(jù)挖掘和機器學(xué)習(xí)算法,能力層不但能夠支持內(nèi)部應(yīng)用(比如精準(zhǔn)營銷、維挽用戶和網(wǎng)絡(luò)優(yōu)化等),還能支持一些外部應(yīng)用(比如數(shù)據(jù)開放等)。本文介紹由大數(shù)據(jù)驅(qū)動的離網(wǎng)預(yù)測模型屬于應(yīng)用層(Application Layer),圖2用紅色的虛線標(biāo)明與數(shù)據(jù)層和能力層的關(guān)系。

離網(wǎng)預(yù)測模型

  圖3 離網(wǎng)預(yù)測和維挽系統(tǒng)

離網(wǎng)預(yù)測模型的流程結(jié)構(gòu)如圖3所示。(1)HDFS和Spark負責(zé)原始數(shù)據(jù)的存儲和管理。(2)特征工程模塊將原始數(shù)據(jù)處理成和離網(wǎng)相關(guān)的結(jié)構(gòu)化特征,用作分類器的輸入。(3)利用分類器訓(xùn)練出來的模型預(yù)測未來有離網(wǎng)傾向的用戶,按照離網(wǎng)傾向高低排名,根據(jù)這個名單進行個性化維挽。(4)將用戶維挽的結(jié)果反饋到模型中形成閉環(huán),不斷提高模型預(yù)測容易維挽的離網(wǎng)用戶精度。模型主要分為了三個主要模塊:訓(xùn)練/驗證數(shù)據(jù)標(biāo)注、特征工程和分類器學(xué)習(xí)。其中最重要的是特征工程模塊,當(dāng)然其他兩個模塊也會影響最后的結(jié)果,下面就從這三個方面來分別闡述我們的工作。

  圖4 預(yù)付費用戶進入充值期后充值時間分布圖

訓(xùn)練/測試數(shù)據(jù)標(biāo)注

數(shù)據(jù)標(biāo)注因為與需求直接掛鉤,所以是數(shù)據(jù)挖掘中非常重要的一步。如果訓(xùn)練數(shù)據(jù)標(biāo)注出現(xiàn)錯誤,那么分類器精度再高也無法滿足最初的需求。在離網(wǎng)問題中,我們需要在歷史記錄中找出所有離網(wǎng)的用戶,并標(biāo)注為1,其余的在網(wǎng)用戶標(biāo)注為0,這樣離網(wǎng)預(yù)測問題就轉(zhuǎn)化為一個二值分類問題。圖4顯示一年內(nèi)預(yù)付費用戶進入充值期(欠費)后充值時間的分布。圖中橫軸表示預(yù)付費用戶進入充值期后再充值的天數(shù),縱軸表示用戶的人數(shù)。從圖中可以觀察出以上的在網(wǎng)預(yù)付費用戶在欠費后15天內(nèi)就會再充值(即在網(wǎng)用戶)。因此,如果預(yù)付費用戶欠費15天內(nèi)還未充值,那么該用戶就可以被定義為離網(wǎng)用戶。

特征工程

根據(jù)數(shù)據(jù)的特點不同,所設(shè)計的特征可以被分成三部分:基本特征、CS特征、PS特征。其中,基本特征主要從BSS數(shù)據(jù)中抽取,之前很多的離網(wǎng)預(yù)測研究都僅使用了來自BSS數(shù)據(jù)的基本特征,例如賬戶余額、通話頻率、充值金額、投訴頻率等記錄。與基本特征不同,CS特征和PS特征都從OSS數(shù)據(jù)中抽取。我們選取了幾種具有代表性的上網(wǎng)/語音質(zhì)量特征和用戶位置特征,比如平均數(shù)據(jù)上傳/下載速率、最經(jīng)常出現(xiàn)的位置 (通過MR數(shù)據(jù)獲得)等。此外,我們還利用一些非監(jiān)督和半監(jiān)督算法從原始數(shù)據(jù)中生成一些比較復(fù)雜的特征?;趫D的特征、主題特征、二階特征。對每個用戶都生成一個維度的特征向量。

圖特征

用戶是否離網(wǎng)可能受周圍人的影響,因此我們可以通過用戶之間的關(guān)系來挖掘出離網(wǎng)傾向。我們構(gòu)建三個無向圖包括通話圖、短信圖和共同位置圖(同時出現(xiàn)在一個位置)。其中每個用戶是一個節(jié)點,用戶之間邊的權(quán)重代表他們聯(lián)系的強弱。例如,通話圖邊上的權(quán)重就是兩個人在一段時間內(nèi)(比如一個月)相互通話時間的總和。我們規(guī)定用戶之間一定要相互通話過才能有邊相連,這是為了排除一些推銷和騷擾電話(單向邊)的影響。我們用Hive/Spark SQL生成了上面描述的無向圖,用系數(shù)矩陣ε表示,ε={wm,n≠0}?;谶@個無向圖,我們使用PageRank和 Label Propagation算法各自生成一維特征。由于傳統(tǒng)的PageRank算法的邊并沒有權(quán)重,我們使用了加權(quán)的 PageRank算法。Label Propagation算法將離網(wǎng)用戶標(biāo)注通過無向圖邊的權(quán)重向在網(wǎng)用戶傳遞。

主題特征

用戶在投訴和移動搜索中能夠產(chǎn)生很多文本數(shù)據(jù),從文本信息中也能挖掘出有價值的特征。在一段時間內(nèi)(比如一個月),每個用戶可以被認(rèn)為是一篇文檔,文檔中是他的投訴紀(jì)錄或者是搜索關(guān)鍵字。依據(jù)詞袋(BagofWords)文檔中單詞認(rèn)為是無序的,去掉一些無意思的詞后,我們將投訴和搜索內(nèi)容分別構(gòu)建了大小為2408和15974的單詞表。由于這個矩陣是高維稀疏矩陣,不適合直接作為特征加入我們的分類器。因此我們用概率主題建模算法LDA(Latent Dirichlet Allocation)從高維稀疏矩陣獲取低維稠密特征,在人工設(shè)定主題數(shù)K后,算法能夠把每個用戶高維的特征變成K維。

二階特征

在設(shè)計完全部的單項特征后,我們又在此基礎(chǔ)上對單項特征進行組合。原來的特征向量為Xm={x1,x2,…,xi,… ,xN},二階組合特征定義為xixj,這可以幫助我們發(fā)現(xiàn)特征之間的隱含關(guān)系。如果把這些二階的特征全部加入的話會使特征向量的維度變得很大,因此我們使用LIBFM模型來選擇在模型中權(quán)重貢獻最大的前20個二階特征。

分類器

我們使用隨機森林模型作為分類器,這是目前被廣泛使用的幾種分類器中預(yù)測性能較好,同時適合大規(guī)模并行運算,能夠快速學(xué)習(xí)稠密的特征向量。隨機森林 是由許多棵在特征子空間中構(gòu)建的決策樹組成的集合,每棵決策樹是一個子分類器,隨機森林平均所有子分類器的預(yù)測結(jié)果作為最終的預(yù)測結(jié)果。對于每一個待預(yù)測的用戶,隨機森林能夠給出離網(wǎng)概率(也就是該用戶標(biāo)注為1的概率)。隨機森林還能根據(jù)信息增益計算出每個特征的重要性排名,方便我們對特征進行評估,改進之前設(shè)計的特征。

實驗結(jié)果

利用搭建的運營商大數(shù)據(jù)平臺,我們驗證了大數(shù)據(jù)的3V特性能夠顯著提高離網(wǎng)預(yù)測的精度。下面會從Volume、Variety、Velocity三個方面驗證我們得出的結(jié)論。預(yù)測精度采用數(shù)據(jù)挖掘常用的Recall、Precision、AUC和Precision-RecallAUC指標(biāo)衡量。其中,對預(yù)測離網(wǎng)概率從大到小排序首個用戶計算Recall和Precision。

  圖5 增加訓(xùn)練數(shù)據(jù)量使得預(yù)測精度逐步提高

圖5回答了關(guān)于大數(shù)據(jù)的第一個問題:是不是訓(xùn)練數(shù)據(jù)量越大,預(yù)測模型的精度越高?這個實驗的訓(xùn)練集用的是1-6個月的數(shù)據(jù),測試集選用第個7月。一共進行6次實驗,每次都比前一次多用一個月的訓(xùn)練數(shù)據(jù)。為了保證實驗的準(zhǔn)確性,我們采用滑動窗口方式,又重復(fù)做了兩組(第二次選用2-7月做訓(xùn)練集,第8個月數(shù)據(jù)做測試集),將三次得到的結(jié)果取平均值。實驗結(jié)果如圖5所示,可以看到在訓(xùn)練數(shù)據(jù)量增加到初始的4倍時,預(yù)測精度還在不斷上升。這個實驗也說明了訓(xùn)練數(shù)據(jù)量的增多確實能夠提高預(yù)測的精度。

表1 增加數(shù)據(jù)種類實驗結(jié)果(U=2x105)

表1回答了關(guān)于大數(shù)據(jù)的第二個問題,是否加大抽取特征的多樣性,預(yù)測模型的精度就越高。每一種特征哪怕只提供很少關(guān)于預(yù)測結(jié)果的信息,累積起來也能增強模型的預(yù)測精度。實驗中,我們把之前提及的特征分為大類:F1)BSS特征;F2)CS特征;F3)PS特征;F4)通話網(wǎng)圖特征;F5)短信圖特征;F6)共現(xiàn)圖特征;F7)主題特征(投訴);F8)主體特征(移動搜索);F9)二階特征。實驗共做7組(選取不同月份,與上面的實驗類似),取結(jié)果的平均值。每組實驗先只用F1做基本特征,然后再用F1+F2,F(xiàn)1+F3,…,F(xiàn)1+F9,分別得到9組預(yù)測結(jié)果,最后將后8次預(yù)測精度與第1次比較。實驗結(jié)果如表1所示,加大特征多樣性能夠顯著提升模型預(yù)測精度。

表2 加快數(shù)據(jù)更新實驗結(jié)果(U=2x105)

表2回答了關(guān)于大數(shù)據(jù)的最后一個問題:是不是訓(xùn)練數(shù)據(jù)越新(處理速度越快),預(yù)測模型精度越高?這個問題用到離網(wǎng)預(yù)測模型也可以換種說法:需要多久用新來的數(shù)據(jù)更新分類器,從而使能模型能夠更好地捕捉用戶的離網(wǎng)行為?為了驗證這個問題,我們分別用用戶5天前、10天前、20天前和30天前的一個月數(shù)據(jù)來預(yù)測該用戶接下來30天是否會離網(wǎng)。實驗結(jié)果如表3所示。我們發(fā)現(xiàn)模型更新時間間隔越小,也就是訓(xùn)練數(shù)據(jù)更新速度越快,預(yù)測精度越高。但是,預(yù)測精度提高的幅度遠遠沒有之前加大訓(xùn)練數(shù)據(jù)量和增加特征多樣性那樣顯著。

表3 大數(shù)據(jù)驅(qū)動的離網(wǎng)預(yù)測模型最終性能

表3總結(jié)了大數(shù)據(jù)驅(qū)動的離網(wǎng)預(yù)測模型綜合表現(xiàn),采用4個月的訓(xùn)練數(shù)據(jù),所有從BSS和OSS數(shù)據(jù)抽取的特征,模型更新速度是30天。該模型在前5萬最高離網(wǎng)概率用戶的預(yù)測精度接近0.96,在前30萬最高離網(wǎng)概率用戶的預(yù)測精度超過0.5,滿足商用要求,為維系挽留用戶提供了較好的決策依據(jù)。

結(jié)論

本文從大數(shù)據(jù)3V的角度重新探索經(jīng)典的離網(wǎng)預(yù)測問題,展現(xiàn)了大數(shù)據(jù)的威力,訓(xùn)練數(shù)據(jù)的總量、多樣性和更新速度確實能夠顯著提升預(yù)測精度。其中,3V中的多樣性(Variety)起了最主要的作用,促使我們重視OSS數(shù)據(jù)的挖掘,而之前的研究主要集中于易于獲得的BSS數(shù)據(jù),對OSS數(shù)據(jù)并沒有很好地利用。OSS數(shù)據(jù)量的龐大并有較高的潛在商業(yè)價值,如果能對OSS數(shù)據(jù)進行有效的開發(fā),必將給運營商帶來持續(xù)的收益。本文中,我們整合BSS和OSS數(shù)據(jù)特征,并取得較好的離網(wǎng)預(yù)測效果也證明了這一點。最后,感謝蘇州大學(xué)計算機科學(xué)與技術(shù)學(xué)院兩位同學(xué)黃一清和朱方舟實現(xiàn)并調(diào)試離網(wǎng)預(yù)測模型的原型。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號