周艷聰, 郝園媛
(天津商業(yè)大學(xué)信息工程學(xué)院, 天津 300134)
隨著5G時(shí)代的來臨,各大運(yùn)營(yíng)商競(jìng)爭(zhēng)日趨激烈,客戶的選擇更加主觀,因此運(yùn)營(yíng)商往往面臨著一些客戶離網(wǎng)的挑戰(zhàn)。通過大數(shù)據(jù)工具與人工智能技術(shù)對(duì)客戶數(shù)據(jù)進(jìn)行分析,建立有效的預(yù)測(cè)與分析模型,對(duì)不同的客戶實(shí)施精準(zhǔn)的營(yíng)銷策略,降低客戶的離網(wǎng)意愿,減少客戶流失,將是十分有意義的工作。同時(shí),在模型優(yōu)化過程中,可以進(jìn)一步挖掘客戶價(jià)值和企業(yè)管理的潛在規(guī)律,從而為企業(yè)的進(jìn)一步發(fā)展提供依據(jù)。
國(guó)外在運(yùn)營(yíng)商客戶分析方面研究相對(duì)較早。很大一部分學(xué)者利用各種數(shù)據(jù)分析和建模技術(shù),對(duì)客戶分類、維系流失客戶等方面進(jìn)行研究。例如,文獻(xiàn)[1]提出了一種基于客戶生命周期的新型客戶細(xì)分方法,采用決策樹方法提取與客戶長(zhǎng)期價(jià)值和忠誠(chéng)度有關(guān)的重要參數(shù)。但研究者們發(fā)現(xiàn)單一模型的準(zhǔn)確度往往不足,于是開始結(jié)合多種模型進(jìn)行研究,Adwan等[2]使用了兩種基于多層感知機(jī)(multilayer perception,MLP)的方法,對(duì)客戶流失率的最大影響因素排名,構(gòu)建客戶流失分類模型。Ahmed等[3]著重總結(jié)和分析了客戶流失預(yù)測(cè)技術(shù),識(shí)別客戶流失行為并驗(yàn)證其原因,提出最準(zhǔn)確的客戶流失預(yù)測(cè)是由混合模型而不是單一算法給出的。Abdi等[4]結(jié)合K均值算法和聚類技術(shù),提出了一種基于數(shù)據(jù)挖掘技術(shù)的客戶行為挖掘框架,有效幫助電信管理人員分析其客戶的行為。
國(guó)內(nèi)學(xué)者的研究大多集中在對(duì)多方法的結(jié)合應(yīng)用,實(shí)現(xiàn)對(duì)運(yùn)營(yíng)商客戶多角度的綜合分析。王觀玉等[5]針對(duì)通信公司客戶數(shù)據(jù)多維度的特點(diǎn),首先利用主成分分析法對(duì)數(shù)據(jù)進(jìn)行降維處理,找到影響客戶流失的關(guān)鍵指標(biāo),再通過支持向量機(jī)進(jìn)行學(xué)習(xí)建模,有效提高了預(yù)測(cè)客戶流失的準(zhǔn)確性。林勤等[6]通過對(duì)大均值子矩陣(larg average submatrices, LAS)雙聚類算法和K均值算法的對(duì)比分析,進(jìn)一步挖掘客戶群體,為識(shí)別高價(jià)值客戶市場(chǎng)帶來實(shí)際的幫助。
人工智能技術(shù)的流行使得機(jī)器學(xué)習(xí)算法在客戶分析的應(yīng)用中更為廣泛。機(jī)器學(xué)習(xí)利用計(jì)算機(jī)模擬人類的學(xué)習(xí)活動(dòng),是研究計(jì)算機(jī)識(shí)別現(xiàn)有知識(shí)、獲取新知識(shí)、不斷改善性能和實(shí)現(xiàn)自身完善的方法[7]。近年來,越來越多的研究者利用機(jī)器學(xué)習(xí)的相關(guān)算法對(duì)運(yùn)營(yíng)商客戶行為進(jìn)行分析。陳思含[8]在進(jìn)行移動(dòng)公司的客戶分析過程中,建立了距離判別模型、支持向量機(jī)、神經(jīng)網(wǎng)絡(luò)三種模型,并采用K均值聚類、邏輯回歸分析等方法,尋找運(yùn)營(yíng)商流失客戶的行為特征。夏國(guó)恩等[9]針對(duì)傳統(tǒng)數(shù)據(jù)預(yù)處理中one-hot編碼導(dǎo)致的數(shù)據(jù)維度增加及數(shù)據(jù)過于稀疏的問題,構(gòu)建了基于多層感知機(jī)的客戶流失預(yù)測(cè)模型并驗(yàn)證了模型的有效性。
回顧相關(guān)領(lǐng)域的研究發(fā)現(xiàn),對(duì)于客戶行為的分析,現(xiàn)存的研究方法十分多樣,從單模型的建立到多模型的綜合運(yùn)用,從傳統(tǒng)的統(tǒng)計(jì)方法到結(jié)合機(jī)器學(xué)習(xí)的智能方法,為運(yùn)營(yíng)商客戶行為分析及客戶管理提供了基礎(chǔ)和借鑒,但當(dāng)前研究仍存在兩方面的問題:①傳統(tǒng)模型多采用MATLAB等語言進(jìn)行建模,算法較為復(fù)雜,但泛化能力不強(qiáng),在數(shù)據(jù)規(guī)模較大時(shí)方法的應(yīng)用很受限,而運(yùn)營(yíng)商具有廣泛的用戶數(shù)量,每個(gè)用戶對(duì)應(yīng)的基本信息、套餐消費(fèi)、通信等數(shù)據(jù)量大且維度廣,由此產(chǎn)生了海量、多維的客戶行為數(shù)據(jù),這就增加了實(shí)現(xiàn)高效運(yùn)營(yíng)商客戶分析的難度;②以往研究集中于對(duì)模型準(zhǔn)確度的提升,對(duì)數(shù)據(jù)特征的分析較少,但運(yùn)營(yíng)商客戶數(shù)據(jù)涉及特征廣泛,需要結(jié)合數(shù)據(jù)特點(diǎn)對(duì)特征進(jìn)行篩選和比較,從而為運(yùn)營(yíng)商的客戶管理提出新的方案。
基于此,現(xiàn)盡可能降低對(duì)先驗(yàn)知識(shí)的依賴程度,基于運(yùn)營(yíng)商客戶數(shù)據(jù)海量、多維的特點(diǎn),通過機(jī)器學(xué)習(xí)技術(shù),采用Python語言對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,建立反向傳播(back propagation,BP)神經(jīng)網(wǎng)絡(luò)和隨機(jī)森林模型,對(duì)客戶流失行為進(jìn)行預(yù)測(cè)與分析,提高客戶分析的智能性、敏捷性和科學(xué)性,從而為實(shí)際運(yùn)營(yíng)商企業(yè)的運(yùn)營(yíng)決策提供借鑒;同時(shí),為了避免出現(xiàn)盲目追求預(yù)測(cè)準(zhǔn)確度而忽略數(shù)據(jù)特征,利用Lasso回歸模型對(duì)數(shù)據(jù)特征進(jìn)行分析與比較,將深入分析和探索運(yùn)營(yíng)商客戶數(shù)據(jù),并根據(jù)所構(gòu)建的模型挖掘隱藏在歷史客戶數(shù)據(jù)中的有效信息和規(guī)則,以期為運(yùn)營(yíng)商的客戶管理和相關(guān)決策提供理論支持。
某電信運(yùn)營(yíng)商提供了不同用戶在三個(gè)月內(nèi)的使用信息,一共900 000條數(shù)據(jù),包括用戶的身份標(biāo)識(shí)號(hào)碼(IDentity,ID)、在網(wǎng)時(shí)長(zhǎng)、通話時(shí)長(zhǎng)、上網(wǎng)流量等34個(gè)特征,因變量為客戶是否流失,其中1月和2月的流失標(biāo)記值為空。
由于原始數(shù)據(jù)的不完美,如包含數(shù)據(jù)異?;蛉哂鄡?nèi)容,將不利于數(shù)據(jù)建模,因此需要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理。根據(jù)本文研究的數(shù)據(jù)情況,對(duì)原始數(shù)據(jù)中存在的缺失值、異常值等數(shù)據(jù)進(jìn)行處理,從而避免因數(shù)據(jù)污染導(dǎo)致分析結(jié)果的偏差。
1.2.1 特征選擇與分析
觀察數(shù)據(jù),發(fā)現(xiàn)部分?jǐn)?shù)據(jù)存在一些計(jì)算值重復(fù)的現(xiàn)象,例如,通話時(shí)長(zhǎng)等于本地通話時(shí)長(zhǎng)、國(guó)內(nèi)長(zhǎng)途通話時(shí)長(zhǎng)、國(guó)內(nèi)漫游通話時(shí)長(zhǎng)的和,可以保留通話時(shí)長(zhǎng)的總和數(shù)據(jù),將其他特征刪去,便于后期模型的建立。同理,通話次數(shù)、上網(wǎng)流量、通話天數(shù)、語音呼叫圈等特征做類似的處理。此外,數(shù)據(jù)特征中,用戶星座及手機(jī)型號(hào)名稱與客戶流失關(guān)聯(lián)較小,故刪除這兩個(gè)特征以簡(jiǎn)化數(shù)據(jù)。
1.2.2 檢測(cè)與處理重復(fù)值
根據(jù)數(shù)據(jù)實(shí)際情況采用drop_duplicates函數(shù)去重。初始狀態(tài)的數(shù)據(jù)形狀為900 000列、35行,經(jīng)過去除重復(fù)數(shù)據(jù)和刪除冗余特征后的數(shù)據(jù)形狀為899 904行、20列。
1.2.3 檢測(cè)與處理缺失值
在實(shí)際的數(shù)據(jù)分析過程中很難避免缺失值,缺失值的存在往往會(huì)使數(shù)據(jù)分析不夠準(zhǔn)確。由于本次樣本數(shù)據(jù)量較大,樣本特征較多,所以首先對(duì)缺失值進(jìn)行識(shí)別和分析。由數(shù)據(jù)分析結(jié)果可知,合約計(jì)劃到期時(shí)間(AGREE_EXP_DATE)以及VIP等級(jí)(VIP_LVL)數(shù)據(jù)缺失情況相對(duì)比較嚴(yán)重,缺失值比例分別約為0.49以及0.35,如果將缺失值全部刪去對(duì)數(shù)據(jù)分析影響較大,所以采取均值補(bǔ)齊缺失數(shù)據(jù)。此外,從數(shù)據(jù)缺失情況可以看出,用戶性別(CUST_SEX)、用戶年齡(CERT_AGE)以及操作系統(tǒng)描述(OS_DESC)也存在少量的數(shù)據(jù)缺失,由于缺失程度較小,采取刪除法刪除缺失的樣本,以保證信息完整度。最后,經(jīng)過缺失值處理,數(shù)據(jù)形狀為819 059行、20列。
1.2.4 檢測(cè)與異常值處理
異常值可能是一些外在因素產(chǎn)生的,如工作人員的錯(cuò)誤輸入、統(tǒng)計(jì)工具的不兼容、命名規(guī)則的差異等。如果在數(shù)據(jù)分析過程中存在異常值,會(huì)導(dǎo)致分析結(jié)果產(chǎn)生較大的偏差,干擾數(shù)據(jù)模型的建立。由于本次數(shù)據(jù)分析的數(shù)據(jù)量級(jí)比較大,所以先利用describe函數(shù)查看數(shù)據(jù)分布及極值情況,可以得知許多特征的波動(dòng)性都很大,例如,本月費(fèi)用(ACCT_FEE)特征,用戶平均月費(fèi)用為114.4元,標(biāo)準(zhǔn)差為106.9元,波動(dòng)性很大,中位數(shù)費(fèi)用為86.1元,75分位數(shù)費(fèi)用為141.4元,說明絕大部分訂單的本月費(fèi)用都不多,月費(fèi)用最大值為1 1059.4元,受極值影響,需要排除異常值。同理,在網(wǎng)時(shí)長(zhǎng)(INNET_MONTH)、通話時(shí)長(zhǎng)(CALL_DURA)、短信發(fā)送數(shù)(P2P_SMS_CNT_UP)、上網(wǎng)流量(TOTAL_FLUX)、年齡(CERT_AGE)等特征數(shù)據(jù)波動(dòng)過大,也需要進(jìn)行異常值排除,因?yàn)閿?shù)據(jù)樣本比較多,再加上數(shù)據(jù)受極值影響較大,所以使用蓋帽法自定義函數(shù)處理異常值。
1.2.5 篩選和轉(zhuǎn)換數(shù)據(jù)
在初始數(shù)據(jù)中,每個(gè)用戶對(duì)應(yīng)著3個(gè)月的數(shù)據(jù)記錄,存在一個(gè)用戶有3條記錄的情況,所以需要對(duì)數(shù)據(jù)進(jìn)行篩選。通過用戶ID(USER_ID)特征對(duì)數(shù)據(jù)進(jìn)行分組,將數(shù)據(jù)處理為一個(gè)用戶一條記錄,保留用戶每月的費(fèi)用、通話時(shí)長(zhǎng)等信息,從而便于數(shù)據(jù)模型的建立。此外數(shù)據(jù)中還存在手機(jī)品牌、操作系統(tǒng)等類別型數(shù)據(jù),如手機(jī)品牌有633種,操作系統(tǒng)描述有47種。神經(jīng)網(wǎng)絡(luò)模型的建立要求輸入的特征為數(shù)值型,所以需要對(duì)手機(jī)品牌和操作系統(tǒng)特征進(jìn)行處理。首先合并用戶的手機(jī)品牌(MANU_NAME)與操作系統(tǒng)(OS_DESC)特征為“手機(jī)操作系統(tǒng)(MOBILE_OS)”,再對(duì)手機(jī)操作系統(tǒng)特征做啞變量處理。
數(shù)據(jù)不平衡是指響應(yīng)變量值的不平衡分配,這種不平衡問題是影響數(shù)據(jù)分析的常見問題之一。在本文的客戶流失分析當(dāng)中,經(jīng)過數(shù)據(jù)處理后的數(shù)據(jù)有流失客戶8 301名,非流失客戶266 762名,比例為1∶32,模型在訓(xùn)練過程中會(huì)產(chǎn)生偏差。因此在建模之前需要解決數(shù)據(jù)不平衡問題,保證模型的建立更準(zhǔn)確。一般來說,當(dāng)流失客戶數(shù)據(jù)與非流失客戶數(shù)據(jù)比例為1∶2或1∶3時(shí)模型的效果較好[10]。
由于本次數(shù)據(jù)量較大,所以采用過采樣的方法。通過合成少數(shù)類過采樣(synthetic minority over-sampling technique,SMOTE)技術(shù)進(jìn)行過采樣之后,利用Counter函數(shù)查看數(shù)據(jù)情況,流失客戶樣本數(shù)量為106 704,非流失客戶的樣本數(shù)量為266 762,比例約為1∶2.5,可以進(jìn)行后期模型的構(gòu)建。
經(jīng)過前期的對(duì)比分析,最終選擇神經(jīng)網(wǎng)絡(luò)和隨機(jī)森林作為數(shù)據(jù)分析模型。神經(jīng)網(wǎng)絡(luò)模型對(duì)于輸入的各項(xiàng)特征可以自行學(xué)習(xí),人工干預(yù)較少,有利于得到比較客觀的模型。選擇隨機(jī)森林模型主要考慮到:①該模型可以產(chǎn)生高準(zhǔn)確度的分類器;②它可以在內(nèi)部對(duì)于一般化后的誤差產(chǎn)生不偏差的估計(jì);③如果有部分?jǐn)?shù)據(jù)缺失,模型仍可以維持準(zhǔn)確度;④對(duì)于不平衡的數(shù)據(jù),它可以平衡誤差;⑤學(xué)習(xí)過程快速。尤其在出現(xiàn)數(shù)據(jù)缺失和不平衡的情況下,隨機(jī)森林是一個(gè)很好的選擇。
以Anaconda為環(huán)境,采用Jupyter Notebook為代碼編輯工具,用Python語言對(duì)運(yùn)營(yíng)商客戶數(shù)據(jù)進(jìn)行建模與分析。
BP神經(jīng)網(wǎng)絡(luò)是一種按誤差反向傳播訓(xùn)練的多層前饋網(wǎng)絡(luò),其由輸入層、隱藏層和輸出層組成。BP神經(jīng)網(wǎng)絡(luò)不要求建模者有豐富的先驗(yàn)知識(shí),便于建模,其在解決非線性問題方面有強(qiáng)大的數(shù)據(jù)識(shí)別和仿真能力。
2.1.1 模型構(gòu)建
經(jīng)過數(shù)據(jù)預(yù)處理后,用于模型訓(xùn)練的數(shù)據(jù)共有373 466條,其中非流失用戶數(shù)據(jù)有266 762條,流失用戶數(shù)據(jù)有106 704條。首先通過Python的sklearn庫中的train_test_split函數(shù)進(jìn)行數(shù)據(jù)集劃分,得到訓(xùn)練集和測(cè)試集。其中,訓(xùn)練集數(shù)據(jù)樣本為280 099個(gè),測(cè)試集數(shù)據(jù)樣本為93 367個(gè)。
在訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí),選取運(yùn)營(yíng)商客戶的14個(gè)特征作為網(wǎng)絡(luò)的輸入,分別為是否合約有效用戶、VIP等級(jí)、用戶性別、用戶年齡、合約到期時(shí)間、終端硬件類型、本月費(fèi)用、通話時(shí)長(zhǎng)、短信發(fā)送數(shù)、上網(wǎng)流量、通話次數(shù)、通話天數(shù)、語音呼叫圈、手機(jī)和操作系統(tǒng)描述。訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)時(shí)給定的輸出為一個(gè)節(jié)點(diǎn),該節(jié)點(diǎn)輸出結(jié)果為1或0,其中1代表流失客戶,0代表非流失客戶。構(gòu)建的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
利用sklearn庫中的MLPClassifier方法建立模型。根據(jù)幾何金字塔公式設(shè)置初始的BP神經(jīng)網(wǎng)絡(luò)為單個(gè)隱藏層,隱藏層節(jié)點(diǎn)數(shù)為3,權(quán)重優(yōu)化求解器采用lbfgs模式,其余參數(shù)均取默認(rèn)值。模型構(gòu)建成功后,用joblib.dump函數(shù)保存模型,以便后續(xù)模型的應(yīng)用。構(gòu)建的模型如圖2所示。
圖1 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 The structure of neural network
圖2 通過MLPClassifier構(gòu)建的神經(jīng)網(wǎng)絡(luò)模型Fig.2 The neural network model by MLPClassifier
2.1.2 神經(jīng)網(wǎng)絡(luò)模型評(píng)價(jià)及結(jié)果分析
分類器準(zhǔn)確度評(píng)價(jià)采用混淆矩陣的相關(guān)指標(biāo)。為了能更好地評(píng)估模型的準(zhǔn)確度,同時(shí)采用了混淆矩陣的一些延伸指標(biāo):精確率(precision)、召回率(recall)和F1。同時(shí),為了使模型評(píng)價(jià)更加直觀,結(jié)合受試者工作特征曲線( receiver operating characteristic curve,ROC)來評(píng)價(jià)模型的效果。運(yùn)行多次后的模型結(jié)果如表1所示。
表1 BP神經(jīng)網(wǎng)絡(luò)模型運(yùn)行結(jié)果Table 1 The result of neural network model
根據(jù)表1可知,當(dāng)神經(jīng)網(wǎng)絡(luò)模型有單個(gè)隱藏層,隱藏層節(jié)點(diǎn)數(shù)為3時(shí),對(duì)客戶流失預(yù)測(cè)的精確率僅達(dá)到了80%,平均預(yù)測(cè)精確率僅為83%,效果不是很理想,需要對(duì)模型進(jìn)一步優(yōu)化。
2.1.3 神經(jīng)網(wǎng)絡(luò)模型優(yōu)化
BP神經(jīng)網(wǎng)絡(luò)模型的優(yōu)化有很多種方法,包括對(duì)算法結(jié)構(gòu)的優(yōu)化以及對(duì)模型的參數(shù)進(jìn)行優(yōu)化。在本文中,主要根據(jù)模型參數(shù)的自身特性,對(duì)隱藏層結(jié)構(gòu)、權(quán)重優(yōu)化求解器、學(xué)習(xí)率模式三方面進(jìn)行優(yōu)化,提升模型的準(zhǔn)確度。經(jīng)過實(shí)驗(yàn)測(cè)試,輸入層14個(gè)節(jié)點(diǎn),輸出層1個(gè)節(jié)點(diǎn),中間設(shè)置兩個(gè)隱藏層,各18個(gè)節(jié)點(diǎn)的神經(jīng)網(wǎng)絡(luò)模型精確度較高,判斷客戶為非流失時(shí)的精確率為92%,判斷客戶為流失的精確率為95%,并且隱藏層節(jié)點(diǎn)數(shù)不會(huì)過大。相比初始的神經(jīng)網(wǎng)絡(luò)模型,準(zhǔn)確度得到了較大的提升,在此基礎(chǔ)上對(duì)其他參數(shù)進(jìn)行調(diào)節(jié),可進(jìn)一步優(yōu)化模型。
對(duì)于權(quán)重優(yōu)化求解器,經(jīng)過實(shí)驗(yàn)數(shù)據(jù)(表2)可得,基于隨機(jī)梯度下降(stochastic gradient descent,sgd)和其的一階優(yōu)化算法(adaptive moment estimation,adam)的權(quán)重優(yōu)化算法精確率較高,準(zhǔn)牛頓方法族優(yōu)化器(large BFGS,lbfgs)算法精確率相對(duì)較低,可以在此基礎(chǔ)上進(jìn)一步調(diào)節(jié)對(duì)權(quán)重優(yōu)化十分重要的學(xué)習(xí)率參數(shù)。
本文的模型除去輸入、輸出層,采用隱藏層為兩層,每層節(jié)點(diǎn)數(shù)為18個(gè)的隱藏層結(jié)構(gòu),即在隱藏層結(jié)構(gòu)為(18,18)的情況下,權(quán)重算法采用隨機(jī)梯度下降(sgd)算法,對(duì)三種不同學(xué)習(xí)率模式的精確率進(jìn)行了比較,比較結(jié)果如表3所示。
從表3中可以看出,當(dāng)采用常數(shù)模式(constant)和自適應(yīng)模式(adaptive)的學(xué)習(xí)率時(shí),神經(jīng)網(wǎng)絡(luò)模型精確率較高,而采用升級(jí)模式(invscaling)精確率相對(duì)較低。綜合參數(shù)優(yōu)化過程,最終確定隱藏層結(jié)構(gòu)為兩層,每層節(jié)點(diǎn)為18個(gè),權(quán)重下降算法采用隨機(jī)梯度下降法,學(xué)習(xí)率模式采用自適應(yīng)模式所得的模型預(yù)測(cè)結(jié)果精確率最高,平均精確率達(dá)到了96%,最后得到的ROC曲線如圖3所示。從圖3可以直觀地看出,優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)ROC曲線更加接近左上角,準(zhǔn)確度較高。
表2 權(quán)重優(yōu)化算法與模型精確度的關(guān)系Table 2 The relationship between weight optimization algorithm and model accuracy
表3 學(xué)習(xí)率模式與模型精確率的關(guān)系Table 3 The relationship between learning rate mode and model accuracy
TPR為真正率;FPR為假正率 圖3 神經(jīng)網(wǎng)絡(luò)模型優(yōu)化前后的ROC曲線對(duì)比Fig.3 Comparison of ROC curves before and after neural network model optimization
隨機(jī)森林是一種基于決策樹的集成學(xué)習(xí)算法[11]。與許多其他的分類器相比,其往往表現(xiàn)出較好的性能,能夠較好地解決過擬合問題[12],且準(zhǔn)確性相對(duì)較高。除此之外,它還能夠處理具有高維特征的輸入樣本,且不需要?jiǎng)h除特征。由于隨機(jī)森林在每次劃分時(shí)考慮的屬性較少,其在大型數(shù)據(jù)庫的應(yīng)用中效果較好[13]。
在Python中,通過隨機(jī)森林分類器(random forest classifier)構(gòu)建隨機(jī)森林模型。模型的參數(shù)設(shè)定為:隨機(jī)森林允許單個(gè)決策樹使用特征的最大數(shù)量(max_features)設(shè)為每棵子樹可以利用總特征數(shù)的平方根;子樹的數(shù)量(n_estimators)設(shè)為10;最小葉子節(jié)點(diǎn)數(shù)目(min_sample_leaf)設(shè)為50,其他參數(shù)采用默認(rèn)形式,最終構(gòu)建的隨機(jī)森林模型結(jié)構(gòu)如圖4所示。
構(gòu)建好隨機(jī)森林模型后,采用和神經(jīng)網(wǎng)絡(luò)模型相同的評(píng)價(jià)指標(biāo)對(duì)隨機(jī)森林模型運(yùn)行結(jié)果進(jìn)行評(píng)價(jià),運(yùn)行多次后取平均值得到運(yùn)行結(jié)果如表4所示。由表4可以看出,隨機(jī)森林模型的非流失客戶預(yù)測(cè)精確率達(dá)到了93%,召回率達(dá)到了99%,F(xiàn)1為96%;流失客戶預(yù)測(cè)精確率達(dá)到了98%,召回率達(dá)到了82%,F(xiàn)1為89%;整個(gè)模型的預(yù)測(cè)精確率達(dá)到了96%。
圖4 構(gòu)建的隨機(jī)森林模型結(jié)構(gòu)Fig.4 The structure of random forest model
表4 隨機(jī)森林模型運(yùn)行結(jié)果Table 4 The running results of random forest model
在模型的選擇問題上,也曾嘗試過其他模型,如支持向量機(jī)(support vector machine,SVM),貝葉斯網(wǎng)絡(luò)等,但效果不佳;也嘗試了模型組合,但各項(xiàng)運(yùn)行指標(biāo)均低于單一的神經(jīng)網(wǎng)絡(luò)模型和隨機(jī)森林。兩個(gè)模型對(duì)流失客戶的預(yù)測(cè)準(zhǔn)確率分別達(dá)到了96%和98%,已經(jīng)高于大部分文獻(xiàn)的預(yù)測(cè)準(zhǔn)確率。本文的主要貢獻(xiàn)在于對(duì)模型參數(shù)的選擇和調(diào)整。尤其神經(jīng)網(wǎng)絡(luò)模型,從網(wǎng)絡(luò)層數(shù)到每層網(wǎng)絡(luò)的節(jié)點(diǎn)數(shù),都是若干次實(shí)驗(yàn)選擇后的結(jié)果。模型的泛化性能也較好,在若干測(cè)試集上進(jìn)行測(cè)試,準(zhǔn)確率均較高。此外,對(duì)于大量數(shù)據(jù)的分析,本文研究的隨機(jī)森林模型運(yùn)行速度也較快。因此,僅對(duì)神經(jīng)網(wǎng)絡(luò)模型和隨機(jī)森林模型進(jìn)行對(duì)比分析。
BP神經(jīng)網(wǎng)絡(luò)是由多個(gè)非線性單元組合而成的模型,需要在每個(gè)神經(jīng)元進(jìn)行運(yùn)算。隨機(jī)森林是以決策樹為基本單元,通過集成學(xué)習(xí)后所得的組合分類器。二者都是近年來比較流行的預(yù)測(cè)算法,本文研究結(jié)合對(duì)運(yùn)營(yíng)商客戶分析的結(jié)果,從以下幾個(gè)角度對(duì)兩個(gè)模型進(jìn)行對(duì)比分析。
(1)二者的決策邊界不同,因此模型的表現(xiàn)效果也不同。BP神經(jīng)網(wǎng)絡(luò)的層與層之間具有高度的連接性,它的決策邊界是由一組非線性的計(jì)算單元組成,計(jì)算比較復(fù)雜,所提供的決策邊界是非線性的曲線或曲面。隨機(jī)森林是通過多個(gè)決策樹以投票的形式輸出分類結(jié)果,具有較好的容差性,其決策邊界更像是多個(gè)分段函數(shù)[14]。
(2)二者的預(yù)測(cè)準(zhǔn)確度略有差異。總體來說,隨機(jī)森林算法的準(zhǔn)確度要高于BP神經(jīng)網(wǎng)絡(luò)模型。如表5所示,經(jīng)過參數(shù)優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)模型,對(duì)非流失用戶的預(yù)測(cè)精確度為93%,對(duì)流失用戶的預(yù)測(cè)精確度為96%。相比而言,隨機(jī)森林模型對(duì)流失用戶的預(yù)測(cè)精確度略高,為98%。召回率和F1方面,隨機(jī)森林模型也略優(yōu)于神經(jīng)網(wǎng)絡(luò)模型??傮w來看,隨機(jī)森林模型的預(yù)測(cè)準(zhǔn)確程度以及運(yùn)算速度略優(yōu)于BP神經(jīng)網(wǎng)絡(luò)模型。此外,將模型的ROC曲線進(jìn)行對(duì)比,如圖5所示,綠色曲線代表隨機(jī)森林模型,藍(lán)色曲線代表優(yōu)化后的神經(jīng)網(wǎng)絡(luò)模型,隨機(jī)森林模型的曲線整體比BP神經(jīng)網(wǎng)絡(luò)的曲線更靠近左上方,也更加的平滑。綜合來看,在對(duì)運(yùn)營(yíng)商客戶的分析中,隨機(jī)森林模型的性能要優(yōu)于BP神經(jīng)網(wǎng)絡(luò)模型。
(3)二者對(duì)于不平衡分類情況的處理效果不同。BP神經(jīng)網(wǎng)絡(luò)模型對(duì)不平衡分類的數(shù)據(jù)較為敏感,得出的模型很容易出現(xiàn)異常。在運(yùn)營(yíng)商客戶分析中,流失用戶占較少的比例,出現(xiàn)了不平衡分類問題,表6為神經(jīng)網(wǎng)絡(luò)模型數(shù)據(jù)不平衡情況下的模型評(píng)價(jià),可以看出它的準(zhǔn)確度在數(shù)據(jù)不平衡時(shí)出現(xiàn)了異常。而隨機(jī)森林算法對(duì)不平衡數(shù)據(jù)的問題比較不敏感,它不會(huì)過度抽樣,面對(duì)不平衡的分類,其受到的影響較小。
(4)模型訓(xùn)練速度方面,隨機(jī)森林模型面對(duì)大量的數(shù)據(jù)也能夠有效的處理,并且學(xué)習(xí)速度很快。BP神經(jīng)網(wǎng)絡(luò)處理速度較慢,尤其是在數(shù)據(jù)量比較大的情況。
(5)參數(shù)設(shè)定方面,BP神經(jīng)網(wǎng)絡(luò)有較多的超參數(shù),可調(diào)節(jié)性較強(qiáng),但在對(duì)參數(shù)設(shè)定和優(yōu)化方面往往要花費(fèi)較多的時(shí)間,所以神經(jīng)網(wǎng)絡(luò)一般存在較大的冗余性,也給模型的訓(xùn)練帶來負(fù)擔(dān)。而隨機(jī)森林模型的超參數(shù)較少,且它的參數(shù)設(shè)定比較穩(wěn)定,在參數(shù)設(shè)置方面不會(huì)花費(fèi)太大的時(shí)間就能取到較好的效果。
表5 神經(jīng)網(wǎng)絡(luò)模型和隨機(jī)森林模型精確度對(duì)比Table 5 Comparison of accuracy between neural network model and random forest model
圖5 神經(jīng)網(wǎng)絡(luò)模型和隨機(jī)森林模型ROC曲線對(duì)比Fig.5 Comparison of ROC curve between neural network model and random forest model
表6 神經(jīng)網(wǎng)絡(luò)模型在數(shù)據(jù)不平衡情況下的模型評(píng)價(jià)Table 6 Model evaluation of neural network model in case of data imbalance
(6)過擬合程度方面,BP神經(jīng)網(wǎng)絡(luò)較易發(fā)生過擬合[15]。與其他分類方法相比,隨機(jī)森林算法的一大特點(diǎn)就是它不易發(fā)生過擬合,分類準(zhǔn)確率也較高。
(7)參數(shù)選擇方面,神經(jīng)網(wǎng)絡(luò)參數(shù)較多,并且神經(jīng)網(wǎng)絡(luò)的分類需要利用所學(xué)到的變量特征。同樣的樣本,隨機(jī)森林模型可以選擇部分參數(shù)進(jìn)行測(cè)試,并賦予參數(shù)不同的權(quán)重,它的模型建立是邊建樹邊分類。
綜合上述對(duì)二者的對(duì)比情況,可以得到表7。
表7 神經(jīng)網(wǎng)絡(luò)模型和隨機(jī)森林模型的對(duì)比Table 7 Comparison of neural network model and random forest model
總體來看,隨機(jī)森林模型的預(yù)測(cè)準(zhǔn)確程度以及運(yùn)算速度優(yōu)于BP神經(jīng)網(wǎng)絡(luò)模型,也優(yōu)于文獻(xiàn)[16]中92%的準(zhǔn)確率,說明本文研究創(chuàng)建的模型是有效的,可以將其應(yīng)用于實(shí)際的客戶流失預(yù)測(cè)中,從而針對(duì)流失客戶的特點(diǎn)采取一定的策略挽留客戶,為運(yùn)營(yíng)商減少損失。
在實(shí)際應(yīng)用中,還需要對(duì)用戶的行為和屬性等特征進(jìn)行分析,判斷哪些屬性與客戶的流失行為具有較大的關(guān)聯(lián)性,也就是對(duì)影響客戶流失的因素進(jìn)行分析,從而使運(yùn)營(yíng)商能夠根據(jù)相應(yīng)的屬性特點(diǎn)采取針對(duì)性的措施。
通過Lasso回歸模型對(duì)用戶屬性進(jìn)行相關(guān)度的比較。通過利用sklearn庫中的LassoCV方法,結(jié)合自定義函數(shù)和繪圖工具,通過圖像表示特征變量的重要程度,從圖6可以看出,是否合約有效用戶(IS_AGREE)、有通話天數(shù)(CALL_DAYS)、用戶性別(CUST_SEX)、用戶年齡(CERT_AGE)特征與流失相關(guān)性較強(qiáng),并且主要是負(fù)相關(guān),如用戶每月有通話的天數(shù)越多,流失的概率就越低。同時(shí)也可以看出各特征與用戶流失的相關(guān)性不是特別大,可以再結(jié)合散點(diǎn)圖進(jìn)一步對(duì)特征進(jìn)行分析。
通過Matplotlib繪圖工具,本文對(duì)部分特征進(jìn)行了兩兩對(duì)比分析,利用散點(diǎn)圖分析特征對(duì)客戶流失的影響。本月費(fèi)用和通話時(shí)長(zhǎng)的散點(diǎn)圖如圖7所示。由圖7可知大部分流失客戶的通話時(shí)長(zhǎng)和本月費(fèi)用較小,說明經(jīng)常通話、每月消費(fèi)較高的用戶不易流失。
圖8為通話天數(shù)與用戶年齡的散點(diǎn)圖。從圖8可以看出,非流失用戶的年齡大部分集中在20~50歲,流失用戶的年齡主要集中在10~30歲及50~60歲,說明年齡過大或過小的用戶流失概率相對(duì)較高。同時(shí)可以觀察到非流失用戶的通話天數(shù)總體比流失用戶的通話天數(shù)略長(zhǎng),但通話天數(shù)的差異沒有用戶年齡帶來的差異大,因此用戶年齡與用戶流失的相關(guān)性更強(qiáng)。
圖6 通過Lasso比較特征向量的重要程度Fig.6 Compare the importance of feature vectors through Lasso
圖7 本月費(fèi)用和通話時(shí)長(zhǎng)的散點(diǎn)圖Fig.7 Scatter chart of this month’s cost and call duration
圖8 通話天數(shù)與用戶年齡的散點(diǎn)圖Fig.8 Scatter plot of call days and user age
基于模型分析以及企業(yè)運(yùn)營(yíng)環(huán)境,提出以下幾點(diǎn)方案。
(1)針對(duì)經(jīng)常通話、每月消費(fèi)較高的用戶不易流失的情況,可以通過營(yíng)銷套餐的組合、升級(jí)套餐優(yōu)惠、套餐免費(fèi)體驗(yàn)等方式,提升用戶的消費(fèi)興趣。特別是對(duì)于一些經(jīng)過模型預(yù)測(cè)可能流失的用戶,可以進(jìn)一步提供專屬服務(wù)、個(gè)性化套餐等,增強(qiáng)用戶的滿意度,從而減少客戶流失。
(2)針對(duì)用戶年齡對(duì)用戶流失概率的影響,對(duì)于不同的年齡層,可設(shè)計(jì)不同的方案。如年齡較小的青少年電話使用頻率不高,較易流失,運(yùn)營(yíng)商可以與兒童手表、兒童學(xué)習(xí)機(jī)等廠家合作,采取一定的套餐優(yōu)惠、綁定條件等,提升用戶的使用頻率;同時(shí),也可以將青少年的賬號(hào)與家長(zhǎng)、學(xué)校進(jìn)行綁定等,從而能夠提供更全面的服務(wù)。
(3)針對(duì)運(yùn)營(yíng)商激烈的競(jìng)爭(zhēng)環(huán)境,運(yùn)營(yíng)商企業(yè)必須抓住發(fā)展機(jī)遇,拓展思路,加強(qiáng)合作,可以參與到金融服務(wù)、信息技術(shù)(information technology,IT)服務(wù)、媒體或公用事業(yè)等領(lǐng)域當(dāng)中,利用自身海量的數(shù)據(jù)資源和電信資源,尋找新的合作機(jī)會(huì)和收入來源。同時(shí),通過與第三方的合作,也能夠?yàn)檫\(yùn)營(yíng)商帶來更專業(yè)的知識(shí),進(jìn)一步補(bǔ)充運(yùn)營(yíng)商強(qiáng)大的客戶關(guān)系和廣泛的覆蓋范圍。
(4)運(yùn)營(yíng)商應(yīng)加強(qiáng)數(shù)字化轉(zhuǎn)型,廣泛地學(xué)習(xí)和應(yīng)用新技術(shù),培養(yǎng)相關(guān)的人才,增強(qiáng)其敏捷性,通過強(qiáng)大的數(shù)據(jù)分析,及早瞄準(zhǔn)目標(biāo)客戶,以測(cè)試其喜好和價(jià)格敏感性。同時(shí),加強(qiáng)技術(shù)基礎(chǔ)設(shè)施的建設(shè),緊跟5G的發(fā)展潮流,推動(dòng)組織和業(yè)務(wù)的技術(shù)革新。
(5)最后,企業(yè)需要進(jìn)一步追求更好的用戶體驗(yàn),以用戶為始并回歸用戶。大多數(shù)運(yùn)營(yíng)商將客戶體驗(yàn)看作是一系列的接觸點(diǎn),也就是客戶與業(yè)務(wù)節(jié)點(diǎn)之間的交互,如產(chǎn)品客戶服務(wù)、銷售人員等。但是忽略了客戶對(duì)公司的整體體驗(yàn)、對(duì)服務(wù)流程的整體體驗(yàn)。而大數(shù)據(jù)、云計(jì)算、人工智能等技術(shù)又能夠幫助運(yùn)營(yíng)商從用戶的角度思考,全方位地優(yōu)化用戶體驗(yàn),從而為企業(yè)帶來更大的效益。
基于簡(jiǎn)單、有效的BP神經(jīng)網(wǎng)絡(luò)和隨機(jī)森林模型,分析了運(yùn)營(yíng)商客戶特別是其中流失客戶的行為,并對(duì)兩個(gè)模型的分析結(jié)果進(jìn)行了對(duì)比分析,最終兩種模型的預(yù)測(cè)準(zhǔn)確度都超過了96%;此外,數(shù)據(jù)處理和模型建立均基于Python語言實(shí)現(xiàn),也使得整個(gè)行為分析過程更加簡(jiǎn)潔高效。在此基礎(chǔ)上,利用Lasso回歸模型和散點(diǎn)圖對(duì)用戶特征進(jìn)行了深入比較和分析,給出了一些有利于客戶挽留的合理化建議。
雖然取得了一些成果,但還存在一些待改進(jìn)的地方:①模型算法優(yōu)化,向技術(shù)方向繼續(xù)延伸,結(jié)合數(shù)據(jù)特征嘗試采用更先進(jìn)、更多樣的機(jī)器學(xué)習(xí)算法來建立客戶行為分析模型;②多種算法結(jié)合,后續(xù)研究可以進(jìn)一步將BP神經(jīng)網(wǎng)絡(luò)和隨機(jī)森林進(jìn)行結(jié)合,吸取二者的優(yōu)點(diǎn),并根據(jù)所分析的數(shù)據(jù)特征來進(jìn)行分析和建模,如深度神經(jīng)決策樹(deep neural decision forest,DNDF)結(jié)構(gòu),在神經(jīng)網(wǎng)絡(luò)中引入了樹的結(jié)構(gòu),又適應(yīng)于集成;③數(shù)據(jù)結(jié)果可視化,可以結(jié)合更多可視化工具將數(shù)據(jù)效果更清晰地呈現(xiàn)出來,使其能夠在實(shí)際的運(yùn)營(yíng)商客戶維系中得到更廣泛的應(yīng)用;④數(shù)據(jù)挖掘,可以將數(shù)據(jù)挖掘的結(jié)果與企業(yè)的客戶關(guān)系管理系統(tǒng)結(jié)合起來,使預(yù)測(cè)模型得到充分運(yùn)用,同時(shí)也能夠根據(jù)客戶的具體情況,提供更加個(gè)性化的維系策略。