[林寧 張明一 陳德全 陳卓]
在市場競爭日漸激烈的大環境下,國內運營商為提高產品創新性和業務多樣性投入較多精力。但隨著市場快速發展,加以近年來工信部出臺《攜號轉網服務管理規定》的催化作用,用戶離網即客戶流失問題日益顯著,引發運營商對運營模式的思考并提高制定客戶挽留策略的重視程度[1]。
根據Verbeke 研究數據分析可知[8],在電信行業中每當用戶的離網率降低5%,相對應地,運營商平均利潤將會增加25~85%。同時,對于新用戶入網的投入成本將明顯高于老用戶的維系成本[2,8]。因此運營商當前最為關心的重點問題是減少離網用戶,用戶維持也成為了目前較為熱門的研究方向[9][10]。隨著大數據信息技術的發展,算法的創新以及科學工具的普及,以大數據為驅動力的數據挖掘技術能夠通過分析海量用戶數據直達用戶痛點。運營商可利用其所掌握海量用戶數據,通過相關機器學習算法有效地挖掘出離網用戶特征,并根據離網狀況及時做出反應并制定挽留策略[3,10]。
眾多研究學者對用戶離網行為分析采取不同思路,分析方式也從早期的數據庫聯機分析處理(Online Analytical Processing,OLAP)分析,到大數據時代數據挖掘算法在用戶離網預測中的應用。通過分析結果,對具有離網意向的客戶制定并實施挽留策略,通過滿足用戶需求和提供福利等方法與企業客戶維持良好關系,保持用戶粘度[4]。目前的研究以傳統的算法為主,邏輯回歸、決策樹、SVM 等方法,在眾多分類算法中,決策樹和SVM 是公認的具有較強泛化能力的算法,它們具有對數據質量要求不高、訓練過程中關注錯分樣本和自帶正則項防過擬合等優勢[5,6]。基于深度學習算法的研究較少,主要集中于簡單神經網絡。簡單神經網絡具有層次結構特征,輸入數據信息通過逐層獲取和篩選可獲得其特征表示,實現端到端學習[7]。但是在這種簡單神經網絡中,信息在每層神經元之間的傳遞是單向的,即只能由上一層傳遞給下一層,同時網絡對樣本的處理在每個時間點相互獨立,無法持久有效地表示歷史信息。雖然傳統的循環神經網絡(Recurrent Neural Network,RNN)為了使信息具有持久性進而引入對歷史隱含信息的環狀依賴,但實際訓練過程中反而易出現長期依賴問題。Greff 等人提出的長短期記憶(Long Shortterm Memory,LSTM)神經網絡通過引入三種門結構和細胞狀態選擇性地記憶過去的訓練序列,并且細胞狀態能夠在處理過程中將較早時間點的有效信息傳播到較后時間點的細胞中來保持良好的性能,這在一定程度上減輕了短時記憶帶來的影響[11]。本文應用LSTM 神經網絡模型進行用戶離網預測,并對相關問題進行研究。
與國內相比,國外對于用戶離網的研究起步較早,如IBM 通過建立模型為運營商分析用戶離網原因。通過使用模型,對特定的用戶進行分類評估,預測用戶離網的可能性。針對高價值用戶,特別提出挽留策略,降低用戶的離網概率。
由于國內多年電信業壟斷,在三次電信業重組前,對于用戶的行為及滿意度并未有所重視。但隨著電信業從完全壟斷到引入競爭,各大運營商集中精力搶占市場。開始試探性建立簡單的模型預測離網用戶,并通過運營商的后臺數據分析用戶的業務使用情況,識別判斷離網風險,每月或者按季度產生離網高風險用戶名單并發送給業務維系部門進行挽留工作,針對部分高價值用戶進行單獨外呼等有針對性的挽留。
國內大部分運營商都已開展大數據業務的探索及研究,并成立了相關的研究中心,希望通過小規模的嘗試,探索業務發展的可能性,并逐步推廣,最終可能成立獨立子公司單獨運營。由于互聯網企業OTT(Over The Top)業務的興起,運營商傳統業務正在逐漸衰退,因此需要充分挖掘用戶價值,充分利用自身擁有的大量用戶數據對用戶進行離網分析及預測。本文通過對用戶數據挖掘進行研究,嘗試輔助運營商彌補自身在這此類應用研究中所存在缺陷,具有一定的現實意義。
用戶離網預測既是一個預測問題,也是一個二分類問題。從性別、年齡、教育、在網時長、統計期間內最高單月通話時長、統計期間結束月份與開始月份相比通話時長增加數量、該用戶通話時長趨勢、電話公司營銷的數量、統計期間內平均套餐類型等多種因素預測用戶是否處于離網狀態。用戶是否離網分為兩個狀態,離網用1 表示,未離網用0 表示,因此是二分類問題,對于深度學習來說,則屬于有監督學習,建模思路如圖1 所示。本文基于用戶相關信息來預測其是否離網,并通過引入深度學習經典算法LSTM,提升用戶離網預測的準確性,從而為運營商制定挽留客戶策略提供預警和參考。

圖1 建模思路
考慮到運營商用戶樣本基數越大,實驗結果將更具有代表性,本文在數據選擇時選取了以中國移動用戶作為代表的樣本數據。本文考慮性別、年齡、教育、在網時長、統計期間內最高單月通話時長等18 個因素,所考慮因素較多,運用算法進行計算時首先需要將相關因素進行數據量化,具體的處理方法如表1 所示。

表1 用戶離網相關影響因素的數據量化
一個用戶具有以下數據特征:用戶ID 為39244924,已流失,性別男,年齡45 歲,碩士,年收入52 萬,7 年在網時長,飛信用戶,統計期間內最高單月通話時長214.5 分鐘,統計期間結束月份與開始月份相比通話時長減少119 分鐘,該用戶通話時長呈現出下降態勢,電話公司營銷0 次,最近一個月未被營銷過,統計時間開始時套餐類型為第3 檔最高通話350 分鐘,統計期間內平均套餐類型為第3 檔套餐,統計結束時和開始時套餐無變化,統計期間未降低套餐,撥打10086 次數為1 次,進行數據量化的指標為[用戶ID,流失,性別,年齡,教育,收入,在網時長,飛信,統計期間內最高單月通話時長,統計期間結束月份與開始月份相比通話時長增加數量,該用戶通話時長是否呈現出上升態勢,該用戶通話時長是否呈現出下降態勢,電話公司營銷的數量,最近一個月是否被營銷過,統計時間開始時套餐類型,統計期間內平均套餐類型,統計結束時和開始時套餐的變化,統計期間是否提高套餐,統計期間是否降低套餐,撥打10086 的次數],進行數據量化后為[39244924,1,1,20,0,21,5,0,274,-371,0,1,2,1,3,2,2,1,0,1]。
數據量化后,數據預處理過程如表2 所示,模型讀取數據集,取第一列為索引,第二列作為目標值,然后將刪除這兩列后的數據作為模型的輸入。將數據集按4:1 的比例分為訓練集和測試集,在實際訓練過程中,對訓練樣本進行隨機切割,按3:1 的比例得到訓練集和驗證集,驗證集的作用為在每次訓練評估模型的泛化能力,防止過擬合。對于深度學習而言,要對同一數據集進行多次訓練,每次訓練時訓練集和驗證集包含的數據均不同,以提高模型的泛化能力。測試集用以展示最終訓練的模型的泛化能力。

表2 數據預處理過程
本文引入經典深度學習算法LSTM 與常用的傳統機器學習算法決策樹進行對比,以展現LSTM 算法在離網預測問題中具有更好的性能。
本文決策樹采用算法為分類與回歸樹(Classification And Regression Tree,CART)算法,其分類與回歸樹本質是一樣的,構建過程都是逐步分割特征空間,預測過程都是從根節點開始一層一層的判斷直到葉子節點給出預測結果。CART 分類樹的切分點的依據是基尼(GINI)指數,GINI 是介于0 和1 的數字,其中0 代表完全相等,而1代表完全不等,GINI 指數越小,模型中的樣本被分錯的概率越小,模型的性能越好。在CART 算法中,把一個隨機樣本在其子集上被分錯的可能性用GINI 純度來表示。GINI 不純度可以用該樣本被選中的概率乘以被分錯的概率。當某個節點的所有樣本在同一個類時,GINI 不純度為0。在此次分類問題中,根據數據因素數量分為18 個類,當前樣本點屬于上一層某個因素的概率為Pk,則GINI 指數的計算方法如公式(1)所示。

如果樣本集合年齡根據某個年齡段特征A 被分割為20 到30 歲的特征D1,10 到20 歲的特征D2兩個部分,那么在特征A 的條件下,集合D 的GINI 指數計算如公式(2)所示。

決策樹的示意圖如圖2 所示,某層特征因素根據公式(1)計算的GINI 指數大小決定該特征是否能夠成為此節點的子節點。數據集D 根據特征A 可形成多種分類,根據公式(2)可計算出每一類的GINI(D,A)值,根據GINI 指數計算結果的最小值決定分類。基于此,可通過GINI 指數來確定某個特征的最優切分點。以GINI 指數最小為目標,根據公式(1)和公式(2)不斷迭代形成最終的決策樹。

圖2 決策樹分類示意圖
神經網絡是由大量簡單的神經元連接組成的復雜網絡,是一個高度非線性動力學系統,能描述人腦系統的很多基本特征和實際物理世界的各種現象。LSTM 神經網絡是一種特殊的RNN 網絡,該神經網絡設計出來是為了解決長依賴問題。該神經網絡由 Hochreiter 和Schmidhuber于1997 年引入[12],并由被多次改進和普及來解決了各種各樣的問題,直到目前還被廣泛應用。
LSTM 通過一個記憶門和一個遺忘門來有選擇性決定丟棄無用信息,保留有用信息,因此可以更好的捕捉到較長距離的依賴關系。如圖3 所示,LSTM 模型是由t 時刻的用戶離網的影響因素χt,細胞狀態Ct,臨時細胞狀態C%t,隱層狀態ht,遺忘門ft,記憶門it,輸出門Ot組成。根據前一時刻的隱藏層狀態ht-1和用戶離網的影響因素χt計算遺忘門的值ft、記憶門的值it和臨時細胞狀態的值C%t,如公式(3)~(5)所示。

圖3 LSTM 基本單元

其中:ht-1為前一時刻的隱藏層狀態,σ為sigmoid函數,W為模型權重,b為偏置項,tanh 為tanh 函數。
當前時刻細胞狀態Ct由記憶門的值it,遺忘門的值ft,臨時細胞狀態的值C%t和上一刻細胞狀態Ct-1計算得到,如公式(6)所示。輸出門的值Ot和當前時刻隱藏層狀態ht的計算如公式(7)和公式(8)所示。上一刻細胞狀態Ct-1表示歷史訓練學到的信息,臨時細胞狀態C%t表示當前訓練學到的信息,通過遺忘門ft和記憶門it控制上一刻細胞狀態Ct-1和臨時細胞狀態C%t的權重,從而有選擇的遺忘部分歷史信息或者記憶新的信息,生成當前時刻細胞狀態Ct,并結合輸出門Ot生成隱藏層狀態ht,Ct和ht當做下一個LSTM 單元的輸入,從而實現參數的傳遞以及解決長依賴問題。

本文設計的LSTM 模型如圖4 所示,輸入為性別、年齡、教育、在網時長等18 個因素,采用50 層的LSTM基本單元,每個單元的輸出使用線性整流函數(Rectified Linear Unit,ReLU)作為激活函數,ReLU 函數如公式(9)所示,用以實現模型的非線性化,然后使用16 層的全連接層,激活函數為ReLU,增強模型的非線性程度。


圖4 設計的LSTM 模型
輸出層的激活函數為sigmoid 函數,如公式(10)所示,其將輸出值限制在[0,1]范圍內,在本算法中,訓練完成后的模型進行預測時,將大于等于0.5 的值視為離網,將小于0.5的值視為未離網,輸出值O(x)如公式(11)所示。


損失函數L(O)為二值交叉熵,通過預測值和標簽y計算損失函數L(O),如公式(11)所示,以降低損失函數L(O)為目標函數,利用梯度下降算法進行迭代,本文選用的梯度下降算法為RMSProp(Root Mean Square Prop)。

其中:y是標簽(1 或0),O是預測值。
本文選取準確率,精確率、召回率以及調和平均數F1 值作為衡量機器學習模型的性能度量的指標,有時精確率和召回率會產生矛盾,因此選擇調和平均數F1 值用以綜合考慮精確率和召回率兩個指標。本文利用3463 條數據,其中訓練集,驗證集和測試集的比例為6:2:2,首先利用決策樹算法進行訓練和測試,所得結果如表3 所示。

表3 決策樹計算結果
然后利用設計的LSTM 算法進行計算,RMSProp 優化算法學習率為0.01,該算法有兩個需要調節的超參數epoch 和batch size,epoch 代表數據集被訓練的次數,batch_size 指更新梯度需訓練的數據量。首先將epoch 設為200,考慮batch_size 的影響,考慮值為2,4,8,16,32,所得batch size 與F1 值的關系如圖5 所示。

圖5 batch size 與F1 值的關系
如圖5 所示,batch size 取4 時F1 值比較高,考慮epoch 的影響,將epoch 設置一個比較大的值,通過分析迭代過程中訓練集和驗證集的損失(loss)曲線來確定一個較好的epoch 值,選擇epoch 為1000 時,所得結果如圖6 所示。

圖6 訓練過程損失曲線
從圖6 可以看出,隨著epoch 的增加,訓練集的損失值穩步下降,但是驗證集的波動比較大,在epoch 為400 左右時,驗證集的損失值接近穩定的最低點,epoch超過400 后,驗證集的損失值呈上升趨勢,說明訓練使得LSTM 模型呈現過擬合的狀態。因此選取epoch 值為400,batch size 值為4,所得結果如表4 所示。

表4 LSTM 計算結果
在機器學習的計算結果中,測試集的結果體現的是模型的泛化能力,因此測試集的結果更能體現算法的性能,對比表3和表4,LSTM模型相比于決策樹,準確率、精確率、召回率、F1 值等各項指標均有較大的提升。
文章通過設計LSTM 深度學習模型,與傳統機器學習算法決策樹算法進行對比,驗證了LSTM 模型應用于用戶離網預測問題的有效性。文章利用3 463條數據,包含性別、年齡、教育、在網時長、統計期間內最高單月通話時長等18 個因素,并將因素進行數據量化,便于算法計算,將訓練集,驗證集和測試集的比例劃分為6:2:2,然后針對用戶離網預測問題設計決策樹和LSTM 模型,用準確率、精確率、召回率、調和平均數F1 值四個參數衡量模型的性能。對于LSTM 模型,通過計算分析確定兩個超參數epoch 為400 和batch size 為4。兩個模型的測試集預測結果顯示,LSTM 在準確率、精確率、召回率、調和平均數F1 值等四個指標均優于決策樹,因此利用LSTM 進行用戶離網預測具有一定的應用價值。
本文驗證了在離網預測問題上LSTM 比決策樹具有更好的性能,但是本文考慮的18 種影響因素,每種影響因素對于用戶離網預測精度的貢獻未知,因此下一步研究方向為利用深度學習算法計算每種影響因素的貢獻量,剔除次要影響因素,保留主要影響因素,可以減少模型的復雜度,并且可以向運營商展示導致用戶離網的主要原因,輔助運營商有針對性的調整策略。