[林寧 張明一 陳德全 陳卓]
在市場競爭日漸激烈的大環(huán)境下,國內(nèi)運營商為提高產(chǎn)品創(chuàng)新性和業(yè)務(wù)多樣性投入較多精力。但隨著市場快速發(fā)展,加以近年來工信部出臺《攜號轉(zhuǎn)網(wǎng)服務(wù)管理規(guī)定》的催化作用,用戶離網(wǎng)即客戶流失問題日益顯著,引發(fā)運營商對運營模式的思考并提高制定客戶挽留策略的重視程度[1]。
根據(jù)Verbeke 研究數(shù)據(jù)分析可知[8],在電信行業(yè)中每當(dāng)用戶的離網(wǎng)率降低5%,相對應(yīng)地,運營商平均利潤將會增加25~85%。同時,對于新用戶入網(wǎng)的投入成本將明顯高于老用戶的維系成本[2,8]。因此運營商當(dāng)前最為關(guān)心的重點問題是減少離網(wǎng)用戶,用戶維持也成為了目前較為熱門的研究方向[9][10]。隨著大數(shù)據(jù)信息技術(shù)的發(fā)展,算法的創(chuàng)新以及科學(xué)工具的普及,以大數(shù)據(jù)為驅(qū)動力的數(shù)據(jù)挖掘技術(shù)能夠通過分析海量用戶數(shù)據(jù)直達(dá)用戶痛點。運營商可利用其所掌握海量用戶數(shù)據(jù),通過相關(guān)機(jī)器學(xué)習(xí)算法有效地挖掘出離網(wǎng)用戶特征,并根據(jù)離網(wǎng)狀況及時做出反應(yīng)并制定挽留策略[3,10]。
眾多研究學(xué)者對用戶離網(wǎng)行為分析采取不同思路,分析方式也從早期的數(shù)據(jù)庫聯(lián)機(jī)分析處理(Online Analytical Processing,OLAP)分析,到大數(shù)據(jù)時代數(shù)據(jù)挖掘算法在用戶離網(wǎng)預(yù)測中的應(yīng)用。通過分析結(jié)果,對具有離網(wǎng)意向的客戶制定并實施挽留策略,通過滿足用戶需求和提供福利等方法與企業(yè)客戶維持良好關(guān)系,保持用戶粘度[4]。目前的研究以傳統(tǒng)的算法為主,邏輯回歸、決策樹、SVM 等方法,在眾多分類算法中,決策樹和SVM 是公認(rèn)的具有較強(qiáng)泛化能力的算法,它們具有對數(shù)據(jù)質(zhì)量要求不高、訓(xùn)練過程中關(guān)注錯分樣本和自帶正則項防過擬合等優(yōu)勢[5,6]。基于深度學(xué)習(xí)算法的研究較少,主要集中于簡單神經(jīng)網(wǎng)絡(luò)。簡單神經(jīng)網(wǎng)絡(luò)具有層次結(jié)構(gòu)特征,輸入數(shù)據(jù)信息通過逐層獲取和篩選可獲得其特征表示,實現(xiàn)端到端學(xué)習(xí)[7]。但是在這種簡單神經(jīng)網(wǎng)絡(luò)中,信息在每層神經(jīng)元之間的傳遞是單向的,即只能由上一層傳遞給下一層,同時網(wǎng)絡(luò)對樣本的處理在每個時間點相互獨立,無法持久有效地表示歷史信息。雖然傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)為了使信息具有持久性進(jìn)而引入對歷史隱含信息的環(huán)狀依賴,但實際訓(xùn)練過程中反而易出現(xiàn)長期依賴問題。Greff 等人提出的長短期記憶(Long Shortterm Memory,LSTM)神經(jīng)網(wǎng)絡(luò)通過引入三種門結(jié)構(gòu)和細(xì)胞狀態(tài)選擇性地記憶過去的訓(xùn)練序列,并且細(xì)胞狀態(tài)能夠在處理過程中將較早時間點的有效信息傳播到較后時間點的細(xì)胞中來保持良好的性能,這在一定程度上減輕了短時記憶帶來的影響[11]。本文應(yīng)用LSTM 神經(jīng)網(wǎng)絡(luò)模型進(jìn)行用戶離網(wǎng)預(yù)測,并對相關(guān)問題進(jìn)行研究。
與國內(nèi)相比,國外對于用戶離網(wǎng)的研究起步較早,如IBM 通過建立模型為運營商分析用戶離網(wǎng)原因。通過使用模型,對特定的用戶進(jìn)行分類評估,預(yù)測用戶離網(wǎng)的可能性。針對高價值用戶,特別提出挽留策略,降低用戶的離網(wǎng)概率。
由于國內(nèi)多年電信業(yè)壟斷,在三次電信業(yè)重組前,對于用戶的行為及滿意度并未有所重視。但隨著電信業(yè)從完全壟斷到引入競爭,各大運營商集中精力搶占市場。開始試探性建立簡單的模型預(yù)測離網(wǎng)用戶,并通過運營商的后臺數(shù)據(jù)分析用戶的業(yè)務(wù)使用情況,識別判斷離網(wǎng)風(fēng)險,每月或者按季度產(chǎn)生離網(wǎng)高風(fēng)險用戶名單并發(fā)送給業(yè)務(wù)維系部門進(jìn)行挽留工作,針對部分高價值用戶進(jìn)行單獨外呼等有針對性的挽留。
國內(nèi)大部分運營商都已開展大數(shù)據(jù)業(yè)務(wù)的探索及研究,并成立了相關(guān)的研究中心,希望通過小規(guī)模的嘗試,探索業(yè)務(wù)發(fā)展的可能性,并逐步推廣,最終可能成立獨立子公司單獨運營。由于互聯(lián)網(wǎng)企業(yè)OTT(Over The Top)業(yè)務(wù)的興起,運營商傳統(tǒng)業(yè)務(wù)正在逐漸衰退,因此需要充分挖掘用戶價值,充分利用自身擁有的大量用戶數(shù)據(jù)對用戶進(jìn)行離網(wǎng)分析及預(yù)測。本文通過對用戶數(shù)據(jù)挖掘進(jìn)行研究,嘗試輔助運營商彌補(bǔ)自身在這此類應(yīng)用研究中所存在缺陷,具有一定的現(xiàn)實意義。
用戶離網(wǎng)預(yù)測既是一個預(yù)測問題,也是一個二分類問題。從性別、年齡、教育、在網(wǎng)時長、統(tǒng)計期間內(nèi)最高單月通話時長、統(tǒng)計期間結(jié)束月份與開始月份相比通話時長增加數(shù)量、該用戶通話時長趨勢、電話公司營銷的數(shù)量、統(tǒng)計期間內(nèi)平均套餐類型等多種因素預(yù)測用戶是否處于離網(wǎng)狀態(tài)。用戶是否離網(wǎng)分為兩個狀態(tài),離網(wǎng)用1 表示,未離網(wǎng)用0 表示,因此是二分類問題,對于深度學(xué)習(xí)來說,則屬于有監(jiān)督學(xué)習(xí),建模思路如圖1 所示。本文基于用戶相關(guān)信息來預(yù)測其是否離網(wǎng),并通過引入深度學(xué)習(xí)經(jīng)典算法LSTM,提升用戶離網(wǎng)預(yù)測的準(zhǔn)確性,從而為運營商制定挽留客戶策略提供預(yù)警和參考。
圖1 建模思路
考慮到運營商用戶樣本基數(shù)越大,實驗結(jié)果將更具有代表性,本文在數(shù)據(jù)選擇時選取了以中國移動用戶作為代表的樣本數(shù)據(jù)。本文考慮性別、年齡、教育、在網(wǎng)時長、統(tǒng)計期間內(nèi)最高單月通話時長等18 個因素,所考慮因素較多,運用算法進(jìn)行計算時首先需要將相關(guān)因素進(jìn)行數(shù)據(jù)量化,具體的處理方法如表1 所示。
表1 用戶離網(wǎng)相關(guān)影響因素的數(shù)據(jù)量化
一個用戶具有以下數(shù)據(jù)特征:用戶ID 為39244924,已流失,性別男,年齡45 歲,碩士,年收入52 萬,7 年在網(wǎng)時長,飛信用戶,統(tǒng)計期間內(nèi)最高單月通話時長214.5 分鐘,統(tǒng)計期間結(jié)束月份與開始月份相比通話時長減少119 分鐘,該用戶通話時長呈現(xiàn)出下降態(tài)勢,電話公司營銷0 次,最近一個月未被營銷過,統(tǒng)計時間開始時套餐類型為第3 檔最高通話350 分鐘,統(tǒng)計期間內(nèi)平均套餐類型為第3 檔套餐,統(tǒng)計結(jié)束時和開始時套餐無變化,統(tǒng)計期間未降低套餐,撥打10086 次數(shù)為1 次,進(jìn)行數(shù)據(jù)量化的指標(biāo)為[用戶ID,流失,性別,年齡,教育,收入,在網(wǎng)時長,飛信,統(tǒng)計期間內(nèi)最高單月通話時長,統(tǒng)計期間結(jié)束月份與開始月份相比通話時長增加數(shù)量,該用戶通話時長是否呈現(xiàn)出上升態(tài)勢,該用戶通話時長是否呈現(xiàn)出下降態(tài)勢,電話公司營銷的數(shù)量,最近一個月是否被營銷過,統(tǒng)計時間開始時套餐類型,統(tǒng)計期間內(nèi)平均套餐類型,統(tǒng)計結(jié)束時和開始時套餐的變化,統(tǒng)計期間是否提高套餐,統(tǒng)計期間是否降低套餐,撥打10086 的次數(shù)],進(jìn)行數(shù)據(jù)量化后為[39244924,1,1,20,0,21,5,0,274,-371,0,1,2,1,3,2,2,1,0,1]。
數(shù)據(jù)量化后,數(shù)據(jù)預(yù)處理過程如表2 所示,模型讀取數(shù)據(jù)集,取第一列為索引,第二列作為目標(biāo)值,然后將刪除這兩列后的數(shù)據(jù)作為模型的輸入。將數(shù)據(jù)集按4:1 的比例分為訓(xùn)練集和測試集,在實際訓(xùn)練過程中,對訓(xùn)練樣本進(jìn)行隨機(jī)切割,按3:1 的比例得到訓(xùn)練集和驗證集,驗證集的作用為在每次訓(xùn)練評估模型的泛化能力,防止過擬合。對于深度學(xué)習(xí)而言,要對同一數(shù)據(jù)集進(jìn)行多次訓(xùn)練,每次訓(xùn)練時訓(xùn)練集和驗證集包含的數(shù)據(jù)均不同,以提高模型的泛化能力。測試集用以展示最終訓(xùn)練的模型的泛化能力。
表2 數(shù)據(jù)預(yù)處理過程
本文引入經(jīng)典深度學(xué)習(xí)算法LSTM 與常用的傳統(tǒng)機(jī)器學(xué)習(xí)算法決策樹進(jìn)行對比,以展現(xiàn)LSTM 算法在離網(wǎng)預(yù)測問題中具有更好的性能。
本文決策樹采用算法為分類與回歸樹(Classification And Regression Tree,CART)算法,其分類與回歸樹本質(zhì)是一樣的,構(gòu)建過程都是逐步分割特征空間,預(yù)測過程都是從根節(jié)點開始一層一層的判斷直到葉子節(jié)點給出預(yù)測結(jié)果。CART 分類樹的切分點的依據(jù)是基尼(GINI)指數(shù),GINI 是介于0 和1 的數(shù)字,其中0 代表完全相等,而1代表完全不等,GINI 指數(shù)越小,模型中的樣本被分錯的概率越小,模型的性能越好。在CART 算法中,把一個隨機(jī)樣本在其子集上被分錯的可能性用GINI 純度來表示。GINI 不純度可以用該樣本被選中的概率乘以被分錯的概率。當(dāng)某個節(jié)點的所有樣本在同一個類時,GINI 不純度為0。在此次分類問題中,根據(jù)數(shù)據(jù)因素數(shù)量分為18 個類,當(dāng)前樣本點屬于上一層某個因素的概率為Pk,則GINI 指數(shù)的計算方法如公式(1)所示。
如果樣本集合年齡根據(jù)某個年齡段特征A 被分割為20 到30 歲的特征D1,10 到20 歲的特征D2兩個部分,那么在特征A 的條件下,集合D 的GINI 指數(shù)計算如公式(2)所示。
決策樹的示意圖如圖2 所示,某層特征因素根據(jù)公式(1)計算的GINI 指數(shù)大小決定該特征是否能夠成為此節(jié)點的子節(jié)點。數(shù)據(jù)集D 根據(jù)特征A 可形成多種分類,根據(jù)公式(2)可計算出每一類的GINI(D,A)值,根據(jù)GINI 指數(shù)計算結(jié)果的最小值決定分類?;诖耍赏ㄟ^GINI 指數(shù)來確定某個特征的最優(yōu)切分點。以GINI 指數(shù)最小為目標(biāo),根據(jù)公式(1)和公式(2)不斷迭代形成最終的決策樹。
圖2 決策樹分類示意圖
神經(jīng)網(wǎng)絡(luò)是由大量簡單的神經(jīng)元連接組成的復(fù)雜網(wǎng)絡(luò),是一個高度非線性動力學(xué)系統(tǒng),能描述人腦系統(tǒng)的很多基本特征和實際物理世界的各種現(xiàn)象。LSTM 神經(jīng)網(wǎng)絡(luò)是一種特殊的RNN 網(wǎng)絡(luò),該神經(jīng)網(wǎng)絡(luò)設(shè)計出來是為了解決長依賴問題。該神經(jīng)網(wǎng)絡(luò)由 Hochreiter 和Schmidhuber于1997 年引入[12],并由被多次改進(jìn)和普及來解決了各種各樣的問題,直到目前還被廣泛應(yīng)用。
LSTM 通過一個記憶門和一個遺忘門來有選擇性決定丟棄無用信息,保留有用信息,因此可以更好的捕捉到較長距離的依賴關(guān)系。如圖3 所示,LSTM 模型是由t 時刻的用戶離網(wǎng)的影響因素χt,細(xì)胞狀態(tài)Ct,臨時細(xì)胞狀態(tài)C%t,隱層狀態(tài)ht,遺忘門ft,記憶門it,輸出門Ot組成。根據(jù)前一時刻的隱藏層狀態(tài)ht-1和用戶離網(wǎng)的影響因素χt計算遺忘門的值ft、記憶門的值it和臨時細(xì)胞狀態(tài)的值C%t,如公式(3)~(5)所示。
圖3 LSTM 基本單元
其中:ht-1為前一時刻的隱藏層狀態(tài),σ為sigmoid函數(shù),W為模型權(quán)重,b為偏置項,tanh 為tanh 函數(shù)。
當(dāng)前時刻細(xì)胞狀態(tài)Ct由記憶門的值it,遺忘門的值ft,臨時細(xì)胞狀態(tài)的值C%t和上一刻細(xì)胞狀態(tài)Ct-1計算得到,如公式(6)所示。輸出門的值Ot和當(dāng)前時刻隱藏層狀態(tài)ht的計算如公式(7)和公式(8)所示。上一刻細(xì)胞狀態(tài)Ct-1表示歷史訓(xùn)練學(xué)到的信息,臨時細(xì)胞狀態(tài)C%t表示當(dāng)前訓(xùn)練學(xué)到的信息,通過遺忘門ft和記憶門it控制上一刻細(xì)胞狀態(tài)Ct-1和臨時細(xì)胞狀態(tài)C%t的權(quán)重,從而有選擇的遺忘部分歷史信息或者記憶新的信息,生成當(dāng)前時刻細(xì)胞狀態(tài)Ct,并結(jié)合輸出門Ot生成隱藏層狀態(tài)ht,Ct和ht當(dāng)做下一個LSTM 單元的輸入,從而實現(xiàn)參數(shù)的傳遞以及解決長依賴問題。
本文設(shè)計的LSTM 模型如圖4 所示,輸入為性別、年齡、教育、在網(wǎng)時長等18 個因素,采用50 層的LSTM基本單元,每個單元的輸出使用線性整流函數(shù)(Rectified Linear Unit,ReLU)作為激活函數(shù),ReLU 函數(shù)如公式(9)所示,用以實現(xiàn)模型的非線性化,然后使用16 層的全連接層,激活函數(shù)為ReLU,增強(qiáng)模型的非線性程度。
圖4 設(shè)計的LSTM 模型
輸出層的激活函數(shù)為sigmoid 函數(shù),如公式(10)所示,其將輸出值限制在[0,1]范圍內(nèi),在本算法中,訓(xùn)練完成后的模型進(jìn)行預(yù)測時,將大于等于0.5 的值視為離網(wǎng),將小于0.5的值視為未離網(wǎng),輸出值O(x)如公式(11)所示。
損失函數(shù)L(O)為二值交叉熵,通過預(yù)測值和標(biāo)簽y計算損失函數(shù)L(O),如公式(11)所示,以降低損失函數(shù)L(O)為目標(biāo)函數(shù),利用梯度下降算法進(jìn)行迭代,本文選用的梯度下降算法為RMSProp(Root Mean Square Prop)。
其中:y是標(biāo)簽(1 或0),O是預(yù)測值。
本文選取準(zhǔn)確率,精確率、召回率以及調(diào)和平均數(shù)F1 值作為衡量機(jī)器學(xué)習(xí)模型的性能度量的指標(biāo),有時精確率和召回率會產(chǎn)生矛盾,因此選擇調(diào)和平均數(shù)F1 值用以綜合考慮精確率和召回率兩個指標(biāo)。本文利用3463 條數(shù)據(jù),其中訓(xùn)練集,驗證集和測試集的比例為6:2:2,首先利用決策樹算法進(jìn)行訓(xùn)練和測試,所得結(jié)果如表3 所示。
表3 決策樹計算結(jié)果
然后利用設(shè)計的LSTM 算法進(jìn)行計算,RMSProp 優(yōu)化算法學(xué)習(xí)率為0.01,該算法有兩個需要調(diào)節(jié)的超參數(shù)epoch 和batch size,epoch 代表數(shù)據(jù)集被訓(xùn)練的次數(shù),batch_size 指更新梯度需訓(xùn)練的數(shù)據(jù)量。首先將epoch 設(shè)為200,考慮batch_size 的影響,考慮值為2,4,8,16,32,所得batch size 與F1 值的關(guān)系如圖5 所示。
圖5 batch size 與F1 值的關(guān)系
如圖5 所示,batch size 取4 時F1 值比較高,考慮epoch 的影響,將epoch 設(shè)置一個比較大的值,通過分析迭代過程中訓(xùn)練集和驗證集的損失(loss)曲線來確定一個較好的epoch 值,選擇epoch 為1000 時,所得結(jié)果如圖6 所示。
圖6 訓(xùn)練過程損失曲線
從圖6 可以看出,隨著epoch 的增加,訓(xùn)練集的損失值穩(wěn)步下降,但是驗證集的波動比較大,在epoch 為400 左右時,驗證集的損失值接近穩(wěn)定的最低點,epoch超過400 后,驗證集的損失值呈上升趨勢,說明訓(xùn)練使得LSTM 模型呈現(xiàn)過擬合的狀態(tài)。因此選取epoch 值為400,batch size 值為4,所得結(jié)果如表4 所示。
表4 LSTM 計算結(jié)果
在機(jī)器學(xué)習(xí)的計算結(jié)果中,測試集的結(jié)果體現(xiàn)的是模型的泛化能力,因此測試集的結(jié)果更能體現(xiàn)算法的性能,對比表3和表4,LSTM模型相比于決策樹,準(zhǔn)確率、精確率、召回率、F1 值等各項指標(biāo)均有較大的提升。
文章通過設(shè)計LSTM 深度學(xué)習(xí)模型,與傳統(tǒng)機(jī)器學(xué)習(xí)算法決策樹算法進(jìn)行對比,驗證了LSTM 模型應(yīng)用于用戶離網(wǎng)預(yù)測問題的有效性。文章利用3 463條數(shù)據(jù),包含性別、年齡、教育、在網(wǎng)時長、統(tǒng)計期間內(nèi)最高單月通話時長等18 個因素,并將因素進(jìn)行數(shù)據(jù)量化,便于算法計算,將訓(xùn)練集,驗證集和測試集的比例劃分為6:2:2,然后針對用戶離網(wǎng)預(yù)測問題設(shè)計決策樹和LSTM 模型,用準(zhǔn)確率、精確率、召回率、調(diào)和平均數(shù)F1 值四個參數(shù)衡量模型的性能。對于LSTM 模型,通過計算分析確定兩個超參數(shù)epoch 為400 和batch size 為4。兩個模型的測試集預(yù)測結(jié)果顯示,LSTM 在準(zhǔn)確率、精確率、召回率、調(diào)和平均數(shù)F1 值等四個指標(biāo)均優(yōu)于決策樹,因此利用LSTM 進(jìn)行用戶離網(wǎng)預(yù)測具有一定的應(yīng)用價值。
本文驗證了在離網(wǎng)預(yù)測問題上LSTM 比決策樹具有更好的性能,但是本文考慮的18 種影響因素,每種影響因素對于用戶離網(wǎng)預(yù)測精度的貢獻(xiàn)未知,因此下一步研究方向為利用深度學(xué)習(xí)算法計算每種影響因素的貢獻(xiàn)量,剔除次要影響因素,保留主要影響因素,可以減少模型的復(fù)雜度,并且可以向運營商展示導(dǎo)致用戶離網(wǎng)的主要原因,輔助運營商有針對性的調(diào)整策略。