張三妞
(昆明理工大學(xué) 信息工程與自動化學(xué)院,云南 昆明 650500)
隨著世界經(jīng)濟的發(fā)展,客戶流失問題逐漸受到人們的重視[1-3]。電信公司為此提出了3個主要策略,即獲得新客戶、追加銷售現(xiàn)有客戶以及延長客戶的保留期??紤]到每種策略的投資回報率(Return on Investment,RoI)價值,延長客戶的保留期是最有利的策略,其成本遠低于獲得新客戶[4-6]。對于電信客戶流失預(yù)測,國內(nèi)外有大量的研究。為了處理電信客戶流失的多維數(shù)據(jù),肖等人提出了一種集成方法,將元代價敏感學(xué)習(xí)、半監(jiān)督學(xué)習(xí)以及Bagging 集成等技術(shù)相結(jié)合,設(shè)計了代價敏感的客戶流失預(yù)測半監(jiān)督集成模型[7]。張等人將生存分析與深度學(xué)習(xí)理論相結(jié)合,即運用深度學(xué)習(xí)模型對電信客戶流失數(shù)據(jù)進行建模,根據(jù)建模中客戶的生存狀態(tài)和時間對電信客戶進行解析,從而判斷出客戶是否流失[8]。在電信客戶流失預(yù)測中,客戶信息特征具有多維性和復(fù)雜性,數(shù)據(jù)處理對客戶流失預(yù)測的準確性具有較大影響?;谝陨蠁栴},結(jié)合國內(nèi)外電信客戶流失預(yù)測算法,提出遺傳算法優(yōu)化BP 神經(jīng)網(wǎng)絡(luò)的耦合模型。
反向傳播(Back Propagation,BP)神經(jīng)網(wǎng)絡(luò)于1986 年由Rumelhart 和McCelland 領(lǐng)導(dǎo)的科學(xué)家小組提出,是一種按誤差逆?zhèn)鞑ニ惴ㄓ?xùn)練的多層前饋神經(jīng)網(wǎng)絡(luò)。BP 神經(jīng)網(wǎng)絡(luò)能學(xué)習(xí)和存貯大量的輸入與輸出模式映射關(guān)系,無需事前揭示描述這種映射關(guān)系的數(shù)學(xué)方程。其學(xué)習(xí)規(guī)則是使用最速下降法,通過反向傳播不斷調(diào)整網(wǎng)絡(luò)的權(quán)值和閾值,從而使網(wǎng)絡(luò)的誤差平方和達到最小[9]。BP 神經(jīng)網(wǎng)絡(luò)拓撲結(jié)構(gòu)可分為3層,分別是輸入層、隱藏層以及輸出層。其中,隱藏層的神經(jīng)元個數(shù)計算公式為:
式中:m為輸入層節(jié)點的個數(shù),n為輸出層節(jié)點的個數(shù),a一般取1 ~10 內(nèi)的整數(shù)。隱藏層的個數(shù)越多,誤差范圍越小。
遺傳算法是模擬達爾文生物進化論中自然選擇和遺傳學(xué)機理等生物進化過程的計算模型,是一種通過模擬自然進化過程搜索最優(yōu)解的方法。依據(jù)BP 神經(jīng)網(wǎng)絡(luò)的拓撲結(jié)構(gòu),確定優(yōu)化BP 神經(jīng)網(wǎng)絡(luò)權(quán)值閾值的參數(shù)個數(shù),從而確定遺傳算法中個體的編碼長度,再根據(jù)適應(yīng)度函數(shù)計算個體的適應(yīng)值,經(jīng)過選擇、交叉、變異操作得到最優(yōu)的權(quán)值閾值。
1.2.1 輪盤賭算法
輪盤賭算法是為了防止適應(yīng)度數(shù)值較小群體中的個體被直接淘汰而提出的,每一個個體被選中的概率與其適應(yīng)度函數(shù)值大小成正比關(guān)系。適應(yīng)度數(shù)值越高,它被選中的概率就越大。設(shè)某一個體xi的適應(yīng)度值為f(xi),則部分被選中的概率為:
累計概率為:
式中:xi和xj都表示某個個體。
首先,計算每個部分的被選中概率p(xi)和累積概率q(xi)。其次,隨機生成一個數(shù)組m,數(shù)組m中的元素取值范圍為[0,1]。若累積概率q(xi)大于數(shù)組中的元素m[i],則個體xi被選中;若小于m[i],則比較下一個個體xi+1,直至選出一個個體為止。最后,若需要選擇N個個體,則將上述步驟重復(fù)N次即可。
1.2.2 兩點交叉算法
兩點交叉是指在個體染色體中隨機設(shè)置兩個交叉點,然后進行部分基因交換。先從編碼串中不定向選出兩個交叉點,再對兩個交叉點進行部分染色體交叉,交叉后產(chǎn)生新個體,如圖1 所示。其中,左側(cè)為交叉前的個體,右側(cè)為兩點交叉后產(chǎn)生的新個體。
圖1 兩點交叉示例
1.2.3 高斯變異
高斯變異是指進行變異操作時,用符合均值為μ、方差為S2的正態(tài)分布的一個隨機數(shù)替代原有的基因值。根據(jù)正態(tài)分布的特性,高斯變異重點搜索原個體附近的某個局部區(qū)域。高斯概率密度公式為:
其中,標準高斯概率密度的μ和S分別設(shè)置為0 和1。高斯變異不僅提高了優(yōu)化算法的優(yōu)化精度,而且有利于跳出局部最優(yōu)區(qū)域。
本文使用的電信流失客戶數(shù)據(jù)集來自Kaggle 平臺,共有7 043條用戶樣本,其中未流失客戶5 174人、流失客戶1 869 人。每條樣本包含21 列電信客戶特征,特征信息可分為客戶基本信息、開通業(yè)務(wù)信息、簽署的合約信息以及目標變量。遺傳算法優(yōu)化BP 神經(jīng)網(wǎng)絡(luò)的電信客戶流失模型如圖2 所示。
圖2 遺傳算法優(yōu)化BP 神經(jīng)網(wǎng)絡(luò)的電信客戶流失模型
讀取電信客戶流失數(shù)據(jù)并進行特征提取,特征提取過程包括可視化分析、皮爾遜相關(guān)系數(shù)判斷、獨熱編碼處理以及歸一化處理。電信客戶流失數(shù)據(jù)信息特征如表1 所示。
表1 電信客戶流失數(shù)據(jù)信息特征
皮爾遜相關(guān)系數(shù)(Pearson correlation coefficient,PCCs)又稱皮爾遜積矩相關(guān)系數(shù),兩個變量之間的皮爾遜相關(guān)系數(shù)定義為兩個變量之間的協(xié)方差和標準差的商,取值范圍為[-1,1][10]。根據(jù)電信客戶流失數(shù)據(jù)信息,TotalCharges、Tenure 以及MonthlyCharges特征為數(shù)值特征,對這3 列特征建立皮爾遜相關(guān)系數(shù)矩陣,如圖3 所示。
圖3 皮爾遜相關(guān)系數(shù)矩陣
由圖3 可知,TotalCharges 與Tenure、Monthly Charges 相關(guān)性較大,相關(guān)系數(shù)超過0.6,容易引起預(yù)測結(jié)果降低,故刪除TotalCharges 冗余特征?;谶z傳算法優(yōu)化BP 神經(jīng)網(wǎng)絡(luò)的電信客戶流失預(yù)測中,將電信客戶流失真實值分別與BP 模型預(yù)測值、遺傳算法優(yōu)化BP 模型(GABP)的預(yù)測值進行對比,結(jié)果如圖4 所示。
圖4 BP 模型與遺傳算法優(yōu)化BP 模型的預(yù)測值和真實值對比
電信客戶流失數(shù)據(jù)經(jīng)歸一化處理后的目標變量存在兩個數(shù)值1 和0,其中1 表示流失的客戶,0 表示未流失的客戶。根據(jù)圖4,基于遺傳算法優(yōu)化BP 神經(jīng)網(wǎng)絡(luò)的電信客戶流失預(yù)測值比基于BP神經(jīng)網(wǎng)絡(luò)的電信客戶流失模型的預(yù)測值更接近于真實值。BP 模型與遺傳算法優(yōu)化BP 模型的預(yù)測值和真實值誤差對比如圖4 所示。
模型預(yù)測值與真實值的誤差越接近0,模型效果越好。當誤差為0,表示預(yù)測值等于真實值。由圖5 可知,基于遺傳算法優(yōu)化BP 神經(jīng)網(wǎng)絡(luò)的電信客戶流失預(yù)測誤差比基于BP 神經(jīng)網(wǎng)絡(luò)的電信客戶流失預(yù)測誤差更接近于0,表示遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的模型效果好于單獨的BP 神經(jīng)網(wǎng)絡(luò)模型。將兩種模型的平均絕對誤差(Mean Absolute Error,MAE)和均方根誤差(Root Mean Square Error,RMSE)進行對比,MAE 和RMAE 的值越小越好,具體結(jié)果如表2 所示。
圖5 BP 模型與遺傳算法優(yōu)化BP 模型的預(yù)測值和真實值誤差對比
表2 模型對比分析
根據(jù)表2,GABP 模型的準確率高于BP 模型的準確率,在電信客戶流失預(yù)測中具有更優(yōu)的效果。
通過遺傳算法優(yōu)化BP 神經(jīng)網(wǎng)絡(luò)來構(gòu)建電信客戶流失模型,采用數(shù)據(jù)可視化分析法去除冗余特征,同時運用皮爾遜相關(guān)系數(shù)去除相關(guān)系數(shù)較大的特征,提高了數(shù)據(jù)預(yù)測的精準性。運用遺傳算法優(yōu)化BP 神經(jīng)網(wǎng)絡(luò)的權(quán)值閾值,其結(jié)果優(yōu)于傳統(tǒng)BP 神經(jīng)網(wǎng)絡(luò),提高了電信客戶流失的分類準確率和預(yù)測精準性,具有一定的使用價值。