趙 慧 劉穎慧 崔羽飛 張 第
中國聯(lián)通研究院北京10032
我國通信行業(yè)經過近二十年的發(fā)展,現在基本呈現三足鼎立的局勢。各企業(yè)競爭日趨激烈,各大運營商都面臨著客戶狀態(tài)不穩(wěn)定,客戶生命周期縮短等問題。
移動通信行業(yè)的現有企業(yè)中,一般情況下客戶月流失率在3%左右,如果靜態(tài)計算,所有客戶會在2~3年內全部流失。
2017年我國的移動電話普及率首次突破102.5部/百人,在一個如此成熟和飽和的市場中,開拓新用戶的難度可想而知。從傳統(tǒng)意義上來講,移動通信行業(yè)保留舊客戶利潤率為開發(fā)一位新客戶的16倍,尤其對于剩余客戶市場日漸稀疏的移動通信市場來說,減少客戶流失就意味著用更少的成本減少利潤的流失,這點已經為運營商所廣為接受。由此可見客戶保持的重要性,也就是說保留舊客戶比開發(fā)、吸收新客戶更重要,如何提前識別高風險流失客戶更是首先需要解決的問題,成為通信企業(yè)越來越關注的焦點。
之所以將機器學習應用于運營商用戶離網分析,是因為機器學習是一種基于數據的自主學習方法,相較于傳統(tǒng)的用戶維挽,機器學習可以提高效率、提高準確性、降低成本。
按照不同的應用類型,機器學習分類算法對用戶是否離網預測水平的量化評價指標包括準確率、召回率、精確率、F1得分等。為了實現優(yōu)秀的分類預測效果,眾多的分類算法被提出,并在業(yè)界使用。其中一類方法非常特殊,我們稱為多模型融合算法。融合算法是將多個推薦算法通過特定的方式進行組合,融合在機器學習中扮演著極為重要的作用,本文結合聯(lián)通青海用戶離網預測的實踐經驗為大家系統(tǒng)性地介紹。
相較于傳統(tǒng)成本高、準確率低的客戶維挽方法,本文建立的客戶流失預警模型是使用機器學習分類算法和模型融合手段,整合客戶歷史海量數據,通過對客戶基本狀態(tài)屬性與歷史行為屬性等數據進行深入分析,提煉出已流失客戶在流失前具有的特征,建立流失預警模型。具體來說是通過對用戶的流量、通話、短信、資費等信息,使用用戶三個月為周期的數據進行模型訓練,運用機器學習技術,使用決策樹、隨機森林、邏輯回歸等算法對多個模型結果進行模型融合,提高預測精度,對客戶下下個月是否流失進行預測。
本模型不僅僅給出客戶流失預測的名單,同時給出用戶流失的可能性得分,以及影響用戶是否流失的最重要的指標排名,幫助企業(yè)提前識別高風險流失客戶,顯著提高企業(yè)的市場競爭力。
根據文獻[1]可知機器學習有很多方法,大體上可以分為監(jiān)督學習(Supervised Learning)、無監(jiān)督學習(Unsupervised Learning)、半監(jiān)督學習(Semi-Supervised Learning)、強化學習(Reinforcement Learning)等。下面對各類學習做一簡單概述。
監(jiān)督式學習算法訓練的數據含有兩大部分,一部分是含有很多特征的預測變量,一部分是有一個標簽或是目標的目標變量。通過這些變量搭建一個模型,對于一個已知的預測變量值,我們可以得到對應的目標變量值。重復訓練這個模型,直到它能在訓練數據集上達到預定的準確度。屬于監(jiān)督式學習的算法有:回歸模型、決策樹、隨機森林、K鄰近算法、邏輯回歸等。
用戶流失預警本質上是監(jiān)督式學習中的分類模型,包含目標變量即用戶是否流失的標簽,同時含有自變量也就是我們使用的流量、短信、語音等相關預測變量字段。通過這些變量搭建用戶流失預警模型,對于已知的用戶是否流失標簽,得到對應的流失預測,重復訓練用戶流失模型,直到它在我們指定的模型評估指標上達到最優(yōu)狀態(tài)。因此我們需要使用分類算法,本文選用邏輯回歸、決策樹、隨機森林這三個分類模型。下面介紹本文使用的三個機器學習分類算法理論以及各自的優(yōu)缺點。
1)邏輯回歸模型是由以下條件概率分布模型表示的分類模型,可以用于二分類或多類分類,概率分布如下。
這里,x為輸入特征,w為相應特征對應的權重。
邏輯回歸模型源于邏輯斯蒂分布,其分布函數F(x)是s型函數。邏輯回歸模型是由輸入的線性函數表示的輸出的對數概率模型。
邏輯回歸模型一般采用極大似然估計,或正則化的極大似然估計,可以形式化為無約束最優(yōu)化問題。求解該最優(yōu)化問題的算法有梯度下降法、擬牛頓法等。
邏輯回歸的優(yōu)點:①便利的觀測樣本概率分數;②對邏輯回歸而言,多重共線性并不是問題,它可以結合L2正則化來解決;③邏輯回歸廣泛應用于工業(yè)問題上。
邏輯回歸的缺點:①當特征空間很大時,邏輯回歸的性能不是很好;②不能很好地處理大量多類特征或變量;③對于非線性特征,需要進行轉換;④依賴于全部的數據。
如果想繼續(xù)了解邏輯回歸與其他算法,比如樸素貝葉斯、Adaboost等的關系,可以參見文獻 [2]、[3]。
2)分類決策樹模型是表示基于特征對實例進行分類的樹形結構。決策樹可以轉換成一個if—then規(guī)則的集合,也可以看作是定義在特征空間劃分上的類的條件概率分布。
決策樹學習旨在構建一個與訓練數據擬合很好,并且復雜度小的決策樹。因為從可能的決策樹中直接選取最優(yōu)決策樹是NP完全問題?,F實中學習次優(yōu)的決策樹。
決策樹學習算法包括3部分:特征選擇、樹的生成和樹的剪枝。常用的算法有ID3、C4.5和CART。
特征選擇的目的在于選取對訓練數據能夠分類的特征。特征選擇的關鍵是準則。常用的準則如下。
①樣本集合D對于特征A的信息增益(ID3)。
其中,H(D)是數據集D的熵,H(Di)是數據集Di的熵,是數據集D對特征A的條件熵,Di是D中特征A取第i個值的樣本子集,Ck是D屬于第k類的樣本子集,n為特征A取值的個數,k是類的個數。關于ID3算法可見文獻[4]。
②樣本集合D對特征A的信息增益比(C4.5)。
其中,g(D,A)是信息增益,HA(D)是D關于特征A的值的熵。關于C4.5算法可見文獻[5]。
③樣本集合D的基尼指數(CART)。
特征A條件下集合D的基尼指數:
關于CART算法可見文獻[6]、[7]。
④決策樹的生成。通常使用信息增益最大、信息增益比最大或基尼指數最小作為特征選擇的準則。決策樹的生成往往通過計算信息增益或其他指標,從根節(jié)點開始,遞歸地產生決策樹。這相當于用信息增益或其他準則不斷地選取局部最優(yōu)的特征,或將訓練集分割為能夠基本正確分類的子集。
⑤決策樹的剪枝。由于生成的決策樹存在過擬合問題,需要對它進行剪枝,以簡化學到的決策樹。往往從已生成的樹上剪掉一些葉節(jié)點或葉節(jié)點以上的子樹,并將其父結點或根結點作為新的葉結點。
決策樹的優(yōu)點:①直觀的決策規(guī)則;②可以處理非線性特征;③考慮了變量之間的相互作用。
決策樹的缺點:①直觀的決策規(guī)則;②訓練集上的效果易高度優(yōu)于測試集,即過擬合。
3)隨機森林。單模型分類方法模型往往精度不高,容易出現過擬合問題,因此很多學者往往通過組合多個單分類模型來提高預測精度,這些方法稱為分類器組合方法。隨機森林是為了解決單個決策樹模型過擬合問題而提出的算法。隨機森林是一種統(tǒng)計學習理論,它利用bootstrap重抽樣方法從原始樣本中抽取多個樣本,然后對每個bootstrap樣本進行決策樹建模,然后組合成多棵決策樹進行預測,并通過投票得到最終預測結果,分類公式如下。
其中,H(x)表示隨機森林分類結果,hi(x)是單個決策樹分類結果,Y表示分類目標,I(.)為示性函數,通過投票策略max完成最終分類。
隨機森林的優(yōu)點:①對于很多類別,它可以產生高準確度的分類器;②它可以處理大規(guī)模的數據輸入;③可以在決定類別時,順便評估變量的重要性;④對于有缺失值的情況,它仍能維持較高的準確度;⑤對于不平衡的分類數據,它可以平衡誤差。
隨機森林的缺點:①隨機森林被證明在某些噪聲較大的分類或回歸問題上會過擬合;②對于有不同級別的屬性的數據,級別劃分較多的屬性會對隨機森林產生更大的影響,所以隨機森林在這種數據上產出的屬性權值是不可信的。
關于隨機森林算法可見文獻[2]。
與監(jiān)督式學習不同的是,無監(jiān)督式學習是學習數據集上有用的結構性質。通常學習數據集的概率分布、密度估計等。屬于無監(jiān)督式學習的算法有:關聯(lián)規(guī)則、K-means聚類算法等。
這個算法可以訓練程序做出某一決定。程序在某一情況下嘗試所有的可能行動,記錄不同行動的結果并試著找出最好的一次嘗試來做決定。屬于這一類算法的有馬爾可夫決策過程。
用戶流失預警模型面對的應用場景往往存在非常大的差異。例如新/老用戶、高/低價值客戶等等,這些不同的用戶屬性中,不同的機器學習分類算法往往都存在著不同的適用群體,不存在一個機器學習分類算法在所有情況下都勝過其他的算法。所以融合方法的思想就自然而然出現了,即充分運用不同機器學習分類算法的優(yōu)勢,取長補短,組合形成一個強大的用戶流失預警框架,俗話說“三個臭皮匠頂個諸葛亮”;因此,模型融合可以增強預測的精度和泛化能力。劣勢就是重計算造成了時間的損失,并且存在好壞不一的結合可能不如單個分類器效果好的風險,因此我們在模型融合之前,對模型使用Grid Search方法進行了單個模型最優(yōu)參數的選擇,保證模型融合之前的單個分類器預測結果是最優(yōu)的。常用的模型融合方法有統(tǒng)一融合(Voting)、堆融合(Stacking)等。本文對3個基礎模型采取投票制的方法,投票多者確定為最終的分類。
網格搜索(Grid Search)實際上就是暴力搜索, 它存在的意義就是自動調參,只要把參數輸進去,就能給出最優(yōu)化的結果和參數。首先為想要調參的參數設定一組候選值,然后網格搜索會窮舉各種參數組合,通過調節(jié)每一個參數來跟蹤評分結果,實際上,該過程代替了進行參數搜索時的for循環(huán)過程。根據設定的評分機制找到最好的那一組設置,即尋找最優(yōu)超參數的算法。此外采用基于網格搜索的交叉驗證法來選擇模型參數,避免了參數選擇的盲目性和隨意性。
主要介紹用戶流失預警模型的生產系統(tǒng)布置反饋流程、模型輸入字段屬性及用戶群確定、模型的具體實施流程,同時給出部分模型測試結果。
本模型以聯(lián)通青海省4G用戶數據為實例進行模型訓練,得到最優(yōu)模型參數,用于未來月份的用戶是否流失的預測,給出流失清單、流失可能性得分、影響流失的重要因子。模型可用于用戶維系、模型校驗、模型優(yōu)化等具體的場景
模型從產生到生產系統(tǒng)落地應用主要分為8個步驟,分別為:確定目標用戶群、模型預測、給出流失清單(得分、是否流失、重要指標)、用戶維系、維系結果反饋、效果總結對比、模型的進一步優(yōu)化、模型效果進一步校驗,通過優(yōu)化和校驗再進一步指導模型的預測,提高模型預測精度。
數據準備的最終目的是形成寬表。關于寬表的細節(jié)表述請見文獻[8]。寬表把流失預測可能使用到的各種屬性都集成到了每月一張的表中,極大地方便了后面的流失預測工作。此外,在寬表中要添加一個重要屬性,那就是是否流失。0為繼續(xù)保持在網,1為預測為流失。這個屬性的取值要根據之前在需求分析中約定的預測時間點來確定。
寬表中包括了用戶流失預警模型所需的部分字段,主要包括用戶的基本資料、用戶的行為屬性、根據原始屬性產出的衍生指標以及我們的目標字段也就是用戶當月是否流失的標識,如表1所示。
表1 寬表
以聯(lián)通青海省4G用戶的基本資料、用戶產生的語音、流量、短信、資費等相關字段為依托的整個模型建設流程如圖2所示,可以看出整個建模部分的流程主要分為6大部分,分別為:數據初步處理核查、數據清洗預處理、樣本分割CV采樣、模型庫建立、網格搜索參數調優(yōu)、最后的結果輸出。
圖2 模型建設流程圖
其中第1部分我們首先遍歷整個數據庫表,初步整理及過濾掉無關重復的字段,定義并且轉換模型所需要的數據類型及編碼使得數據便于理解,同時會對數據進行描述性統(tǒng)計分析,查看其眾數、中位數、均值、缺失值等基本信息;第2部分對數據做清洗預處理,基于第1部分得到的關于數據的初步描述過濾掉一些異常的字段因子,同時使用基于均值、中位數等方法對缺失值進行填充或者剔除,對部分連續(xù)性數據進行中心標準化或者離散化處理,這個時候會對字段基于相關系數、Lasso等方法進行二次選擇,同時劃分用戶群;緊接著第3部分對篩選出來的數據基于交叉驗證方法進行采樣劃分,劃分的比例為7∶3,其中70%用于訓練,30%用于測試;第4、5部分基于劃分出來的訓練集進行模型庫的建立,本文建立邏輯回歸、決策樹、隨機森林算法模型,基于全搜索方法建立充分參數的模型庫,在模型庫中基于Grid Search方法尋找到與訓練數據和測試數據都表現良好的充分匹配的模型最優(yōu)參數,進而得到各個算法的最優(yōu)模型,這個時候對三個最優(yōu)模型進行保存;第6部分對我們要預測的數據進行模型調用,這個時候可以得到三個最優(yōu)模型關于要預測的數據的輸出結果,主要包括流失的概率、是否流失標簽、模型的重要性因子,基于模型的輸出結果我們對三個模型進行結果的融合,主要包括對流失概率進行均值處理,對是否流失進行投票處理,同時基于隨機森林得到的模型重要性因子進行從高到低排名,我們取最重要的5個因子作為輸出,最后輸出的結果包括用戶的唯一標識、用戶是否流失的標簽、用戶流失的可能性得分、用戶在流失的最重要5個因子字段對應的數值,具體形式見表2。
表2 模型輸出結果
本用戶流失預警模型也可以嘗試使用其他的分類算法,具體的細節(jié)可以學習文獻[2]。
在流失預警模型輸入用戶對應于寬表的相關字段數據,對用戶是否在一定時間內流失進行預測判斷,模型同時輸出用戶的流失可能性得分以及導致用戶流失的重要性因子。
表3是邏輯回歸、決策樹、隨機森林基于聯(lián)通青海4G用戶2017年5、6、7月份數據預測9月份數據得到的測試集上的結果??梢钥闯瞿P偷念A測指標效果從整體來說是令人滿意的,其中邏輯回歸效果差一點、決策樹效果中等、隨機森林預測效果最好。可見每個算法都有自己獨有的特點,為了達到“三個臭皮匠頂個諸葛亮”的效果,也為了模型結果的穩(wěn)定性,我們最后使用了模型融合方法,對三個算法的預測結果進行了融合,從融合結果來看,它比單個算法的效果要好。
表3 默認模型預測效果評估關鍵指標
表4是基于2017年5、6、7月份數據使用網格搜索方法調優(yōu)后預測9月份數據得到的測試集上的結果。可以看出三個算法的各個指標都有了比較明顯的提升,最后模型融合的各個指標也相對提升了。說明網格搜索方法不僅節(jié)省了尋找模型最優(yōu)參數的時間,同時與模型融合可以自動把模型預測效果提升,盡可能得到我們理想中的結果。
表4 網格搜索模型預測效果評估關鍵指標
本文從運營商所面臨的用戶流失場景出發(fā),結合實際情況分析了當前用戶流失的現狀,傳統(tǒng)用戶維挽的缺點,給出了使用機器學習算法建立用戶流失預警模型對用戶進行維挽的優(yōu)勢。介紹了文章使用的機器學習算法的相關理論、優(yōu)缺點。給出了用戶流失預警模型的實現框架,在實例建模部分給出了預測青海省相關用戶流失的結果以及結果對比分析。
數據和特征決定了機器學習的上限,而模型和算法只是逼近這個上限而已,從模型結果來看,我們的預測效果還可以,但是如果想進一步提升預測的各個指標,可以參考從模型和算法方向給出的相關建議。
1)依據前期模型理解與實操經驗,改進前期模型存在問題。①進一步增加可能提高模型相應預測指標的字段,比如和用戶各種費用相關的字段。②提高模型輸入數據的品質,比如進一步增加特征提取,基于業(yè)務增加復合指標。③提高模型調優(yōu)速度,比如基于業(yè)務經驗進行相關參數的設定等。④進一步優(yōu)化數據預處理方式:如不同的因子基于其特點,采用不同的方式進行數據清洗、中心化標準化、離散化;根據用戶的特點采用聚類方式對用戶進行進一步的劃分;嘗試更多的分類算法或者深度學習算法進行模型的不同方式的融合;不同的用戶群,可采用不同的抽樣比例進行分層抽樣等等。
2)可以收集或者使用更多可用的原始數據,提取特征,優(yōu)化模型,提高模型預測相關的指標。如用戶累計欠費金額、累計充值次數、累計投訴次數等等。
3)緊密結合業(yè)務,結合實際的生產經驗、更多期的數據反饋等,進一步提高模型的預測結果。
現在深度學習在各個領域已經取得了比較優(yōu)秀的結果,后續(xù)可以使用lstm等深度學習算法嘗試預測用戶是否流失。
[1]李航.統(tǒng)計學習方法[M].北京:清華大學出版社,2012
[2]周志華.機器學習[M].北京:清華大學出版社,2016
[3]Michael Collins,Robert E Schapire,Yoram Singer.Logistic regression,AdaBoost and Bregman distances[J].Machine Learning,2002,48(1-3):253-285
[4]Podgorelec V,Zorman M.Decision Tree Learning[J].2017,2:1751-1754
[5]金田重郎,Quinlan J R.C4.5 Programs for Machine Learning[J].Journal of Japanese Society for Artificial Intelligence,1995,5:475-476
[6]Breiman L,Friedman J H,Olshen R A,et al.Classification And Regression Trees[M].Wadsworth International Group,1984:17–23
[7]Ripley Brian D.Pattern Recognition and Neural Networks:Tree-structured Classifiers[M].Cambridge:Cambridge University Press,1996:233-234
[8]連建勇,李磊,陸勇.基于數據挖掘的電信客戶流失預測模型研究[D].廣州:中山大學,2008